GNOME Bugzilla – Bug 153143
compile error for 2.0.5
Last modified: 2004-12-22 21:47:04 UTC
Getting this error trying to compile 2.0.5. This is with gcc 3.4.2, glibc 2.3.3 with nptl. /bin/sh ../libtool --mode=link g++ -O -march=athlon-mp -mmmx -mfpmath=sse -msse -m3dnow -pipe -O3 -z combreloc -s -o test_exception_catch test_exception_catch.o ../sigc++/libsigc-2.0.la g++ -O -march=athlon-mp -mmmx -mfpmath=sse -msse -m3dnow -pipe -O3 -z combreloc -s -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.. -O -march=athlon-mp -mmmx -mfpmath=sse -msse -m3dnow -pipe -O3 -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[3]: *** [test_lambda.o] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all] Error 2 make[3]: Leaving directory `/usr/src/libsigc++-2.0.5/tests' make[2]: Leaving directory `/usr/src/libsigc++-2.0.5' make[1]: Leaving directory `/usr/src/libsigc++-2.0.5'
*** This bug has been marked as a duplicate of 152327 ***