mapnik / mapnik

Mapnik is an open source toolkit for developing mapping applications
http://mapnik.org
GNU Lesser General Public License v2.1
3.68k stars 826 forks source link

make error : scons: *** [src/json/feature_grammar_x3.o] Error 1 #3587

Closed suezhanglove closed 7 years ago

suezhanglove commented 7 years ago

now, this is part of my log, i don't know what happened /usr/local/include/boost/spirit/home/x3/core/call.hpp:72:28: error: use of ‘auto boost::spirit::x3::detail::call(F, const Context&, mpl::true) [with F = mapnik::json::grammar::<lambda(const auto:6&)>; Context = boost::spirit::x3::context<boost::spirit::x3::attr_context_tag, std::tuple<mapnik::geometry::geometry_types, mapbox::util::variant<mapnik::geometry::point, std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > >, std::vector<std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > >, std::allocator<std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > > > >, std::vector<std::vector<std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > >, std::allocator<std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > > > >, std::allocator<std::vector<std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > >, std::allocator<std::vector<mapnik::geometry::point, std::allocator<mapnik::geometry::point > > > > > > >, mapnik::geometry::geometry_collection >, boost::spirit::x3::context<boost::spirit::x3::where_context_tag, boost::iterator_range<const char*>, boost::spirit::x3::context<boost::spirit::x3::rule_val_context_tag, mapnik::geometry::geometry_collection, boost::spirit::x3::context<boost::spirit::x3::parse_pass_context_tag, bool, boost::spirit::x3::context<mapnik::json::grammar::feature_tag, const std::reference_wrapper, boost::spirit::x3::context<mapnik::json::grammar::transcoder_tag, const std::reference_wrapper, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::standard, boost::spirit::x3::space_tag>, boost::spirit::x3::unusedtype> > > > > > >; mpl::true = mpl::bool_]’ before deduction of ‘auto’ return detail::call(f, attr_context, is_callable<F(decltype(attr_contex ^ scons: [src/json/feature_grammar_x3.o] Error 1 scons: building terminated because of errors. Makefile:30: recipe for target 'src/json/libmapnik-json.a' failed make: [src/json/libmapnik-json.a] Error 2

artemp commented 7 years ago

@suezhanglove - what compiler are you using ? You need c++14 support to build mapnik@master.

suezhanglove commented 7 years ago

zs@zs-vm:~/mapnik-3.x$ g++ -v gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

my gcc version is 5.4.0

artemp commented 7 years ago

Please, try gcc6 series which have better c++14 support. apt-get update -y && apt-get install gcc-6

suezhanglove commented 7 years ago

Thanks a lot ! i'll try!

suezhanglove commented 7 years ago

fix it! i update gcc to gcc6series. it works well.But meet another problem.