[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: