Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: xpdf & SplashFTFont
Date: Tue, 23 Aug 2005 18:38:45
Message-Id: pan.2005.08.23.18.33.23.323944@cox.net
In Reply to: [gentoo-amd64] xpdf & SplashFTFont by Pete Pardoe
1 Pete Pardoe posted <6c6bf172050823095740760c0d@××××××××××.com>, excerpted
2 below, on Tue, 23 Aug 2005 13:57:19 -0300:
3
4 > I get the following errors when I try to emerge xpdf - any insight
5 > would be greatly appreciated.
6 > ------------------------------------------------------------------
7 >
8 > x86_64-pc-linux-gnu-g++ -O2 -march=k8 -pipe -DHAVE_CONFIG_H -I..
9 > -I./../goo -I./../fofi -I. -c SplashFTFont.cc
10 > SplashFTFont.cc:15:30: freetype/ftoutln.h: No such file or directory
11 > SplashFTFont.cc:16:69: freetype/internal/ftobjs.h: No such file or directory
12 > In file included from SplashFTFont.cc:21:
13 > SplashFTFontEngine.h:48: error: `FT_Library' has not been declared
14 > SplashFTFontEngine.h:48: error: ISO C++ forbids declaration of `libA'
15 > with no type
16 > SplashFTFontEngine.h:51: error: `FT_Library' does not name a type
17 > In file included from SplashFTFont.cc:22:
18 > SplashFTFontFile.h:56: error: `FT_Face' has not been declared
19 > SplashFTFontFile.h:57: error: ISO C++ forbids declaration of `faceA'
20 > with no type
21 > SplashFTFontFile.h:60: error: `FT_Face' does not name a type
22 > In file included from SplashFTFont.cc:23:
23 > SplashFTFont.h:48: error: `FT_Size' does not name a type
24 > SplashFTFont.h:49: error: `FT_Matrix' does not name a type
25 > SplashFTFont.cc:27: error: `FT_Vector' was not declared in this scope
26 > SplashFTFont.cc:27: error: `pt' was not declared in this scope
27 > SplashFTFont.cc:27: error: expected primary-expression before "void"
28 > SplashFTFont.cc:27: error: initializer expression list treated as
29 > compound expression
30 [major snip]
31 > make[1]: Leaving directory
32 > `/var/tmp/portage/xpdf-3.00-r10/work/xpdf-3.00/splash'
33 > ----------------------------------------------------------------------
34 > I did an emerge -S splashftfont and found nothing. And I did a find
35 > on my system with the same result.
36
37 You are misunderstanding the errors. The x86_64...g++ line at the top
38 says what's being compiled, the source file SplashFTFont.cc. Immediately
39 below that, we have the errors starting. They list the file, the line
40 number in the file where the error occurred, and sometimes (as at the
41 top), the approximate column in the line.
42
43 *.cc files are C++ source files. *.h files are the headers, defining
44 variable and procedure call formats and the like. Thus, it's saying that
45 the source file specifies (giving the line where they are specified)
46 certain header files it can't find, in this case, header files having to
47 do with freetype. With the definitions from those header files missing,
48 all the bad type and not declared type errors aren't a mystery, because
49 they'd presumably be declared in the missing header files.
50
51 Then, down at the bottom, the "Leaving directory" line tells you which
52 specific temporary package working sub-directory it was in, when the
53 errors happened. That way, if you want to go take a look at the mentioned
54 file and find the line that had the problem, you can. Sometimes that
55 helps, altho it's not likely to be that much help here, because the
56 problem is obvious -- it can't find the header files it needs.
57
58 So... it's not a font that's missing, tho I can see how you might think
59 that if you didn't understand the way the error messages "talk", but
60 rather, either a missing freetype, or you have it installed, but the make
61 file (and therefore the ebuild, which should set it up) isn't configured
62 to point to the right spot.
63
64 Here's what I have here for the one missing header file:
65
66 $ equery belongs ftoutln.h
67
68 [ Searching for file(s) ftoutln.h in *... ]
69 media-libs/freetype-2.1.10 (/usr/include/freetype2/freetype/ftoutln.h)
70
71 That tells you what package it's in, and where it's located in the
72 directory tree. See if that package (that or a different version, not
73 that I'm on ~amd64, here, so your version may be older) is merged, and if
74 that header file exists at that location. If you don't have the freetype
75 package merged, the bug is likely a missing dependency or the like,
76 probably in xpdf. If the package is merged but the file doesn't exist, use
77 equery files freetype (grepping the output if needed), to see if the file
78 was in the package at all -- the bug may be in your freetype package if
79 not. If the file exists and simply isn't being detected, the bug is again
80 probably in your xpdf package, this time, probably either due to a missing
81 or incorrect path parameter telling the compile where to find the headers
82 it needs, or to some sort of screwed up logic with USE flags or something,
83 so it's trying to compile in support for something (the truetype USE
84 flag, maybe?) that should be turned off.
85
86 FWIW, you already know what freetype I have merged here, from the above
87 equery output. My successfully merged xpdf is xpdf-3.00-r10.
88
89 The problem could also be a bit more obscure -- something like a bad
90 binutils or the like. Note that here, in addition to running all ~arch,
91 I'm also running gcc-4.0.1, with related binutils and glibc snapshots,
92 all still hard-masked, AFAIK. Thus, if it's some obscure toolchain bug
93 that happens to be fixed in the newest masked versions, I may not see it.
94
95 --
96 Duncan - List replies preferred. No HTML msgs.
97 "Every nonfree program has a lord, a master --
98 and if you use the program, he is your master." Richard Stallman in
99 http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html
100
101
102 --
103 gentoo-amd64@g.o mailing list