mapbox / mapnik-vector-tile

Mapnik implemention of Mapbox Vector Tile specification
BSD 3-Clause "New" or "Revised" License
553 stars 117 forks source link

Missing symbols linking 1.0.0 #187

Closed tomhughes closed 8 years ago

tomhughes commented 8 years ago

I'm getting a couple of missing symbols at link time when running make with the 1.0.0 release:

  g++   -o Release/tests -Wl,--start-group ./Release/obj.target/tests/test/geometry_visual_test.o ./Release/obj.target/tests/test/utils/geom_to_wkt.o ./Release/obj.target/tests/test/utils/decoding_util.o ./Release/obj.target/tests/test/utils/encoding_util.o ./Release/obj.target/tests/test/utils/round_trip.o ./Release/obj.target/tests/test/vector_tile_rasterize.o ./Release/obj.target/tests/test/vector_tile.o ./Release/obj.target/tests/test/vector_tile_pbf.o ./Release/obj.target/tests/test/test_main.o ./Release/obj.target/tests/test/unit/datasource-pbf/from_layer.o ./Release/obj.target/tests/test/unit/compression/compression.o ./Release/obj.target/tests/test/unit/encoding/polygon_pbf.o ./Release/obj.target/tests/test/unit/encoding/linestring_pbf.o ./Release/obj.target/tests/test/unit/encoding/point_pbf.o ./Release/obj.target/tests/test/unit/composite/vector.o ./Release/obj.target/tests/test/unit/decoding/linestring.o ./Release/obj.target/tests/test/unit/decoding/polygon.o ./Release/obj.target/tests/test/unit/decoding/polygon_scaling.o ./Release/obj.target/tests/test/unit/decoding/point.o ./Release/obj.target/tests/test/unit/tile_impl/tile.o ./Release/obj.target/tests/test/unit/is_valid/feature_is_valid.o ./Release/obj.target/tests/test/unit/is_valid/value_is_valid.o ./Release/obj.target/tests/test/vector_tile_projection.o ./Release/obj.target/tests/test/clipper_test.o ./Release/obj.target/tests/test/raster_tile.o ./Release/obj.target/tests/test/system/remove_repeated_point.o ./Release/obj.target/tests/test/system/round_trip.o ./Release/obj.target/tests/test/system/round_trip_fill_type.o ./Release/obj.target/tests/test/system/encode_and_datasource_decode.o ./Release/obj.target/tests/test/system/encode_and_decode.o ./Release/obj.target/tests/test/system/processor_and_datasource.o ./Release/obj.target/tests/test/system/round_trip_simplification.o ./Release/obj.target/tests/test/test_utils.o ./Release/obj.target/gyp/libmapnik_vector_tile_impl.a ./Release/obj.target/gyp/libvector_tile.a -Wl,--end-group -L/usr/lib64 -lmapnik -L/usr/lib -pthread -lmapnik-wkt -lmapnik-json -lboost_filesystem -lboost_regex -lcairo -lpng -lproj -ltiff -lwebp -lxml2 -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lprotobuf-lite
./Release/obj.target/gyp/../mapnik_vector_tile_impl/src/vector_tile_featureset_pbf.o: In function `mapnik::vector_tile_impl::tile_featureset_pbf<mapnik::filter_at_point>::next()':
vector_tile_featureset_pbf.cpp:(.text._ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_15filter_at_pointEE4nextEv[_ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_15filter_at_pointEE4nextEv]+0x18f8): undefined reference to `mapnik::geometry::geometry<mapnik::vector_tile_impl::GeometryPBF<double>::value_type> mapnik::vector_tile_impl::decode_geometry<mapnik::vector_tile_impl::GeometryPBF<double> >(mapnik::vector_tile_impl::GeometryPBF<double>&, int, unsigned int, mapnik::box2d<double> const&)'
vector_tile_featureset_pbf.cpp:(.text._ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_15filter_at_pointEE4nextEv[_ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_15filter_at_pointEE4nextEv]+0x2871): undefined reference to `mapnik::geometry::geometry<mapnik::vector_tile_impl::GeometryPBF<double>::value_type> mapnik::vector_tile_impl::decode_geometry<mapnik::vector_tile_impl::GeometryPBF<double> >(mapnik::vector_tile_impl::GeometryPBF<double>&, int, unsigned int, mapnik::box2d<double> const&)'
./Release/obj.target/gyp/../mapnik_vector_tile_impl/src/vector_tile_featureset_pbf.o: In function `mapnik::vector_tile_impl::tile_featureset_pbf<mapnik::filter_in_box>::next()':
vector_tile_featureset_pbf.cpp:(.text._ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_13filter_in_boxEE4nextEv[_ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_13filter_in_boxEE4nextEv]+0x18e8): undefined reference to `mapnik::geometry::geometry<mapnik::vector_tile_impl::GeometryPBF<double>::value_type> mapnik::vector_tile_impl::decode_geometry<mapnik::vector_tile_impl::GeometryPBF<double> >(mapnik::vector_tile_impl::GeometryPBF<double>&, int, unsigned int, mapnik::box2d<double> const&)'
vector_tile_featureset_pbf.cpp:(.text._ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_13filter_in_boxEE4nextEv[_ZN6mapnik16vector_tile_impl19tile_featureset_pbfINS_13filter_in_boxEE4nextEv]+0x2407): undefined reference to `mapnik::geometry::geometry<mapnik::vector_tile_impl::GeometryPBF<double>::value_type> mapnik::vector_tile_impl::decode_geometry<mapnik::vector_tile_impl::GeometryPBF<double> >(mapnik::vector_tile_impl::GeometryPBF<double>&, int, unsigned int, mapnik::box2d<double> const&)'
collect2: error: ld returned 1 exit status
gyp/tests.target.mk:235: recipe for target 'Release/tests' failed

Is this just that it needs a newer mapnik than the current 3.0.9 release?

tomhughes commented 8 years ago

Still not 100% sure what's going on here, but while it fails in Fedora 23 for me it's working fine in Fedora 24/Rawhide so obviously I have something in F23 that's too old or something.