Bug#455178: FTBFS with GCC 4.3: missing #includes
Package: unalz
Version: 0.55-4
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://www.cyrius.com/journal/2007/05/10#gcc-4.3-include
You can reproduce this problem with gcc-snapshot from unstable. Note
that Red Hat, Novell and Ubuntu have done some work getting packages
to build with GCC 4.3 so there might be patches floating around
somewhere. I suggest you talk to your upstream.
> Automatic build of unalz_0.55-4 on em64t by sbuild/amd64 0.53
...
> g++ -Wall -g -O2 -c -o main.o main.cpp
> In file included from main.cpp:11:
> UnAlz.h: In constructor 'UNALZ::SLocalFileHeader::SLocalFileHeader()':
> UnAlz.h:271: error: 'memset' was not declared in this scope
> UnAlz.h: In constructor 'UNALZ::SCentralDirectoryStructure::SCentralDirectoryStructure()':
> UnAlz.h:318: error: 'memset' was not declared in this scope
> UnAlz.h: In member function 'void UNALZ::CUnAlz::setPassword(char*)':
> UnAlz.h:381: error: 'strlen' was not declared in this scope
> UnAlz.h:381: error: 'strcpy' was not declared in this scope
> UnAlz.h: In constructor 'UNALZ::CUnAlz::SExtractDest::SExtractDest()':
> UnAlz.h:483: error: 'memset' was not declared in this scope
> UnAlz.h: In member function 'int UNALZ::CUnAlz::getPasswordLen()':
> UnAlz.h:517: error: 'strlen' was not declared in this scope
> main.cpp: In function 'int main(int, char**)':
> main.cpp:142: warning: deprecated conversion from string constant to 'char*'
> main.cpp:209: error: 'strcmp' was not declared in this scope
> main.cpp:143: warning: unused variable 'destcodepage'
> make[1]: *** [main.o] Error 1
--
Martin Michlmayr
http://www.cyrius.com/
Reply to: