Bug#456041: FTBFS with GCC 4.3: missing #includes
Martin Michlmayr
tbm at cyrius.com
Thu Dec 13 03:07:03 UTC 2007
Package: boinc
Version: 5.10.30-1
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 boinc_5.10.30-1 on em64t by sbuild/amd64 0.53
...
> Making all in api
> make[3]: Entering directory `/build/tbm/boinc-5.10.30/api'
> if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -pthread -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -pthread -g -Wall -O3 -I/usr/include -I/usr/include/openssl -pthread -MT boinc_api.o -MD -MP -MF ".deps/boinc_api.Tpo" -c -o boinc_api.o boinc_api.C; \
> then mv -f ".deps/boinc_api.Tpo" ".deps/boinc_api.Po"; else rm -f ".deps/boinc_api.Tpo"; exit 1; fi
> In file included from boinc_api.C:47:
> ../lib/parse.h: In function 'bool match_tag(const char*, const char*)':
> ../lib/parse.h:64: error: 'strstr' was not declared in this scope
> ../lib/parse.h: In function 'bool parse_int(const char*, const char*, int&)':
> ../lib/parse.h:77: error: 'strstr' was not declared in this scope
> ../lib/parse.h:79: error: 'strlen' was not declared in this scope
> ../lib/parse.h: In function 'bool parse_double(const char*, const char*, double&)':
> ../lib/parse.h:87: error: 'strstr' was not declared in this scope
> ../lib/parse.h:89: error: 'strlen' was not declared in this scope
> make[3]: *** [boinc_api.o] Error 1
> make[3]: Leaving directory `/build/tbm/boinc-5.10.30/api'
> make[2]: *** [all-recursive] Error 1
--
Martin Michlmayr
http://www.cyrius.com/
More information about the pkg-boinc-devel
mailing list