--- Begin Message ---
Package: buffy
Version: 0.11.3-1
Usertags: ftbfs-gcc-4.3
Tags: patch
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). Some background of this can be found at
http://gcc.gnu.org/PR28080
You can reproduce this problem with gcc-snapshot from unstable.
> Automatic build of buffy_0.11.3-1 on em64t by sbuild/amd64 0.53
...
> Environment.cc:103: warning: missing sentinel in function call
> Environment.cc:109: error: 'exit' was not declared in this scope
> Environment.cc: In function 'void fatal_error(const char*, ...)':
> Environment.cc:122: error: 'exit' was not declared in this scope
> make[3]: *** [buffy-Environment.o] Error 1
> make[3]: Leaving directory `/build/tbm/buffy-0.11.3/src'
--- Environment.cc~ 2007-04-01 16:26:55.000000000 +0000
+++ Environment.cc 2007-04-01 16:27:04.000000000 +0000
@@ -5,6 +5,7 @@
#include "Environment.h"
#include <wibble/exception.h>
+#include <cstdlib>
#include <sys/types.h> // fork, stat, utimes
#include <unistd.h> // fork, execl, isatty, pipe
#include <sys/stat.h> // stat
Unfortunately we still fail with:
/usr/lib/gcc-snapshot/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -DPNG_NO_MMX_CODE
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include
-I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/glibmm-2.4
-I/usr/lib/glibmm-2.4/include -I/usr/include/gdkmm-2.4
-I/usr/lib/gdkmm-2.4/include -I/usr/include/pangomm-1.4
-I/usr/include/atkmm-1.6 -I/usr/include/libxml++-2.6 -I/usr/include/libxml2
-I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include
-I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/include/boost-1_33_1/
-I/usr/include/boost-1_33_1/ -g -Wall -O2 -Wall -c -o buffy-Environment.o
`test -f 'Environment.cc' || echo './'`Environment.cc
In file included from /usr/include/sigc++-2.0/sigc++/sigc++.h:23,
from Environment.h:6,
from Environment.cc:5:
/usr/include/sigc++-2.0/sigc++/signal.h:1675: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, sigc::nil, sigc::nil, sigc::nil,
sigc::nil, sigc::nil, sigc::nil, sigc::nil> > sigc::signal0<T_return,
T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, sigc::nil,
sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:1784: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil,
sigc::nil, sigc::nil, sigc::nil, sigc::nil> > sigc::signal1<T_return, T_arg1,
T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1,
sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:1895: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2, sigc::nil,
sigc::nil, sigc::nil, sigc::nil, sigc::nil> > sigc::signal2<T_return, T_arg1,
T_arg2, T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2,
sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:2008: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2, T_arg3, sigc::nil,
sigc::nil, sigc::nil, sigc::nil> > sigc::signal3<T_return, T_arg1, T_arg2,
T_arg3, T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2,
T_arg3, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:2123: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4,
sigc::nil, sigc::nil, sigc::nil> > sigc::signal4<T_return, T_arg1, T_arg2,
T_arg3, T_arg4, T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2,
T_arg3, T_arg4, sigc::nil, sigc::nil, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:2240: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4,
T_arg5, sigc::nil, sigc::nil> > sigc::signal5<T_return, T_arg1, T_arg2, T_arg3,
T_arg4, T_arg5, T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2,
T_arg3, T_arg4, T_arg5, sigc::nil, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:2359: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4,
T_arg5, T_arg6, sigc::nil> > sigc::signal6<T_return, T_arg1, T_arg2, T_arg3,
T_arg4, T_arg5, T_arg6, T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2,
T_arg3, T_arg4, T_arg5, T_arg6, sigc::nil> >'
/usr/include/sigc++-2.0/sigc++/signal.h:2480: error: declaration of 'typedef
struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4,
T_arg5, T_arg6, T_arg7> > sigc::signal7<T_return, T_arg1, T_arg2, T_arg3,
T_arg4, T_arg5, T_arg6, T_arg7, T_accumulator>::slot_list'
/usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of
'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, T_arg1, T_arg2,
T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> >'
Environment.cc: In member function 'void Environment::spawnCommand(const
std::string&)':
Environment.cc:104: warning: missing sentinel in function call
make: *** [buffy-Environment.o] Error 1
--
Martin Michlmayr
http://www.cyrius.com/
--- End Message ---