After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 152327 - compile fails in gcc 3.4.2 on test_lambda.cc
compile fails in gcc 3.4.2 on test_lambda.cc
Status: RESOLVED FIXED
Product: libsigc++
Classification: Bindings
Component: tests
2.0
Other Linux
: Normal blocker
: ---
Assigned To: Martin Schulze
Martin Schulze
: 152150 152425 153143 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-09-10 21:52 UTC by Robert Ball
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test case (27 bytes, text/plain)
2004-09-15 12:26 UTC, Dimitri Papadopoulos
Details
compile-time errors in sigc++ headers (2.02 KB, text/plain)
2004-09-15 12:27 UTC, Dimitri Papadopoulos
Details

Description Robert Ball 2004-09-10 21:52:51 UTC
using gcc 3.4.2 
 
./configure 
make 
 
here's the .configure & make output: 
 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking build system type... i686-pc-linux-gnu 
checking host system type... i686-pc-linux-gnu 
checking for gm4... no 
checking for m4... m4 
checking for perl... /usr/local/bin/perl 
checking whether to enable maintainer-specific portions of Makefiles... no 
checking for gcc... gcc 
checking for C compiler default output file name... a.out 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables...  
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ANSI C... none needed 
checking for style of include used by make... GNU 
checking dependency style of gcc... gcc3 
checking how to run the C preprocessor... gcc -E 
checking for some Win32 platform... no 
checking for a sed that does not truncate output... /usr/bin/sed 
checking for egrep... grep -E 
checking for ld used by gcc... /usr/bin/ld 
checking if the linker (/usr/bin/ld) is GNU ld... yes 
checking for /usr/bin/ld option to reload object files... -r 
checking for BSD-compatible nm... /usr/bin/nm -B 
checking whether ln -s works... yes 
checking how to recognise dependent libraries... pass_all 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking dlfcn.h usability... yes 
checking dlfcn.h presence... yes 
checking for dlfcn.h... yes 
checking for g++... g++ 
checking whether we are using the GNU C++ compiler... yes 
checking whether g++ accepts -g... yes 
checking dependency style of g++... gcc3 
checking how to run the C++ preprocessor... g++ -E 
checking for g77... g77 
checking whether we are using the GNU Fortran 77 compiler... yes 
checking whether g77 accepts -g... yes 
checking the maximum length of command line arguments... 32768 
checking command to parse /usr/bin/nm -B output from gcc object... ok 
checking for objdir... .libs 
checking for ar... ar 
checking for ranlib... ranlib 
checking for strip... strip 
checking if gcc static flag  works... yes 
checking if gcc supports -fno-rtti -fno-exceptions... no 
checking for gcc option to produce PIC... -fPIC 
checking if gcc PIC flag -fPIC works... yes 
checking if gcc supports -c -o file.o... yes 
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes 
checking whether -lc should be explicitly linked in... no 
checking dynamic linker characteristics... GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
checking if libtool supports shared libraries... yes 
checking whether to build shared libraries... yes 
checking whether to build static libraries... yes 
configure: creating libtool 
appending configuration tag "CXX" to libtool 
checking for ld used by g++... /usr/bin/ld 
checking if the linker (/usr/bin/ld) is GNU ld... yes 
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes 
checking for g++ option to produce PIC... -fPIC 
checking if g++ PIC flag -fPIC works... yes 
checking if g++ supports -c -o file.o... yes 
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes 
checking dynamic linker characteristics... GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
appending configuration tag "F77" to libtool 
checking if libtool supports shared libraries... yes 
checking whether to build shared libraries... yes 
checking whether to build static libraries... yes 
checking for g77 option to produce PIC... -fPIC 
checking if g77 PIC flag -fPIC works... yes 
checking if g77 supports -c -o file.o... yes 
checking whether the g77 linker (/usr/bin/ld) supports shared libraries... yes 
checking dynamic linker characteristics... GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
checking whether we are using the GNU C++ compiler... (cached) yes 
checking whether g++ accepts -g... (cached) yes 
checking dependency style of g++... (cached) gcc3 
checking if C++ compiler supports the use of a particular specialization when 
calling operator() template methods.... yes 
checking if C++ compiler supports the use of a particular specialization when 
calling operator() template methods omitting the template keyword.... yes 
configure: creating ./config.status 
config.status: creating Makefile 
config.status: creating sigc++-2.0.pc 
config.status: creating sigc++/Makefile 
config.status: creating scripts/Makefile 
config.status: creating tests/Makefile 
config.status: creating examples/Makefile 
config.status: creating MSVC_Net2003/Makefile 
config.status: creating libsigc++-2.0.spec 
config.status: creating docs/Makefile 
config.status: creating docs/images/Makefile 
config.status: creating docs/reference/Makefile 
config.status: creating docs/reference/Doxyfile 
config.status: creating sigc++config.h 
config.status: executing depfiles commands 
 
#:/usr/local/src/libsigc++/libsigc++-2.0.5 # make 
make  all-recursive 
make[1]: Entering directory `/usr/local/src/libsigc++/libsigc++-2.0.5' 
Making all in sigc++ 
make[2]: Entering directory `/usr/local/src/libsigc++/libsigc++-2.0.5/sigc++' 
make  all-am 
make[3]: Entering directory `/usr/local/src/libsigc++/libsigc++-2.0.5/sigc++' 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT signal.lo -MD -MP -MF ".deps/signal.Tpo" -c -o signal.lo signal.cc; \ 
then mv -f ".deps/signal.Tpo" ".deps/signal.Plo"; else rm -f 
".deps/signal.Tpo"; exit 1; fi 
mkdir .libs 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT signal.lo -MD -MP 
-MF .deps/signal.Tpo -c signal.cc  -fPIC -DPIC -o .libs/signal.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT signal.lo -MD -MP 
-MF .deps/signal.Tpo -c signal.cc -o signal.o >/dev/null 2>&1 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT signal_base.lo -MD -MP -MF ".deps/signal_base.Tpo" -c -o signal_base.lo 
signal_base.cc; \ 
then mv -f ".deps/signal_base.Tpo" ".deps/signal_base.Plo"; else rm -f 
".deps/signal_base.Tpo"; exit 1; fi 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT signal_base.lo -MD -MP 
-MF .deps/signal_base.Tpo -c signal_base.cc  -fPIC -DPIC -o .libs/signal_base.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT signal_base.lo -MD -MP 
-MF .deps/signal_base.Tpo -c signal_base.cc -o signal_base.o >/dev/null 2>&1 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT trackable.lo -MD -MP -MF ".deps/trackable.Tpo" -c -o trackable.lo 
trackable.cc; \ 
then mv -f ".deps/trackable.Tpo" ".deps/trackable.Plo"; else rm -f 
".deps/trackable.Tpo"; exit 1; fi 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT trackable.lo -MD -MP 
-MF .deps/trackable.Tpo -c trackable.cc  -fPIC -DPIC -o .libs/trackable.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT trackable.lo -MD -MP 
-MF .deps/trackable.Tpo -c trackable.cc -o trackable.o >/dev/null 2>&1 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT connection.lo -MD -MP -MF ".deps/connection.Tpo" -c -o connection.lo 
connection.cc; \ 
then mv -f ".deps/connection.Tpo" ".deps/connection.Plo"; else rm -f 
".deps/connection.Tpo"; exit 1; fi 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT connection.lo -MD -MP 
-MF .deps/connection.Tpo -c connection.cc  -fPIC -DPIC -o .libs/connection.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT connection.lo -MD -MP 
-MF .deps/connection.Tpo -c connection.cc -o connection.o >/dev/null 2>&1 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT slot.lo -MD -MP -MF ".deps/slot.Tpo" -c -o slot.lo `test -f 
'functors/slot.cc' || echo './'`functors/slot.cc; \ 
then mv -f ".deps/slot.Tpo" ".deps/slot.Plo"; else rm -f ".deps/slot.Tpo"; exit 
1; fi 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT slot.lo -MD -MP -MF .deps/slot.Tpo -c 
functors/slot.cc  -fPIC -DPIC -o .libs/slot.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT slot.lo -MD -MP -MF .deps/slot.Tpo -c 
functors/slot.cc -o slot.o >/dev/null 2>&1 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT slot_base.lo -MD -MP -MF ".deps/slot_base.Tpo" -c -o slot_base.lo `test -f 
'functors/slot_base.cc' || echo './'`functors/slot_base.cc; \ 
then mv -f ".deps/slot_base.Tpo" ".deps/slot_base.Plo"; else rm -f 
".deps/slot_base.Tpo"; exit 1; fi 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT slot_base.lo -MD -MP 
-MF .deps/slot_base.Tpo -c functors/slot_base.cc  -fPIC -DPIC 
-o .libs/slot_base.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT slot_base.lo -MD -MP 
-MF .deps/slot_base.Tpo -c functors/slot_base.cc -o slot_base.o >/dev/null 2>&1 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H   -I.. -I..   -g -O2 
-MT lambda.lo -MD -MP -MF ".deps/lambda.Tpo" -c -o lambda.lo `test -f 
'adaptors/lambda/lambda.cc' || echo './'`adaptors/lambda/lambda.cc; \ 
then mv -f ".deps/lambda.Tpo" ".deps/lambda.Plo"; else rm -f 
".deps/lambda.Tpo"; exit 1; fi 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT lambda.lo -MD -MP 
-MF .deps/lambda.Tpo -c adaptors/lambda/lambda.cc  -fPIC -DPIC 
-o .libs/lambda.o 
 g++ -DHAVE_CONFIG_H -I.. -I.. -g -O2 -MT lambda.lo -MD -MP 
-MF .deps/lambda.Tpo -c adaptors/lambda/lambda.cc -o lambda.o >/dev/null 2>&1 
/bin/sh ../libtool --mode=link g++  -g -O2   -o libsigc-2.0.la 
-rpath /usr/local/lib  signal.lo signal_base.lo trackable.lo connection.lo 
slot.lo slot_base.lo lambda.lo   
g++ -shared 
-nostdlib /usr/lib/crti.o /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.2/crtbeginS.o  .libs/signal.o .libs/signal_base.o .libs/trackable.o .libs/connection.o .libs/slot.o .libs/slot_base.o .libs/lambda.o  
-L/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.2 
-L/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.2/../../.. /usr/local/lib/libstdc++.so 
-lm -lc 
-lgcc_s /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.2/crtendS.o /usr/lib/crtn.o  
-Wl,-soname -Wl,libsigc-2.0.so.0 -o .libs/libsigc-2.0.so.0.0.0 
(cd .libs && rm -f libsigc-2.0.so.0 && ln -s libsigc-2.0.so.0.0.0 
libsigc-2.0.so.0) 
(cd .libs && rm -f libsigc-2.0.so && ln -s libsigc-2.0.so.0.0.0 libsigc-2.0.so) 
ar cru .libs/libsigc-2.0.a  signal.o signal_base.o trackable.o connection.o 
slot.o slot_base.o lambda.o 
ranlib .libs/libsigc-2.0.a 
creating libsigc-2.0.la 
(cd .libs && rm -f libsigc-2.0.la && ln -s ../libsigc-2.0.la libsigc-2.0.la) 
make[3]: Leaving directory `/usr/local/src/libsigc++/libsigc++-2.0.5/sigc++' 
make[2]: Leaving directory `/usr/local/src/libsigc++/libsigc++-2.0.5/sigc++' 
Making all in tests 
make[2]: Entering directory `/usr/local/src/libsigc++/libsigc++-2.0.5/tests' 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_trackable.o -MD -MP -MF 
".deps/test_trackable.Tpo" -c -o test_trackable.o test_trackable.cc; \ 
then mv -f ".deps/test_trackable.Tpo" ".deps/test_trackable.Po"; else rm -f 
".deps/test_trackable.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_trackable  
test_trackable.o ../sigc++/libsigc-2.0.la  
mkdir .libs 
g++ -g -O2 -o .libs/test_trackable 
test_trackable.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_trackable 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_deduce_result_type.o -MD -MP 
-MF ".deps/test_deduce_result_type.Tpo" -c -o test_deduce_result_type.o 
test_deduce_result_type.cc; \ 
then mv -f ".deps/test_deduce_result_type.Tpo" 
".deps/test_deduce_result_type.Po"; else rm -f 
".deps/test_deduce_result_type.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_deduce_result_type  
test_deduce_result_type.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_deduce_result_type 
test_deduce_result_type.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_deduce_result_type 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_functor_trait.o -MD -MP -MF 
".deps/test_functor_trait.Tpo" -c -o test_functor_trait.o 
test_functor_trait.cc; \ 
then mv -f ".deps/test_functor_trait.Tpo" ".deps/test_functor_trait.Po"; else 
rm -f ".deps/test_functor_trait.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_functor_trait  
test_functor_trait.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_functor_trait 
test_functor_trait.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_functor_trait 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_mem_fun.o -MD -MP -MF 
".deps/test_mem_fun.Tpo" -c -o test_mem_fun.o test_mem_fun.cc; \ 
then mv -f ".deps/test_mem_fun.Tpo" ".deps/test_mem_fun.Po"; else rm -f 
".deps/test_mem_fun.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_mem_fun  
test_mem_fun.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_mem_fun test_mem_fun.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_mem_fun 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_ptr_fun.o -MD -MP -MF 
".deps/test_ptr_fun.Tpo" -c -o test_ptr_fun.o test_ptr_fun.cc; \ 
then mv -f ".deps/test_ptr_fun.Tpo" ".deps/test_ptr_fun.Po"; else rm -f 
".deps/test_ptr_fun.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_ptr_fun  
test_ptr_fun.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_ptr_fun test_ptr_fun.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_ptr_fun 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_slot.o -MD -MP -MF 
".deps/test_slot.Tpo" -c -o test_slot.o test_slot.cc; \ 
then mv -f ".deps/test_slot.Tpo" ".deps/test_slot.Po"; else rm -f 
".deps/test_slot.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_slot  
test_slot.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_slot test_slot.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_slot 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_signal.o -MD -MP -MF 
".deps/test_signal.Tpo" -c -o test_signal.o test_signal.cc; \ 
then mv -f ".deps/test_signal.Tpo" ".deps/test_signal.Po"; else rm -f 
".deps/test_signal.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_signal  
test_signal.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_signal test_signal.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_signal 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_accumulated.o -MD -MP -MF 
".deps/test_accumulated.Tpo" -c -o test_accumulated.o test_accumulated.cc; \ 
then mv -f ".deps/test_accumulated.Tpo" ".deps/test_accumulated.Po"; else rm -f 
".deps/test_accumulated.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_accumulated  
test_accumulated.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_accumulated 
test_accumulated.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_accumulated 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_disconnect.o -MD -MP -MF 
".deps/test_disconnect.Tpo" -c -o test_disconnect.o test_disconnect.cc; \ 
then mv -f ".deps/test_disconnect.Tpo" ".deps/test_disconnect.Po"; else rm -f 
".deps/test_disconnect.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_disconnect  
test_disconnect.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_disconnect 
test_disconnect.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_disconnect 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_disconnect_during_emit.o -MD 
-MP -MF ".deps/test_disconnect_during_emit.Tpo" -c -o 
test_disconnect_during_emit.o test_disconnect_during_emit.cc; \ 
then mv -f ".deps/test_disconnect_during_emit.Tpo" 
".deps/test_disconnect_during_emit.Po"; else rm -f 
".deps/test_disconnect_during_emit.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_disconnect_during_emit  
test_disconnect_during_emit.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_disconnect_during_emit 
test_disconnect_during_emit.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_disconnect_during_emit 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_bind.o -MD -MP -MF 
".deps/test_bind.Tpo" -c -o test_bind.o test_bind.cc; \ 
then mv -f ".deps/test_bind.Tpo" ".deps/test_bind.Po"; else rm -f 
".deps/test_bind.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_bind  
test_bind.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_bind test_bind.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_bind 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_bind_return.o -MD -MP -MF 
".deps/test_bind_return.Tpo" -c -o test_bind_return.o test_bind_return.cc; \ 
then mv -f ".deps/test_bind_return.Tpo" ".deps/test_bind_return.Po"; else rm -f 
".deps/test_bind_return.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_bind_return  
test_bind_return.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_bind_return 
test_bind_return.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_bind_return 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_retype_return.o -MD -MP -MF 
".deps/test_retype_return.Tpo" -c -o test_retype_return.o 
test_retype_return.cc; \ 
then mv -f ".deps/test_retype_return.Tpo" ".deps/test_retype_return.Po"; else 
rm -f ".deps/test_retype_return.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_retype_return  
test_retype_return.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_retype_return 
test_retype_return.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_retype_return 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_hide.o -MD -MP -MF 
".deps/test_hide.Tpo" -c -o test_hide.o test_hide.cc; \ 
then mv -f ".deps/test_hide.Tpo" ".deps/test_hide.Po"; else rm -f 
".deps/test_hide.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_hide  
test_hide.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_hide test_hide.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_hide 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_retype.o -MD -MP -MF 
".deps/test_retype.Tpo" -c -o test_retype.o test_retype.cc; \ 
then mv -f ".deps/test_retype.Tpo" ".deps/test_retype.Po"; else rm -f 
".deps/test_retype.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_retype  
test_retype.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_retype test_retype.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_retype 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_compose.o -MD -MP -MF 
".deps/test_compose.Tpo" -c -o test_compose.o test_compose.cc; \ 
then mv -f ".deps/test_compose.Tpo" ".deps/test_compose.Po"; else rm -f 
".deps/test_compose.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_compose  
test_compose.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_compose test_compose.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_compose 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_exception_catch.o -MD -MP -MF 
".deps/test_exception_catch.Tpo" -c -o test_exception_catch.o 
test_exception_catch.cc; \ 
then mv -f ".deps/test_exception_catch.Tpo" ".deps/test_exception_catch.Po"; 
else rm -f ".deps/test_exception_catch.Tpo"; exit 1; fi 
/bin/sh ../libtool --mode=link g++  -g -O2   -o test_exception_catch  
test_exception_catch.o ../sigc++/libsigc-2.0.la  
g++ -g -O2 -o .libs/test_exception_catch 
test_exception_catch.o  ../sigc++/.libs/libsigc-2.0.so 
creating test_exception_catch 
if g++  -I. -I. -I.. -I.. -I..    -g -O2 -MT test_lambda.o -MD -MP -MF 
".deps/test_lambda.Tpo" -c -o test_lambda.o test_lambda.cc; \ 
then mv -f ".deps/test_lambda.Tpo" ".deps/test_lambda.Po"; else rm -f 
".deps/test_lambda.Tpo"; exit 1; fi 
In file included from ../sigc++/adaptors/lambda/lambda.h:26, 
                 from test_lambda.cc:9: 
../sigc++/adaptors/lambda/group.h:79: error: non-template `deduce_result_type' 
used as template 
../sigc++/adaptors/lambda/group.h:79: note: use `typename 
sigc::adaptor_trait<T_functor,  
sigc::is_base_and_derived<sigc::adaptor_base,T_functor>::value>::adaptor_type::template 
deduce_result_type' to indicate that it is a template 
../sigc++/adaptors/lambda/group.h:82: error: declaration does not declare 
anything 
../sigc++/adaptors/lambda/group.h:245: error: non-template `deduce_result_type' 
used as template 
../sigc++/adaptors/lambda/group.h:245: note: use `typename 
sigc::adaptor_trait<T_functor,  
sigc::is_base_and_derived<sigc::adaptor_base,T_functor>::value>::adaptor_type::template 
deduce_result_type' to indicate that it is a template 
../sigc++/adaptors/lambda/group.h:250: error: declaration does not declare 
anything 
../sigc++/adaptors/lambda/group.h:458: error: non-template `deduce_result_type' 
used as template 
../sigc++/adaptors/lambda/group.h:458: note: use `typename 
sigc::adaptor_trait<T_functor,  
sigc::is_base_and_derived<sigc::adaptor_base,T_functor>::value>::adaptor_type::template 
deduce_result_type' to indicate that it is a template 
../sigc++/adaptors/lambda/group.h:465: error: declaration does not declare 
anything 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >,  true>::deduce_result_type<int, 
int, void, void, void, void, void>': 
test_lambda.cc:104:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >::deduce_result_type<int&, int&, 
void, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:104: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >) (int, int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> >,  true>::deduce_result_type<int, 
int, void, void, void, void, void>': 
test_lambda.cc:105:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> >::deduce_result_type<int&, int&, 
void, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:105: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> > >) (int, int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select1> >] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group3<sigc::mem_functor2<int, bar, 
int, int>, sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> >,  
true>::deduce_result_type<sigc::reference_wrapper<bar>, int, int, void, void, 
void, void>': 
test_lambda.cc:106:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group3<sigc::mem_functor2<int, bar, int, int>, 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> >::deduce_result_type<bar&, int&, 
int&, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:106: error: no match for call to 
`(sigc::lambda<sigc::lambda_group3<sigc::mem_functor2<int, bar, int, int>, 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> > >) 
(sigc::reference_wrapper<bar>, int, int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group3<sigc::mem_functor2<int, bar, int, int>, 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2>, 
sigc::lambda<sigc::internal::lambda_select3> >] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int>,  
true>::deduce_result_type<int, void, void, void, void, void, void>': 
test_lambda.cc:109:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int>::deduce_result_type<int&, 
void, void, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:109: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int> >) (int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, int>] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >,  true>::deduce_result_type<int, 
int, int, void, void, void, void>': 
test_lambda.cc:124:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >::deduce_result_type<int&, int&, 
int&, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:124: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >) (int, int, int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> >] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group1<sigc::pointer_functor1<int, 
void>, sigc::lambda<sigc::internal::lambda_select2> >,  
true>::deduce_result_type<int, int, void, void, void, void, void>': 
test_lambda.cc:125:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group1<sigc::pointer_functor1<int, void>, 
sigc::lambda<sigc::internal::lambda_select2> >::deduce_result_type<int&, int&, 
void, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:125: error: no match for call to 
`(sigc::lambda<sigc::lambda_group1<sigc::pointer_functor1<int, void>, 
sigc::lambda<sigc::internal::lambda_select2> > >) (int, int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group1<sigc::pointer_functor1<int, void>, 
sigc::lambda<sigc::internal::lambda_select2> >] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> >,  true>::deduce_result_type<int, 
int, int, void, void, void, void>': 
test_lambda.cc:128:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), sigc::lambda<sigc::lambda_group2<int (*)
(int, int), sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> >::deduce_result_type<int&, int&, 
int&, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:128: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> > >) (int, int, int)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group2<int (*)(int, int), sigc::lambda<sigc::lambda_group2<int (*)
(int, int), sigc::lambda<sigc::internal::lambda_select1>, 
sigc::lambda<sigc::internal::lambda_select2> > >, 
sigc::lambda<sigc::internal::lambda_select3> >] 
../sigc++/adaptors/lambda/base.h: At global scope: 
../sigc++/adaptors/lambda/base.h: In instantiation of 
`sigc::internal::lambda_core<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int>,  true>::deduce_result_type<double, 
void, void, void, void, void, void>': 
test_lambda.cc:131:   instantiated from here 
../sigc++/adaptors/lambda/base.h:58: error: no type named `type' in `struct 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int>::deduce_result_type<double&, void, 
void, void, void, void, void>' 
test_lambda.cc: In function `int main()': 
test_lambda.cc:131: error: no match for call to 
`(sigc::lambda<sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int> >) (double)' 
../sigc++/adaptors/lambda/base.h:188: note: candidates are: typename 
sigc::internal::lambda_core<T_type,  true>::result_type 
sigc::internal::lambda_core<T_type,  true>::operator()() const [with T_type = 
sigc::lambda_group2<int (*)(int, int), 
sigc::lambda<sigc::lambda_operator_convert<sigc::cast_<sigc::static_>, int, 
sigc::internal::lambda_select1> >, int>] 
make[2]: *** [test_lambda.o] Error 1 
make[2]: Leaving directory `/usr/local/src/libsigc++/libsigc++-2.0.5/tests' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/usr/local/src/libsigc++/libsigc++-2.0.5' 
make: *** [all] Error 2 
#:/usr/local/src/libsigc++/libsigc++-2.0.5 # gcc -v 
Reading specs from /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.2/specs 
Configured with: ./configure  : (reconfigured) ./configure 
--enable-threads=posix --enable-languages=c,c++ 
Thread model: posix 
gcc version 3.4.2 
#:/usr/local/src/libsigc++/libsigc++-2.0.5 #
Comment 1 Robert Ball 2004-09-10 21:53:38 UTC
it's an error on a testing component, but it does block compilation... 
Comment 2 Murray Cumming 2004-09-15 11:32:12 UTC
*** Bug 152425 has been marked as a duplicate of this bug. ***
Comment 3 Murray Cumming 2004-09-15 11:35:19 UTC
*** Bug 152150 has been marked as a duplicate of this bug. ***
Comment 4 Dimitri Papadopoulos 2004-09-15 12:25:48 UTC
I had to remove the "examples" and "tests" targets from the top-level makefile
in order to be able to build and install libsigc++-2.0.5.

Anyway, it's not an error on testing components only. This is a general problem,
libsigc++ 2.0 headers are not compatible with gcc 3.4.

I've tried with gcc 3.4.2 on Solaris 8:

$ g++ -v
Reading specs from /usr/local/gcc-3.4.2/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs
Configured with: /tmp/gcc-3.4.2/configure --prefix=/usr/local/gcc-3.4.2
--with-as=/usr/local/binutils/bin/as --with-ld=/usr/local/binutils/bin/ld
Thread model: posix
gcc version 3.4.2
$ 
$ cat > foo.cc
#include <sigc++/sigc++.h>
$ 
$ g++ -c `pkg-config sigc++-2.0 --cflags` foo.cc
In file included from
/usr/local/libsigc++-2.0.5-gcc-3.4.2/include/sigc++-2.0/sigc++/adaptors/lambda/lambda.h:26,
                 from
/usr/local/libsigc++-2.0.5-gcc-3.4.2/include/sigc++-2.0/sigc++/adaptors/adaptors.h:30,
                 from
/usr/local/libsigc++-2.0.5-gcc-3.4.2/include/sigc++-2.0/sigc++/sigc++.h:26,
                 from foo.cc:1:
/usr/local/libsigc++-2.0.5-gcc-3.4.2/include/sigc++-2.0/sigc++/adaptors/lambda/group.h:79:
error: non-template `deduce_result_type' used as template
[...]
$ 

A complete error log is attached.
Comment 5 Dimitri Papadopoulos 2004-09-15 12:26:22 UTC
Created attachment 31578 [details]
test case
Comment 6 Dimitri Papadopoulos 2004-09-15 12:27:24 UTC
Created attachment 31579 [details]
compile-time errors in sigc++ headers
Comment 7 Dimitri Papadopoulos 2004-09-15 12:30:24 UTC
This Web page:
http://libsigc.sourceforge.net/stable.shtml
states:
All version of gcc >= 3.2 are currently known to compile libsigc++-2.0.

Maybe this could be changed to:
gcc 3.2 and gcc 3.3 are currently known to compile libsigc++-2.0.
until the bug is fixed.

Or is this a libsigc++ 2.0.5 issue only?

Comment 8 Dimitri Papadopoulos 2004-09-15 13:16:39 UTC
OK, I've tried the following versions:
	2.0.0   OK
	2.0.3   OK
	2.0.4   FAILS
	2.0.5   FAILS
The bug was introduced with version 2.0.4.

Everyone revert to 2.0.3 to use libsigc++ with gcc 3.4 until this bug is fixed...
Comment 9 Martin Schulze 2004-09-26 15:59:42 UTC
Discussion on the ml lead to conclusion that the definition of
deduce_result_type<> must be corrected.
In current CVS a probably missing template keyword is added. Please check
whether this is already the solution!
Comment 10 Martin Schulze 2004-09-26 16:11:04 UTC
*** Bug 153143 has been marked as a duplicate of this bug. ***
Comment 11 Dimitri Papadopoulos 2004-09-27 13:09:09 UTC
I don't have CVS access, but I've tried libsigc++ 2.0.5 with this patch applied:
http://cvs.gnome.org/viewcvs/libsigc%2B%2B2/sigc%2B%2B/adaptors/lambda/macros/group.h.m4?r1=1.7&r2=1.8

It worked for me.
Comment 12 Martin Schulze 2004-10-02 13:11:04 UTC
=> Fixed in cvs. Thanks everyone for their help.