In file included from /usr/include/boost/spirit/home/phoenix/core/actor.hpp:10, from /usr/include/boost/spirit/home/support/argument.hpp:16, from /usr/include/boost/spirit/home/qi/domain.hpp:17, from /usr/include/boost/spirit/home/qi/meta_compiler.hpp:15, from /usr/include/boost/spirit/home/qi/action/action.hpp:14, from /usr/include/boost/spirit/home/qi/action.hpp:14, from /usr/include/boost/spirit/home/qi.hpp:14, from /usr/include/boost/spirit/include/qi.hpp:16, from test.cpp:2: /usr/include/boost/spirit/home/phoenix/core/limits.hpp:15:3: error: #error "PHOENIX_LIMIT is set too low" In file included from /usr/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp:1279, from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:43, from /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:18, from /usr/include/boost/spirit/home/phoenix/function/function.hpp:42, from /usr/include/boost/spirit/home/phoenix/function.hpp:11, from /usr/include/boost/spirit/include/phoenix_function.hpp:11, from /usr/include/boost/spirit/home/support/terminal.hpp:18, from /usr/include/boost/spirit/home/support/common_terminals.hpp:15, from /usr/include/boost/spirit/home/qi/auto/auto.hpp:13, from /usr/include/boost/spirit/home/qi/auto.hpp:15, from /usr/include/boost/spirit/home/qi.hpp:15, from /usr/include/boost/spirit/include/qi.hpp:16, from test.cpp:2: /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:33: error: wrong number of template arguments (5, should be 4) /usr/include/boost/spirit/home/phoenix/core/compose.hpp:43: error: provided for ‘template struct boost::phoenix::as_composite’ /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:33: error: template argument 1 is invalid /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:34: error: expected ‘::’ before ‘operator’ /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:34: error: expected class-name before ‘operator’ /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:34: error: expected ‘(’ before ‘operator’ In file included from /usr/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp:1284, from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:43, from /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:18, from /usr/include/boost/spirit/home/phoenix/function/function.hpp:42, from /usr/include/boost/spirit/home/phoenix/function.hpp:11, from /usr/include/boost/spirit/include/phoenix_function.hpp:11, from /usr/include/boost/spirit/home/support/terminal.hpp:18, from /usr/include/boost/spirit/home/support/common_terminals.hpp:15, from /usr/include/boost/spirit/home/qi/auto/auto.hpp:13, from /usr/include/boost/spirit/home/qi/auto.hpp:15, from /usr/include/boost/spirit/home/qi.hpp:15, from /usr/include/boost/spirit/include/qi.hpp:16, from test.cpp:2: /usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp:34: error: ‘template template boost::phoenix::actor, F, A0, A1>::type> boost::phoenix::function::operator()(const A0&, const A1&) const’ cannot be overloaded /usr/include/boost/spirit/home/phoenix/function/function.hpp:36: error: with ‘template template boost::phoenix::actor, F, A0, A1>::type> boost::phoenix::function::operator()(const A0&, const A1&) const’ In file included from /usr/include/boost/spirit/home/support/common_terminals.hpp:15, from /usr/include/boost/spirit/home/qi/auto/auto.hpp:13, from /usr/include/boost/spirit/home/qi/auto.hpp:15, from /usr/include/boost/spirit/home/qi.hpp:15, from /usr/include/boost/spirit/include/qi.hpp:16, from test.cpp:2: /usr/include/boost/spirit/home/support/terminal.hpp:147: error: wrong number of template arguments (5, should be 4) /usr/include/boost/spirit/home/phoenix/core/compose.hpp:43: error: provided for ‘template struct boost::phoenix::as_composite’ /usr/include/boost/spirit/home/support/terminal.hpp:148: error: template argument 1 is invalid /usr/include/boost/spirit/home/support/terminal.hpp:149: error: expected ‘::’ before ‘,’ token /usr/include/boost/spirit/home/support/terminal.hpp:149: error: expected identifier before ‘,’ token /usr/include/boost/spirit/home/support/terminal.hpp:150: error: template argument 2 is invalid /usr/include/boost/spirit/home/support/terminal.hpp:151: error: expected ‘::’ before ‘>’ token /usr/include/boost/spirit/home/support/terminal.hpp:151: error: expected identifier before ‘>’ token /usr/include/boost/spirit/home/support/terminal.hpp:151: error: template argument 1 is invalid /usr/include/boost/spirit/home/support/terminal.hpp: In member function ‘int boost::spirit::make_lazy::operator()(F, const A0&, const A1&, const A2&) const’: /usr/include/boost/spirit/home/support/terminal.hpp:158: error: ‘result_type’ is not a class or namespace /usr/include/boost/spirit/home/support/terminal.hpp:158: error: invalid type in declaration before ‘;’ token /usr/include/boost/spirit/home/support/terminal.hpp:159: error: ‘result_type’ is not a class or namespace