[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