Red Hat Bugzilla – Bug 63890
Undeclared symbols encountered during compile
Last modified: 2007-04-18 12:42:13 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020313
Description of problem:
The source rpm XFree86-4.2.0-6.62 won't rebuild due to undeclared symbols.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. rpm --rebuild --target i686 XFree86-4.2.0-6.62
Actual Results: g++ -Wall -pedantic -I/usr/include/freetype2/. -O2 -march=i686
-c ttf.cpp -fPIC -DPIC -o .libs/ttf.lo
ttf.cpp: In method `ttf::Face::Face (const string &)':
ttf.cpp:88: `FT_Err_Post_Table_Missing' undeclared (first use this
ttf.cpp:88: (Each undeclared identifier is reported only once for each
function it appears in.)
ttf.cpp:92: `FT_Err_Table_Missing' undeclared (first use this function)
ttf.cpp: In method `const char *ttf::Face::Weight () const':
ttf.cpp:519: warning: `const char *result' might be used uninitialized
in this function
ttf.cpp: In method `const char *ttf::Face::Width () const':
ttf.cpp:600: warning: `const char *result' might be used uninitialized
in this function
make: *** [ttf.o] Error 1
make: Leaving directory `/home/david/rpm/BUILD/XFree86-4.2.0/ttmkfdir2'
This probably is due to standards compliance patches for gcc 3 perhaps.
If you're rebuilding it in a pure Red Hat Linux 7.2 environment, it may
not rebuild cleanly at all. I am able to rebuild the package for i686,
so there is definitely something different in our two environments.
yshao - can you comment on this, since it is failing in ttmkfdir C++
/me who regrets moving ttmkfdir to the XFree86 packaging
If the build works for you, in which file and package are the symbols declared?
I have no idea personally. The package builds in the rawhide build
environment. If you have skipjack beta installed, and have got all
rawhide updates applied since skipjack, the package builds. If it fails
to build in any other environment, it is not officially considered
a bug, however generally any minor build issues will also be fixed
in future builds if someone can point out what the problems are and/or
attach patches which both fix them, and don't cause it to break in
the supported environment.
I am guessing that what you are seeing is either:
1) A missing BuildRequires somewhere
2) One of the patches being applied for gcc 3 or somesuch is causing the
build to fail in whatever your build environment is
One of my build machines is running RHL 7.0, and another 7.1. Another
system runs 7.2. All three systems are stock Red Hat Linux plus
updates as a base. The 7.0 system includes various updated software
from 7.1/7.2/rawhide as needed. All three systems rebuild the src.rpm
I don't know if this is a bug, or if it is merely a problem with your
particular build environment. Try commenting out the gcc3 patch
for ttmkfdir is my suggestion. If that doesn't work, then perhaps
yshao has something else to suggest.
Other than that, I'd suggest upgrading to Skipjack + rawhide updates.
C'mon, you know you want to.. everyone is doing it... peer pressure....
Well yes, obvioulsy there's a BuildRequires missing somewhere. I'd rather
upgrade as little as possible, but in the SPEC-file I found this section:
# This MUST be set to 0 for 7.x builds. If it is set to 1, change it to 0,
# as I sometimes need to set it to 1 while doing developmental testing.
%define with_ttmkfdir 1
So I changed it to 0, and then I at least got the packages. Could it be so that
this ttmkfdir never did work?
I'm still curious to see where those symbols are included from, but I rather
upgrade as little as possible and I guess you have better things to do as well
then tracing a preprocessor anyway (-:
Closing bug as NOTABUG