compile error with wkt output #1507

Closed
springmeyer opened this Issue Sep 28, 2012 · 2 comments

Projects

None yet

2 participants

@springmeyer
Member

@artemp, looks like 2427daa broke the ubuntu builds (which use boost 1.49):

From: https://launchpadlibrarian.net/117580191/buildlog_ubuntu-maverick-i386.mapnik_2.2.0%2Bdev20120928.git.bb27ab5-1~maverick1_FAILEDTOBUILD.txt.gz

g++ -o bindings/python/mapnik_geometry.os -c -g -O3 -DHAVE_JPEG -DBOOST_REGEX_HAS_ICU -ansi -Wall -pthread -ftemplate-depth-300 -DLINUX -DBOOST_SPIRIT_THREADSAFE -DMAPNIK_THREADSAFE -O3 -fno-strict-aliasing -finline-functions -Wno-inline -Wno-parentheses -Wno-char-subscripts -DNDEBUG -DHAVE_CAIRO -DHAVE_PYCAIRO -pthread -fPIC -Ideps/agg/include -I. -Iinclude -I/usr/include -I/usr/include/freetype2 -I/usr/include/libxml2 -I/usr/include/gdal -I/usr/include/postgresql -I/usr/include/python2.6 -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/pycairo bindings/python/mapnik_geometry.cpp
In file included from /usr/include/boost/spirit/home/karma/char/char_generator.hpp:17,
                 from /usr/include/boost/spirit/home/karma/char/char.hpp:23,
                 from /usr/include/boost/spirit/home/karma/char.hpp:13,
                 from /usr/include/boost/spirit/home/karma.hpp:13,
                 from /usr/include/boost/spirit/include/karma.hpp:16,
                 from include/mapnik/util/conversions.hpp:33,
                 from include/mapnik/value.hpp:29,
                 from include/mapnik/feature.hpp:28,
                 from include/mapnik/json/geojson_generator.hpp:27,
                 from bindings/python/mapnik_geometry.cpp:35:
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp: In instantiation of 'boost::spirit::traits::extract_from_container<boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, void>':
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:259:   instantiated from 'boost::spirit::result_of::extract_from<const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> > >'
/usr/include/boost/spirit/home/karma/detail/attributes.hpp:23:   instantiated from 'static Transformed boost::spirit::karma::transform_attribute<Exposed, Transformed, Enable>::pre(Exposed&) [with Exposed = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, Transformed = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, Enable = void]'
/usr/include/boost/spirit/home/support/attributes.hpp:914:   instantiated from 'typename boost::spirit::result_of::pre_transform<const Exposed, Transformed, Domain>::type boost::spirit::traits::pre_transform(const Exposed&) [with Domain = boost::spirit::karma::domain, Transformed = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, Exposed = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >]'
/usr/include/boost/spirit/home/karma/nonterminal/rule.hpp:296:   instantiated from 'bool boost::spirit::karma::rule<OutputIterator, T1, T2, T3, T4>::generate(boost::spirit::karma::detail::output_iterator<OutputIterator, mpl_::int_<15>, boost::spirit::unused_type>&, Context&, const Delimiter&, const Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, boost::fusion::nil>, boost::spirit::locals<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, Delimiter = boost::spirit::unused_type, Attribute = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, OutputIterator = std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, T1 = boost::spirit::locals<boost::tuples::tuple<unsigned int, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, T2 = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&(), T3 = boost::spirit::unused_type, T4 = boost::spirit::unused_type]'
/usr/include/boost/spirit/home/karma/reference.hpp:46:   instantiated from 'bool boost::spirit::karma::reference<Subject>::generate(OutputIterator&, Context&, const Delimiter&, const Attribute&) const [with OutputIterator = boost::spirit::karma::detail::output_iterator<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, mpl_::int_<15>, boost::spirit::unused_type>, Context = boost::spirit::context<boost::fusion::cons<const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, boost::fusion::nil>, boost::spirit::locals<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, Delimiter = boost::spirit::unused_type, Attribute = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, Subject = const boost::spirit::karma::rule<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::spirit::locals<boost::tuples::tuple<unsigned int, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&(), boost::spirit::unused_type, boost::spirit::unused_type>]'
/usr/include/boost/spirit/home/karma/generate.hpp:69:   instantiated from 'bool boost::spirit::karma::generate(boost::spirit::karma::detail::output_iterator<OutputIterator, Derived, boost::spirit::unused_type>&, const Expr&, const Attr&) [with OutputIterator = std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Properties = mpl_::int_<15>, Expr = mapnik::util::wkt_multi_generator<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> > >, Attr = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >]'
/usr/include/boost/spirit/home/karma/generate.hpp:91:   instantiated from 'bool boost::spirit::karma::generate(OutputIterator&, const Expr&, const Attr&) [with OutputIterator = mapnik::util::to_wkt(std::string&, const mapnik::geometry_container&)::sink_type, Expr = mapnik::util::wkt_multi_generator<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> > >, Attr = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >]'
include/mapnik/util/geometry_to_wkt.hpp:53:   instantiated from here
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:132: error: forming reference to reference type 'const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&'
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:137: error: forming reference to reference type 'const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&'
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:151: error: forming reference to reference type 'const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&'
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:158: error: forming reference to reference type 'const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&'
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:170: error: forming reference to reference type 'const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&'
/usr/include/boost/spirit/home/karma/detail/extract_from.hpp:176: error: forming reference to reference type 'const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&'
In file included from /usr/include/boost/spirit/home/karma/detail/extract_from.hpp:16,
                 from /usr/include/boost/spirit/home/karma/char/char_generator.hpp:17,
                 from /usr/include/boost/spirit/home/karma/char/char.hpp:23,
                 from /usr/include/boost/spirit/home/karma/char.hpp:13,
                 from /usr/include/boost/spirit/home/karma.hpp:13,
                 from /usr/include/boost/spirit/include/karma.hpp:16,
                 from include/mapnik/util/conversions.hpp:33,
                 from include/mapnik/value.hpp:29,
                 from include/mapnik/feature.hpp:28,
                 from include/mapnik/json/geojson_generator.hpp:27,
                 from bindings/python/mapnik_geometry.cpp:35:
