Building master fail on linux

34 views
Skip to first unread message

Daim

unread,
May 15, 2013, 6:51:18 AM5/15/13
to map...@googlegroups.com
Hi

Trying to build mapnik trunk in ubuntu 12.04 (64bits) with either boost 1_51 or boost_1_49 failed on linux (ubunutu 12_04) 64 bit.
Until now, we were compiling mapnik 2.1.x branch with boost_1_49 without any problems.

Compiler: gcc 4.6

The error seems related to boost/phoenix library when compiling json grammar

Output error is (simplified version , full error output available as attached file):


"""
In file included from /usr/local/libexec/boost_1_51_0/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:62:0,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp:79,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/phoenix/function/function.hpp:11,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/phoenix/function.hpp:11,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/include/phoenix_function.hpp:13,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/support/terminal.hpp:17,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/support/common_terminals.hpp:15,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/qi/auto/auto.hpp:13,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/qi/auto.hpp:15,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/home/qi.hpp:15,
                 from /usr/local/libexec/boost_1_51_0/include/boost/spirit/include/qi.hpp:16,
                 from include/mapnik/json/geometry_grammar.hpp:31,
                 from src/json/geometry_grammar.cpp:27:

/usr/local/libexec/boost_1_51_0/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp: In instantiation of ‘boost::phoenix::detail::function_eval<3>::result<boost::phoenix::basic_environment<boost::fusion::vector<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const boost::spirit::info&, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::spirit::context<boost::fusion::cons<boost::spirit::unused_type&, boost::fusion::cons<boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector> >&, boost::fusion::nil> >, boost::fusion::vector1<int> >, boost::spirit::qi::error_handler_result, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::phoenix::value<mapnik::json::where_message>, boost::spirit::argument<2>, boost::spirit::argument<1>, boost::phoenix::value<int> >’:
/usr/local/libexec/boost_1_51_0/include/boost/spirit/home/phoenix/core/detail/composite_eval.hpp:89:17:   instantiated from ‘boost::phoenix::detail::composite_eval<4>::result<boost::phoenix::composite<boost::phoenix::detail::function_eval<3>, boost::fusion::vector<boost::phoenix::value<mapnik::json::where_message>, boost::spirit::argument<2>, boost::spirit::argument<1>, boost::phoenix::value<int>, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::vector<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const boost::spirit::info&, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::spirit::context<boost::fusion::cons<boost::spirit::unused_type&, boost::fusion::cons<boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector> >&, boost::fusion::nil> >, boost::fusion::vector1<int> >, boost::spirit::qi::error_handler_result, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’

...skipping instanciation details...

src/json/geometry_grammar.cpp:153:5:   instantiated from ‘mapnik::json::geometry_grammar<Iterator>::geometry_grammar() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >]’
src/json/geometry_grammar.cpp:166:31:   instantiated from here
/usr/local/libexec/boost_1_51_0/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp:116:13: erreur: no class template named ‘result’ in ‘boost::phoenix::detail::function_eval<3>::result<boost::phoenix::basic_environment<boost::fusion::vector<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&, const boost::spirit::info&, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::spirit::context<boost::fusion::cons<boost::spirit::unused_type&, boost::fusion::cons<boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector> >&, boost::fusion::nil> >, boost::fusion::vector1<int> >, boost::spirit::qi::error_handler_result, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::phoenix::value<mapnik::json::where_message>, boost::spirit::argument<2>, boost::spirit::argument<1>, boost::phoenix::value<int> >::fn {aka struct mapnik::json::where_message}’

...skipping...

scons: *** [src/json/geometry_grammar.os] Error 1
scons: *** [src/json/feature_grammar.os] Error 1
make: *** [mapnik] Erreur 2

"""


Any idea is welcome....

Thx
David




error.log

Artem Pavlenko

unread,
May 15, 2013, 7:06:26 AM5/15/13
to map...@googlegroups.com
Hi David,

Thanks for reporting. It looks like gcc 4.6 is not up for the job
compiling latest master. It can be boost as well - I'm working with
v1.53. Just to check, I see @springmeyer fixed master to work with
phoenix v2 in 9682af53da7583136400eb0d2edb089a408b0036 -- is this
version of mapnik you're building ?

Artem
> --
> You received this message because you are subscribed to the Google Groups
> "mapnik" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to mapnik+un...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

David Marteau

unread,
May 15, 2013, 8:26:57 AM5/15/13
to map...@googlegroups.com
Hi

Pulling latest version (up to 9682af53da7583136400eb0d2edb089a408b0036) fix the problem (compiling with boost 1_49 and gcc 4.6).
Seem definitely to be a boost/phoenix version problem.

Thx
David

Artem Pavlenko

unread,
May 15, 2013, 8:42:47 AM5/15/13
to map...@googlegroups.com
Great, cheers!
Reply all
Reply to author
Forward
0 new messages