MPL is broken with GCC 4.5. https://bugs.gentoo.org/317969 https://svn.boost.org/trac/boost/ticket/4061 https://svn.boost.org/trac/boost/changeset/61467 --- a/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +++ b/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp @@ -83,7 +81,7 @@ template< typename F, int N > struct template_arity_impl { BOOST_STATIC_CONSTANT(int, value = - sizeof(arity_helper(type_wrapper(), arity_tag())) - 1 + sizeof(::boost::mpl::aux::arity_helper(type_wrapper(), arity_tag())) - 1 ); }; --- a/boost/mpl/aux_/template_arity.hpp +++ b/boost/mpl/aux_/template_arity.hpp @@ -98,7 +98,7 @@ template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > struct template_arity_impl { BOOST_STATIC_CONSTANT(int, value = - sizeof(arity_helper(type_wrapper(),arity_tag())) - 1 + sizeof(::boost::mpl::aux::arity_helper(type_wrapper(),arity_tag())) - 1 ); };