Bug#462203: FTBFS with GCC 4.3: missing #includes
Package: briquolo
Version: 0.5.6-2
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 briquolo_0.5.6-2 on em64t by sbuild/amd64 0.53
...
> if x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -DSRCTOPDIR=\"/build/tbm/briquolo-0.5.6\" -DDATADIR_BRIQUOLO=\"/usr/share/games/briquolo\" -INONE -O3 -Wall -I/usr/include/freetype2 -I/usr/include/libpng12 -DPNG_NO_MMX_CODE -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT MOGL_EnsembleObjet.o -MD -MP -MF ".deps/MOGL_EnsembleObjet.Tpo" -c -o MOGL_EnsembleObjet.o MOGL_EnsembleObjet.cpp; \
> then mv -f ".deps/MOGL_EnsembleObjet.Tpo" ".deps/MOGL_EnsembleObjet.Po"; else rm -f ".deps/MOGL_EnsembleObjet.Tpo"; exit 1; fi
> MOGL_EnsembleObjet.cpp: In member function 'bool MOGL_EnsembleObjet::Charger(char*, MOGL_GestionnaireTexture)':
> MOGL_EnsembleObjet.cpp:65: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:101: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp:106: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:143: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp:149: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:158: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:170: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:178: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp:184: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp: In member function 'bool MOGL_EnsembleObjet::ChargerArmaturePeau(char*, MOGL_GestionnaireTexture)':
> MOGL_EnsembleObjet.cpp:289: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:333: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp:338: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:346: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:352: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:368: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:374: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:395: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:417: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:468: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:482: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:490: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp:500: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:519: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp: In member function 'bool MOGL_EnsembleObjet::ChargerAnimation(char*, char*)':
> MOGL_EnsembleObjet.cpp:613: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:632: error: 'strncpy' was not declared in this scope
> MOGL_EnsembleObjet.cpp:641: error: 'strncmp' was not declared in this scope
> MOGL_EnsembleObjet.cpp:671: error: 'strncmp' was not declared in this scope
> make[4]: *** [MOGL_EnsembleObjet.o] Error 1
> make[4]: Leaving directory `/build/tbm/briquolo-0.5.6/src/MOGL'
--
Martin Michlmayr
http://www.cyrius.com/
Reply to: