Re: [sigc] 2.0.0-2.0.2 fail to build on AMD64



Hi Robert!

Please open a bug report at bugzilla.gnome.org for this. It would be helpful if you also added the following information:

Try a complete './autogen.sh' instead of just regenerating
the configure script. (It looks like a configure check yields the
wrong result.) Does the build succeed, then?

According to your google results, which version of autoconf has this
bug fixed?

Regards,

Martin

Am 2004.05.27 04:53 schrieb(en) Robert J. Hansen:
Subject should say it all.  After doing a vanilla configure, Make
crashes with the following:

=====

make[3]: Entering directory `/home/rjh/libsigc++-2.0.0/sigc++'
/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
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64/crti.o
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/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/lib/gcc-lib/x86_64-redhat-linux/3.3.3
-L/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64
-L/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../.. -L/lib/../lib64
-L/usr/lib/../lib64 -lstdc++ -lm -lc -lgcc_s
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/crtendS.o
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64/crtn.o
-o
.libs/libsigc-2.0.so.0.0.0
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64/crti.o(. init+0x0):
In function `_init':
: multiple definition of `_init'
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64/crti.o(. init+0x0):
first defined here
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64/crti.o(. fini+0x0):
In function `_fini':
: multiple definition of `_fini'
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/../../../../lib64/crti.o(. fini+0x0):
first defined here
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/crtbeginS.o(.data.rel +0x0):
multiple definition of `__dso_handle'
/usr/lib/gcc-lib/x86_64-redhat-linux/3.3.3/crtbeginS.o(.data.rel +0x0):
first defined here
collect2: ld returned 1 exit status
make[3]: *** [libsigc-2.0.la] Error 1
make[3]: Leaving directory `/home/rjh/libsigc++-2.0.0/sigc++'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rjh/libsigc++-2.0.0/sigc++'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rjh/libsigc++-2.0.0'
make: *** [all] Error 2

=====

Google says this is a bug in a lot of existing configure scripts, and
that a workaround can be found just by regenerating the configure
script
from aclocal/autoconf.  After doing a make clean and regenerating the
configure script, I get the following:

=====

In file included from ../sigc++/signal_base.h:27,
                 from ../sigc++/signal.h:8,
                 from signal.cc:20:
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call1<T_functor, T_return,
   T_arg1>::call_it(sigc::internal::slot_rep*, typename
   sigc::type_trait<T_arg3>::take)':
../sigc++/functors/slot.h:122: error: syntax error before `;' token
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call2<T_functor, T_return, T_arg1,
   T_arg2>::call_it(sigc::internal::slot_rep*, typename
   sigc::type_trait<T_arg3>::take, typename
sigc::type_trait<T_arg4>::take)':
../sigc++/functors/slot.h:158: error: syntax error before `;' token
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call3<T_functor, T_return, T_arg1, T_arg2,
   T_arg3>::call_it(sigc::internal::slot_rep*, typename
   sigc::type_trait<T_arg3>::take, typename
sigc::type_trait<T_arg4>::take,
   typename sigc::type_trait<T_arg5>::take)':
../sigc++/functors/slot.h:196: error: syntax error before `;' token
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call4<T_functor, T_return, T_arg1, T_arg2,
T_arg3,
   T_arg4>::call_it(sigc::internal::slot_rep*, typename
   sigc::type_trait<T_arg3>::take, typename
sigc::type_trait<T_arg4>::take,
   typename sigc::type_trait<T_arg5>::take, typename
   sigc::type_trait<T_arg6>::take)':
../sigc++/functors/slot.h:236: error: syntax error before `;' token
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call5<T_functor, T_return, T_arg1, T_arg2,
T_arg3,
   T_arg4, T_arg5>::call_it(sigc::internal::slot_rep*, typename
   sigc::type_trait<T_arg3>::take, typename
sigc::type_trait<T_arg4>::take,
   typename sigc::type_trait<T_arg5>::take, typename
   sigc::type_trait<T_arg6>::take, typename
sigc::type_trait<T_arg7>::take)':
../sigc++/functors/slot.h:278: error: syntax error before `;' token
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call6<T_functor, T_return, T_arg1, T_arg2,
T_arg3,
   T_arg4, T_arg5, T_arg6>::call_it(sigc::internal::slot_rep*,
typename
   sigc::type_trait<T_arg3>::take, typename
sigc::type_trait<T_arg4>::take,
   typename sigc::type_trait<T_arg5>::take, typename
   sigc::type_trait<T_arg6>::take, typename
sigc::type_trait<T_arg7>::take,
   typename sigc::type_trait<T_arg6>::take)':
../sigc++/functors/slot.h:322: error: syntax error before `;' token
../sigc++/functors/slot.h: In static member function `static T_return
   sigc::internal::slot_call7<T_functor, T_return, T_arg1, T_arg2,
T_arg3,
T_arg4, T_arg5, T_arg6, T_arg7>::call_it(sigc::internal:: slot_rep*,
typename
   sigc::type_trait<T_arg3>::take, typename
sigc::type_trait<T_arg4>::take,
   typename sigc::type_trait<T_arg5>::take, typename
   sigc::type_trait<T_arg6>::take, typename
sigc::type_trait<T_arg7>::take,
   typename sigc::type_trait<T_arg6>::take, typename
   sigc::type_trait<T_arg7>::take)':
../sigc++/functors/slot.h:368: error: syntax error before `;' token
make[3]: *** [signal.lo] Error 1
make[3]: Leaving directory `/home/rjh/libsigc++-2.0.0/sigc++'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rjh/libsigc++-2.0.0/sigc++'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rjh/libsigc++-2.0.0'
make: *** [all] Error 2

=====

I've verified this for 2.0.0 through 2.0.2.  Anyone have any
suggestions
for how to get it to make on AMD64?


_______________________________________________
libsigc-list mailing list
libsigc-list gnome org
http://mail.gnome.org/mailman/listinfo/libsigc-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]