Hi, when I tried to compile libsigc++ with emscripten today (which basically is compiling to LLVM bitcode with clang in my scenario) I got an error I first thought would be emscripten-specific but then I tried to compile it normally. Here are the error messages I get: make all-recursive make[1]: Entering directory '/home/jonas/build/libsigc++-2.3.1/build' Making all in sigc++ make[2]: Entering directory '/home/jonas/build/libsigc++-2.3.1/build/sigc++' make all-am make[3]: Entering directory '/home/jonas/build/libsigc++-2.3.1/build/sigc++' depbase=`echo signal.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.. -I../.. -Wall -g -O2 -MT signal.lo -MD -MP -MF $depbase.Tpo -c -o signal.lo ../../sigc++/signal.cc &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: g++ -DHAVE_CONFIG_H -I.. -I../.. -Wall -g -O2 -MT signal.lo -MD -MP -MF .deps/signal.Tpo -c ../../sigc++/signal.cc -fPIC -DPIC -o .libs/signal.o In file included from ../../sigc++/signal_base.h:29:0, from ../../sigc++/signal.h:8, from ../../sigc++/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:136:106: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take> ^ ../../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:172:106: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take> ^ In file included from ../../sigc++/signal_base.h:29:0, from ../../sigc++/signal.h:8, from ../../sigc++/signal.cc:20: ../../sigc++/functors/slot.h:172:141: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take> ^ ../../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:210:106: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take> ^ ../../sigc++/functors/slot.h:210:141: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take> ^ ../../sigc++/functors/slot.h:210:176: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take> ^ ../../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:250:106: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take> ^ ../../sigc++/functors/slot.h:250:141: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take> ^ ../../sigc++/functors/slot.h:250:176: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take> ^ ../../sigc++/functors/slot.h:250:211: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take> ^ ../../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:292:106: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take> ^ ../../sigc++/functors/slot.h:292:141: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take> ^ ../../sigc++/functors/slot.h:292:176: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take> ^ ../../sigc++/functors/slot.h:292:211: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take> ^ ../../sigc++/functors/slot.h:292:246: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take> ^ In file included from ../../sigc++/signal_base.h:29:0, from ../../sigc++/signal.h:8, from ../../sigc++/signal.cc:20: ../../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:336:106: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take> ^ ../../sigc++/functors/slot.h:336:141: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take> ^ ../../sigc++/functors/slot.h:336:176: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take> ^ ../../sigc++/functors/slot.h:336:211: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take> ^ ../../sigc++/functors/slot.h:336:246: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take> ^ ../../sigc++/functors/slot.h:336:281: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take> ^ ../../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:382:106: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ ../../sigc++/functors/slot.h:382:141: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ ../../sigc++/functors/slot.h:382:176: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ ../../sigc++/functors/slot.h:382:211: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ ../../sigc++/functors/slot.h:382:246: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ ../../sigc++/functors/slot.h:382:281: error: expected '(' before ',' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ ../../sigc++/functors/slot.h:382:316: error: expected '(' before '>' token return (typed_rep->functor_).SIGC_WORKAROUND_OPERATOR_PARENTHESES<typename type_trait<T_arg1>::take, typename type_trait<T_arg2>::take, typename type_trait<T_arg3>::take, typename type_trait<T_arg4>::take, typename type_trait<T_arg5>::take, typename type_trait<T_arg6>::take, typename type_trait<T_arg7>::take> ^ Makefile:568: recipe for target 'signal.lo' failed make[3]: *** [signal.lo] Error 1 make[3]: Leaving directory '/home/jonas/build/libsigc++-2.3.1/build/sigc++' Makefile:440: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/home/jonas/build/libsigc++-2.3.1/build/sigc++' Makefile:635: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/jonas/build/libsigc++-2.3.1/build' Makefile:503: recipe for target 'all' failed make: *** [all] Error 2I also get an error message when running configure, this might be related: [...] |