/usr/include/boost/spirit/home/karma/detail/attributes.hpp: In static member function 'static Transformed boost::spirit::karma::transform_attribute<Exposed, Transformed, Enable>::pre(Exposed&) [with Exposed = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, Transformed = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, Enable = void]':
/usr/include/boost/spirit/home/support/attributes.hpp:914:   instantiated from 'typename boost::spirit::result_of::pre_transform<const Exposed, Transformed, Domain>::type boost::spirit::traits::pre_transform(const Exposed&) [with Domain = boost::spirit::karma::domain, Transformed = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, Exposed = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >]'
/usr/include/boost/spirit/home/karma/nonterminal/rule.hpp:296:   instantiated from 'bool boost::spirit::karma::rule<OutputIterator, T1, T2, T3, T4>::generate(boost::spirit::karma::detail::output_iterator<OutputIterator, mpl_::int_<15>, boost::spirit::unused_type>&, Context&, const Delimiter&, const Attribute&) const [with Context = boost::spirit::context<boost::fusion::cons<const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, boost::fusion::nil>, boost::spirit::locals<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, Delimiter = boost::spirit::unused_type, Attribute = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, OutputIterator = std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, T1 = boost::spirit::locals<boost::tuples::tuple<unsigned int, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, T2 = const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&(), T3 = boost::spirit::unused_type, T4 = boost::spirit::unused_type]'
/usr/include/boost/spirit/home/karma/reference.hpp:46:   instantiated from 'bool boost::spirit::karma::reference<Subject>::generate(OutputIterator&, Context&, const Delimiter&, const Attribute&) const [with OutputIterator = boost::spirit::karma::detail::output_iterator<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, mpl_::int_<15>, boost::spirit::unused_type>, Context = boost::spirit::context<boost::fusion::cons<const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, boost::fusion::nil>, boost::spirit::locals<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >, Delimiter = boost::spirit::unused_type, Attribute = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >, Subject = const boost::spirit::karma::rule<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::spirit::locals<boost::tuples::tuple<unsigned int, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&(), boost::spirit::unused_type, boost::spirit::unused_type>]'
/usr/include/boost/spirit/home/karma/generate.hpp:69:   instantiated from 'bool boost::spirit::karma::generate(boost::spirit::karma::detail::output_iterator<OutputIterator, Derived, boost::spirit::unused_type>&, const Expr&, const Attr&) [with OutputIterator = std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Properties = mpl_::int_<15>, Expr = mapnik::util::wkt_multi_generator<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> > >, Attr = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >]'
/usr/include/boost/spirit/home/karma/generate.hpp:91:   instantiated from 'bool boost::spirit::karma::generate(OutputIterator&, const Expr&, const Attr&) [with OutputIterator = mapnik::util::to_wkt(std::string&, const mapnik::geometry_container&)::sink_type, Expr = mapnik::util::wkt_multi_generator<std::back_insert_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> > >, Attr = boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >]'
include/mapnik/util/geometry_to_wkt.hpp:53:   instantiated from here
/usr/include/boost/spirit/home/karma/detail/attributes.hpp:23: error: no matching function for call to 'extract_from(const boost::ptr_vector<mapnik::geometry<double, mapnik::vertex_vector>, boost::heap_clone_allocator, std::allocator<void*> >&, const boost::spirit::unused_type&)'
scons: *** [bindings/python/mapnik_geometry.os] Error 1
scons: building terminated because of errors.
make[1]: *** [mapnik] Error 2
make[1]: Leaving directory `/build/buildd/mapnik-2.2.0+dev20120928.git.bb27ab5'
@artemp artemp added a commit that referenced this issue Sep 28, 2012
@artemp artemp + restore g++/darwin fix - #1507 02e7aef
@artemp
Member
artemp commented Sep 28, 2012

@springmeyer - should be fixed in 02e7aef

@artemp
Member
artemp commented Sep 28, 2012

works with g++4.2 (os x) and g++4.6.3 (ubuntu) - closing

@artemp artemp closed this Sep 28, 2012
@PetrDlouhy PetrDlouhy added a commit to PetrDlouhy/mapnik that referenced this issue Aug 22, 2013
@artemp @PetrDlouhy artemp + PetrDlouhy + restore g++/darwin fix - #1507 6537e83
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment