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 |