[pkg-fgfs-crew] Bug#505019: FTBFS with GCC 4.4: missing #include; breaks flightgear
Martin Michlmayr
tbm at cyrius.com
Sat Nov 8 16:51:11 UTC 2008
Package: simgear
Version: 1.0.0-4
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-4.4
Tags: patch
Severity: important
Your package fails to build with the upcoming GCC 4.4. Version 4.4
has not been released yet but I'm building with a snapshot in order
to find errors and give people an advance warning.
GCC 4.4 cleaned up some more C++ headers. You always have to #include
headers directly and cannot rely for things to be included indirectly.
This breaks other packages (e.g. flightgear) since the problem is in
an exported header.
You can reproduce this problem with gcc-snapshot from unstable.
> Automatic build of simgear_1.0.0-4 on em64t by sbuild/amd64 0.53
...
> if g++ -DHAVE_CONFIG_H -I. -I. -I../../simgear -I../.. -fPIC -pipe -O2 -g -D_REENTRANT -MT logstream.o -MD -MP -MF ".deps/logstream.Tpo" -c -o logstream.o logstream.cxx; \
> then mv -f ".deps/logstream.Tpo" ".deps/logstream.Po"; else rm -f ".deps/logstream.Tpo"; exit 1; fi
> In file included from logstream.cxx:23:
> logstream.hxx: In member function 'virtual int logbuf::overflow(int)':
> logstream.hxx:207: error: 'EOF' was not declared in this scope
> make[4]: *** [logstream.o] Error 1
> make[4]: Leaving directory `/build/tbm/simgear-1.0.0/simgear/debug'
> make[3]: *** [all-recursive] Error 1
--- debug/logstream.hxx~ 2008-11-08 16:37:26.000000000 +0000
+++ debug/logstream.hxx 2008-11-08 16:37:54.000000000 +0000
@@ -32,9 +32,11 @@
#endif
#ifdef SG_HAVE_STD_INCLUDES
+# include <cstdio>
# include <streambuf>
# include <iostream>
#else
+# include <cstdio.h>
# include <iostream.h>
# include <simgear/sg_traits.hxx>
#endif
--
Martin Michlmayr
http://www.cyrius.com/
More information about the pkg-fgfs-crew
mailing list