Bug#462426: FTBFS with GCC 4.3: missing #includes

Martin Michlmayr tbm at cyrius.com
Thu Jan 24 19:32:52 UTC 2008


Package: warzone2100
Version: 2.1.0~0.svn3330-1
Severity: important
Usertags: ftbfs-gcc-4.3

Your package fails to build with GCC 4.3.  Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning.  In GCC 4.3, the C++ header
dependencies have been cleaned up.  The advantage of this is that
programs will compile faster.  The downside is that you actually
need to directly #include everything you use (but you really should
do this anyway, otherwise your program won't work with any compiler
other than GCC).  There's some more information about this at
http://gcc.gnu.org/gcc-4.3/porting_to.html

You can reproduce this problem with gcc-4.3 or gcc-snapshot from
unstable.

> Automatic build of warzone2100_2.1.0~0.svn3330-1 on em64t by sbuild/amd64 0.53
...
> make[1]: Entering directory `/build/tbm/warzone2100-2.1.0~0.svn3330/build_tools'
> Making all in autorevision
> make[2]: Entering directory `/build/tbm/warzone2100-2.1.0~0.svn3330/build_tools/autorevision'
> x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../..   -I../..  -g -O2 -MT autorevision.o -MD -MP -MF .deps/autorevision.Tpo -c -o autorevision.o autorevision.cpp
> autorevision.cpp: In function 'int main(int, char**)':
> autorevision.cpp:218: error: 'strcmp' was not declared in this scope
> autorevision.cpp: In member function 'virtual bool RevSVNQuery::extractRevision(RevisionInformation&)':
> autorevision.cpp:365: error: 'strlen' was not declared in this scope
> autorevision.cpp:371: error: 'strlen' was not declared in this scope
> autorevision.cpp:375: error: 'strlen' was not declared in this scope
> autorevision.cpp:381: error: 'strlen' was not declared in this scope
> autorevision.cpp: In member function 'virtual bool RevFileParse::extractRevision(RevisionInformation&)':
> autorevision.cpp:428: error: 'strlen' was not declared in this scope
> autorevision.cpp: In member function 'virtual bool RevConfigFile::extractRevision(RevisionInformation&)':
> autorevision.cpp:451: error: 'strlen' was not declared in this scope
> make[2]: *** [autorevision.o] Error 1
> make[2]: Leaving directory `/build/tbm/warzone2100-2.1.0~0.svn3330/build_tools/autorevision'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/build/tbm/warzone2100-2.1.0~0.svn3330/build_tools'
> make[1]: Entering directory `/build/tbm/warzone2100-2.1.0~0.svn3330/win32'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/build/tbm/warzone2100-2.1.0~0.svn3330/win32'

Another problem is that the build doesn't fail even though it fails to
compile this file!
-- 
Martin Michlmayr
http://www.cyrius.com/





More information about the Pkg-games-devel mailing list