mapnik fails to build with boost 1.77, either 3.1.0 or latest
Apteryks opened this issue · comments
Hello,
I'm trying to update mapnik in Guix, but I haven't been able to build it.
Here's an excerpt of the failed build when using the latest commit:
[...]
utils/mapnik-index/process_geojson_file_x3.cpp:136:46: note: ‘geom_type’ was declared here
136 | mapnik::geometry::geometry_types geom_type;
| ^~~~~~~~~
c++ -o src/libmapnik.so -Wl,-rpath-link,. -Wl,-soname,libmapnik.so.4.0 -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib -pthread -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib src/expression_grammar_x3.os src/fs.os src/request.os src/well_known_srs.os src/params.os src/parse_image_filters.os src/generate_image_filters.os src/image_filter_grammar_x3.os src/color.os src/conversions_numeric.os src/conversions_string.os src/image_copy.os src/image_compositing.os src/image_scaling.os src/datasource_cache.os src/datasource_cache_static.os src/debug.os src/geometry/box2d.os src/geometry/closest_point.os src/geometry/reprojection.os src/geometry/envelope.os src/geometry/interior.os src/geometry/polylabel.os src/expression_node.os src/expression_string.os src/expression.os src/transform_expression.os src/transform_expression_grammar_x3.os src/feature_kv_iterator.os src/feature_style_processor.os src/feature_type_style.os src/dasharray_parser.os src/font_engine_freetype.os src/font_set.os src/function_call.os src/gradient.os src/path_expression_grammar_x3.os src/parse_path.os src/image_reader.os src/cairo_io.os src/image.os src/image_view.os src/image_view_any.os src/image_any.os src/image_options.os src/image_util.os src/image_util_jpeg.os src/image_util_png.os src/image_util_tiff.os src/image_util_webp.os src/layer.os src/map.os src/load_map.os src/palette.os src/marker_helpers.os src/plugin.os src/rule.os src/save_map.os src/wkb.os src/twkb.os src/projection.os src/proj_transform.os src/proj_transform_cache.os src/scale_denominator.os src/simplify.os src/parse_transform.os src/memory_datasource.os src/symbolizer.os src/symbolizer_keys.os src/symbolizer_enumerations.os src/unicode.os src/raster_colorizer.os src/mapped_memory_cache.os src/marker_cache.os src/css/css_color_grammar_x3.os src/css/css_grammar_x3.os src/svg/svg_parser.os src/svg/svg_path_parser.os src/svg/svg_points_parser.os src/svg/svg_transform_parser.os src/svg/svg_path_grammar_x3.os src/warp.os src/vertex_cache.os src/vertex_adapters.os src/text/font_library.os src/text/text_layout.os src/text/text_line.os src/text/itemizer.os src/text/scrptrun.os src/text/face.os src/text/glyph_positions.os src/text/placement_finder.os src/text/properties_util.os src/text/renderer.os src/text/color_font_renderer.os src/text/symbolizer_helpers.os src/text/text_properties.os src/text/font_feature_settings.os src/text/formatting/base.os src/text/formatting/list.os src/text/formatting/text.os src/text/formatting/format.os src/text/formatting/layout.os src/text/formatting/registry.os src/text/placements/registry.os src/text/placements/base.os src/text/placements/dummy.os src/text/placements/list.os src/text/placements/simple.os src/group/group_layout_manager.os src/group/group_rule.os src/group/group_symbolizer_helper.os src/xml_tree.os src/config_error.os src/color_factory.os src/renderer_common.os src/renderer_common/render_group_symbolizer.os src/renderer_common/render_markers_symbolizer.os src/renderer_common/render_pattern.os src/renderer_common/render_thunk_extractor.os src/renderer_common/pattern_alignment.os src/util/math.os src/util/mapped_memory_file.os src/value.os src/cairo/process_markers_symbolizer.os src/cairo/process_group_symbolizer.os src/cairo/cairo_context.os src/cairo/cairo_renderer.os src/cairo/cairo_render_vector.os src/cairo/process_text_symbolizer.os src/cairo/process_line_symbolizer.os src/cairo/process_line_pattern_symbolizer.os src/cairo/process_polygon_symbolizer.os src/cairo/process_polygon_pattern_symbolizer.os src/cairo/process_debug_symbolizer.os src/cairo/process_point_symbolizer.os src/cairo/process_raster_symbolizer.os src/cairo/process_building_symbolizer.os src/png_reader.os src/tiff_reader.os src/webp_reader.os src/jpeg_reader.os src/agg/agg_renderer.os src/agg/process_dot_symbolizer.os src/agg/process_building_symbolizer.os src/agg/process_line_symbolizer.os src/agg/process_line_pattern_symbolizer.os src/agg/process_text_symbolizer.os src/agg/process_point_symbolizer.os src/agg/process_polygon_symbolizer.os src/agg/process_polygon_pattern_symbolizer.os src/agg/process_raster_symbolizer.os src/agg/process_shield_symbolizer.os src/agg/process_markers_symbolizer.os src/agg/process_group_symbolizer.os src/agg/process_debug_symbolizer.os src/grid/process_markers_symbolizer.os src/grid/process_group_symbolizer.os src/grid/grid.os src/grid/grid_renderer.os src/grid/process_building_symbolizer.os src/grid/process_line_pattern_symbolizer.os src/grid/process_line_symbolizer.os src/grid/process_point_symbolizer.os src/grid/process_polygon_pattern_symbolizer.os src/grid/process_polygon_symbolizer.os src/grid/process_raster_symbolizer.os src/grid/process_shield_symbolizer.os src/grid/process_text_symbolizer.os src/rapidxml_loader.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -L/gnu/store/6gq2n65ixpn6drd5wai2h7g5wjm6bp2b-cairo-1.16.0/lib -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl
c++ -o plugins/input/csv.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/csv/csv_utils.os plugins/input/csv/csv_datasource.os plugins/input/csv/csv_featureset.os plugins/input/csv/csv_inline_featureset.os plugins/input/csv/csv_index_featureset.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-json -lmapnik-wkt -lboost_system -licuuc
c++ -o utils/shapeindex/shapeindex -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib utils/shapeindex/shapeindex.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lboost_program_options -lboost_system -licuuc
c++ -o utils/mapnik-index/mapnik-index -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib utils/mapnik-index/mapnik-index.o utils/mapnik-index/process_csv_file.o utils/mapnik-index/process_geojson_file_x3.o plugins/input/csv/csv_utils.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lboost_program_options -lboost_system -lmapnik-json -lmapnik-wkt -licuuc
c++ -o plugins/input/pgraster.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/pgraster/pgraster_datasource.os plugins/input/pgraster/pgraster_featureset.os plugins/input/pgraster/pgraster_wkb_reader.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lpq -lboost_system -licuuc
c++ -o plugins/input/sqlite.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/sqlite/sqlite_datasource.os plugins/input/sqlite/sqlite_featureset.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lsqlite3 -lboost_system -licuuc
c++ -o plugins/input/raster.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/raster/raster_datasource.os plugins/input/raster/raster_featureset.os plugins/input/raster/raster_info.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lboost_system -licuuc
c++ -o test/standalone/datasource_registration_test-bin -pthread -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib test/standalone/datasource_registration_test.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-wkt -lmapnik-json -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lboost_program_options
c++ -o demo/c++/rundemo -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib demo/c++/rundemo.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lsqlite3 -lpthread
c++ -o plugins/input/topojson.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/topojson/topojson_datasource.os plugins/input/topojson/topojson_featureset.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-json -lboost_system -licuuc
c++ -o test/unit/run -pthread -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib test/unit/vertex_adapter/clipping_test.o test/unit/vertex_adapter/extend_converter.o test/unit/vertex_adapter/line_offset_test.o test/unit/vertex_adapter/offset_converter.o test/unit/vertex_adapter/simplify_converters_test.o test/unit/vertex_adapter/transform_path_adapter.o test/unit/vertex_adapter/vertex_adapter.o test/unit/util/char_array_buffer.o test/unit/text/script_runs.o test/unit/text/shaping.o test/unit/text/text_placements_list.o test/unit/text/text_placements_simple.o test/unit/symbolizer/marker_placement_vertex_last.o test/unit/symbolizer/markers_point_placement.o test/unit/symbolizer/symbolizer_test.o test/unit/svg/svg_parser_test.o test/unit/svg/svg_path_parser_test.o test/unit/svg/svg_renderer_test.o test/unit/sql/sql_parse.o test/unit/serialization/wkb_formats_test.o test/unit/serialization/wkb_test.o test/unit/serialization/xml_parser_trim.o test/unit/renderer/buffer_size_scale_factor.o test/unit/renderer/cairo_io.o test/unit/renderer/feature_style_processor.o test/unit/projection/proj_transform.o test/unit/pixel/agg_blend_src_over_test.o test/unit/pixel/palette.o test/unit/numerics/enumeration.o test/unit/numerics/safe_cast.o test/unit/map/background.o test/unit/map/query_map_point.o test/unit/imaging/image.o test/unit/imaging/image_apply_opacity.o test/unit/imaging/image_filter.o test/unit/imaging/image_io_test.o test/unit/imaging/image_is_solid.o test/unit/imaging/image_painted_test.o test/unit/imaging/image_premultiply.o test/unit/imaging/image_set_pixel.o test/unit/imaging/image_view.o test/unit/imaging/tiff_io.o test/unit/imaging/webp_io.o test/unit/geometry/centroid.o test/unit/geometry/closest_point.o test/unit/geometry/geometry.o test/unit/geometry/geometry_envelope_test.o test/unit/geometry/geometry_hit_test.o test/unit/geometry/geometry_is_simple.o test/unit/geometry/geometry_is_valid.o test/unit/geometry/geometry_reprojection.o test/unit/geometry/geometry_strategy_test.o test/unit/geometry/geometry_test_helper.o test/unit/geometry/grid_vertex_converter.o test/unit/geometry/interior.o test/unit/geometry/is_clockwise.o test/unit/geometry/is_empty.o test/unit/geometry/polygon_vertex_processor.o test/unit/geometry/polylabel.o test/unit/geometry/remove_empty.o test/unit/font/fontset_runtime_test.o test/unit/datasource/csv.o test/unit/datasource/gdal.o test/unit/datasource/geobuf.o test/unit/datasource/geojson.o test/unit/datasource/memory.o test/unit/datasource/ogr.o test/unit/datasource/postgis.o test/unit/datasource/shapeindex.o test/unit/datasource/spatial_index.o test/unit/datasource/topojson.o test/unit/core/box2d_test.o test/unit/core/comparison_test.o test/unit/core/conversions_test.o test/unit/core/copy_move_test.o test/unit/core/exceptions_test.o test/unit/core/expressions_test.o test/unit/core/params_test.o test/unit/core/transform_expressions_test.o test/unit/core/value_test.o test/unit/color/css_color.o test/unit/run.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-wkt -lmapnik-json -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lboost_program_options
c++ -o test/standalone/map_xml_test-bin -pthread -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib test/standalone/map_xml_test.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-wkt -lmapnik-json -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lboost_program_options
ld: demo/c++/rundemo.o: in function `main':
rundemo.cpp:(.text.startup+0x2898): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: rundemo.cpp:(.text.startup+0x2cf6): undefined reference to `mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo> > >::apply(double)'
collect2: error: ld returned 1 exit status
c++ -o test/standalone/agg_rasterizer_integer_overflow_test-bin -pthread -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib test/standalone/agg_rasterizer_integer_overflow_test.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-wkt -lmapnik-json -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lboost_program_options
c++ -o test/standalone/font_registration_test-bin -pthread -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib test/standalone/font_registration_test.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-wkt -lmapnik-json -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lboost_program_options
c++ -o plugins/input/postgis.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/postgis/postgis_datasource.os plugins/input/postgis/postgis_featureset.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lpq -lboost_system -licuuc
c++ -o test/visual/run -pthread -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib test/visual/report.o test/visual/runner.o test/visual/run.o test/visual/parse_map_sizes.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-wkt -lmapnik-json -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl -lboost_program_options
c++ -o utils/mapnik-render/mapnik-render -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib utils/mapnik-render/mapnik-render.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lboost_program_options -lagg -lboost_filesystem -lboost_regex -lcairo -lpng -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -lz -ldl
c++ -o plugins/input/geojson.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/geojson/geojson_datasource.os plugins/input/geojson/geojson_featureset.os plugins/input/geojson/geojson_index_featureset.os plugins/input/geojson/geojson_memory_index_featureset.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lmapnik-json -lboost_system -licuuc
c++ -o plugins/input/shape.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/shape/shape_datasource.os plugins/input/shape/shape_featureset.os plugins/input/shape/shape_index_featureset.os plugins/input/shape/shape_io.os plugins/input/shape/shape_utils.os plugins/input/shape/dbfile.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -lmapnik -lboost_system -licuuc
c++ -o plugins/input/geobuf.input -shared -Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib plugins/input/geobuf/geobuf_datasource.os plugins/input/geobuf/geobuf_featureset.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lfreetype -L/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/lib -L/usr/lib -licuuc -lboost_system -lmapnik-json -lmapnik
scons: *** [demo/c++/rundemo] Error 1
ld: test/standalone/agg_rasterizer_integer_overflow_test.o: in function `____C_A_T_C_H____T_E_S_T____0()':
agg_rasterizer_integer_overflow_test.cpp:(.text+0x3274f): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: test/visual/runner.o: in function `visual_tests::cairo_renderer::render(mapnik::Map const&, double) const [clone .constprop.0]':
runner.cpp:(.text+0x910): undefined reference to `mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo> > >::apply(double)'
ld: test/visual/runner.o: in function `void visual_tests::renderer_visitor::test<visual_tests::renderer<visual_tests::cairo_svg_renderer> >(visual_tests::renderer<visual_tests::cairo_svg_renderer> const&) const':
runner.cpp:(.text._ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_18cairo_svg_rendererEEEEEvRKT_[_ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_18cairo_svg_rendererEEEEEvRKT_]+0x25e): undefined reference to `mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo> > >::apply(double)'
ld: test/visual/runner.o: in function `void visual_tests::renderer_visitor::test<visual_tests::renderer<visual_tests::agg_renderer> >(visual_tests::renderer<visual_tests::agg_renderer> const&) const':
runner.cpp:(.text._ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_12agg_rendererEEEEEvRKT_[_ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_12agg_rendererEEEEEvRKT_]+0x2cf): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: runner.cpp:(.text._ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_12agg_rendererEEEEEvRKT_[_ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_12agg_rendererEEEEEvRKT_]+0x58a): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: test/visual/runner.o: in function `void visual_tests::renderer_visitor::test<visual_tests::renderer<visual_tests::cairo_ps_renderer> >(visual_tests::renderer<visual_tests::cairo_ps_renderer> const&) const':
runner.cpp:(.text._ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_17cairo_ps_rendererEEEEEvRKT_[_ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_17cairo_ps_rendererEEEEEvRKT_]+0x24f): undefined reference to `mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo> > >::apply(double)'
ld: test/visual/runner.o: in function `void visual_tests::renderer_visitor::test<visual_tests::renderer<visual_tests::cairo_pdf_renderer> >(visual_tests::renderer<visual_tests::cairo_pdf_renderer> const&) const':
runner.cpp:(.text._ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_18cairo_pdf_rendererEEEEEvRKT_[_ZNK12visual_tests16renderer_visitor4testINS_8rendererINS_18cairo_pdf_rendererEEEEEvRKT_]+0x24f): undefined reference to `mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo> > >::apply(double)'
collect2: error: ld returned 1 exit status
scons: *** [test/visual/run] Error 1
collect2: error: ld returned 1 exit status
scons: *** [test/standalone/agg_rasterizer_integer_overflow_test-bin] Error 1
ld: utils/mapnik-render/mapnik-render.o: in function `main':
mapnik-render.cpp:(.text.startup+0xc24): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
collect2: error: ld returned 1 exit status
scons: *** [utils/mapnik-render/mapnik-render] Error 1
ld: test/unit/renderer/buffer_size_scale_factor.o: in function `____C_A_T_C_H____T_E_S_T____0()':
buffer_size_scale_factor.cpp:(.text+0xc4f): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: buffer_size_scale_factor.cpp:(.text+0xcf1): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: test/unit/map/background.o: in function `____C_A_T_C_H____T_E_S_T____0()':
background.cpp:(.text+0x34f): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: background.cpp:(.text+0xbcd): undefined reference to `mapnik::feature_style_processor<mapnik::cairo_renderer<std::shared_ptr<_cairo> > >::apply(double)'
ld: test/unit/imaging/image_painted_test.o: in function `____C_A_T_C_H____T_E_S_T____0()':
image_painted_test.cpp:(.text+0xec7): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: test/unit/font/fontset_runtime_test.o: in function `____C_A_T_C_H____T_E_S_T____0()':
fontset_runtime_test.cpp:(.text+0x152e): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: test/unit/datasource/ogr.o: in function `____C_A_T_C_H____T_E_S_T____0()':
ogr.cpp:(.text+0x4b0): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
ld: test/unit/core/exceptions_test.o: in function `____C_A_T_C_H____T_E_S_T____0()':
exceptions_test.cpp:(.text+0x183a): undefined reference to `mapnik::feature_style_processor<mapnik::agg_renderer<mapnik::image<mapnik::rgba8_t>, mapnik::label_collision_detector4> >::apply(double)'
collect2: error: ld returned 1 exit status
scons: *** [test/unit/run] Error 1
scons: building terminated because of errors.
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "scons" arguments: ("-j" "24" "CC=gcc" "PREFIX=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0" "CUSTOM_LDFLAGS=-Wl,-rpath=/gnu/store/ssfra5gb56wvcybcqs8xhpcv9s0a79i6-mapnik-3.1.0/lib") exit-status: 2 term-signal: #f stop-signal: #f>
phase `build' failed after 117.8 seconds
If I use the latest release instead (3.1.0), I get:
[...]
c++ -o plugins/input/csv/csv_utils.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include plugins/input/csv/csv_utils.cpp
c++ -o plugins/input/csv/csv_utils.os -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include plugins/input/csv/csv_utils.cpp
c++ -o src/json/mapnik_geometry_to_geojson.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include src/json/mapnik_geometry_to_geojson.cpp
ar rc deps/agg/libagg.a deps/agg/src/agg_line_aa_basics.o deps/agg/src/agg_vcgen_bspline.o deps/agg/src/agg_trans_warp_magnifier.o deps/agg/src/agg_arc.o deps/agg/src/agg_vpgen_clip_polygon.o deps/agg/src/agg_vcgen_markers_term.o deps/agg/src/agg_trans_single_path.o deps/agg/src/agg_bspline.o deps/agg/src/agg_gsv_text.o deps/agg/src/agg_vcgen_contour.o deps/agg/src/agg_trans_double_path.o deps/agg/src/agg_vcgen_stroke.o deps/agg/src/agg_bezier_arc.o deps/agg/src/agg_line_profile_aa.o deps/agg/src/agg_vcgen_dash.o deps/agg/src/agg_image_filters.o deps/agg/src/agg_sqrt_tables.o deps/agg/src/agg_embedded_raster_fonts.o deps/agg/src/agg_vcgen_smooth_poly1.o deps/agg/src/agg_vpgen_segmentator.o deps/agg/src/agg_arrowhead.o deps/agg/src/agg_curves.o deps/agg/src/agg_vpgen_clip_polyline.o deps/agg/src/agg_pixfmt_rgba.o deps/agg/src/agg_rounded_rect.o deps/agg/src/agg_trans_affine.o
ranlib deps/agg/libagg.a
c++ -o src/json/mapnik_json_geometry_parser.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include src/json/mapnik_json_geometry_parser.cpp
c++ -o src/json/mapnik_json_generator_grammar.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include src/json/mapnik_json_generator_grammar.cpp
c++ -o src/json/mapnik_json_geometry_grammar.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include src/json/mapnik_json_geometry_grammar.cpp
c++ -o src/json/mapnik_json_feature_grammar.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include src/json/mapnik_json_feature_grammar.cpp
In file included from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:25,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp:15,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/rtree.hpp:80,
from plugins/input/csv/csv_datasource.hpp:41,
from plugins/input/csv/csv_featureset.hpp:29,
from plugins/input/csv/csv_featureset.cpp:24:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp: In function ‘bool boost::geometry::index::detail::disjoint_box_box(const Box&, const Box&, const boost::geometry::default_strategy&)’:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:32: error: ‘boost::geometry::strategy::disjoint’ has not been declared
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^~~~~~~~
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:68: error: expected unqualified-id before ‘<’ token
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:36:82: error: missing template arguments before ‘(’ token
36 | return geometry::detail::disjoint::disjoint_box_box(box1, box2, strategy_type());
| ^
In file included from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:25,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp:15,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/rtree.hpp:80,
from plugins/input/csv/csv_datasource.hpp:41,
from plugins/input/csv/csv_index_featureset.hpp:30,
from plugins/input/csv/csv_index_featureset.cpp:24:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp: In function ‘bool boost::geometry::index::detail::disjoint_box_box(const Box&, const Box&, const boost::geometry::default_strategy&)’:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:32: error: ‘boost::geometry::strategy::disjoint’ has not been declared
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^~~~~~~~
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:68: error: expected unqualified-id before ‘<’ token
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:36:82: error: missing template arguments before ‘(’ token
36 | return geometry::detail::disjoint::disjoint_box_box(box1, box2, strategy_type());
| ^
In file included from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:25,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp:15,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/rtree.hpp:80,
from plugins/input/csv/csv_datasource.hpp:41,
from plugins/input/csv/csv_inline_featureset.hpp:29,
from plugins/input/csv/csv_inline_featureset.cpp:24:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp: In function ‘bool boost::geometry::index::detail::disjoint_box_box(const Box&, const Box&, const boost::geometry::default_strategy&)’:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:32: error: ‘boost::geometry::strategy::disjoint’ has not been declared
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^~~~~~~~
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:68: error: expected unqualified-id before ‘<’ token
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:36:82: error: missing template arguments before ‘(’ token
36 | return geometry::detail::disjoint::disjoint_box_box(box1, box2, strategy_type());
| ^
In file included from plugins/input/csv/csv_featureset.hpp:38,
from plugins/input/csv/csv_featureset.cpp:24:
include/mapnik/mapped_memory_cache.hpp: At global scope:
include/mapnik/mapped_memory_cache.hpp:60:35: warning: type attributes ignored after type is already defined [-Wattributes]
60 | extern template class MAPNIK_DECL singleton<mapped_memory_cache, CreateStatic>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from plugins/input/csv/csv_index_featureset.hpp:38,
from plugins/input/csv/csv_index_featureset.cpp:24:
include/mapnik/mapped_memory_cache.hpp: At global scope:
include/mapnik/mapped_memory_cache.hpp:60:35: warning: type attributes ignored after type is already defined [-Wattributes]
60 | extern template class MAPNIK_DECL singleton<mapped_memory_cache, CreateStatic>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:25,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp:15,
from /gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/rtree.hpp:80,
from plugins/input/csv/csv_datasource.hpp:41,
from plugins/input/csv/csv_datasource.cpp:25:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp: In function ‘bool boost::geometry::index::detail::disjoint_box_box(const Box&, const Box&, const boost::geometry::default_strategy&)’:
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:32: error: ‘boost::geometry::strategy::disjoint’ has not been declared
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^~~~~~~~
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:68: error: expected unqualified-id before ‘<’ token
35 | typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
| ^
/gnu/store/hm6dlgzkqz33fbiba07jjh8yzdikn7pp-boost-1.77.0/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:36:82: error: missing template arguments before ‘(’ token
36 | return geometry::detail::disjoint::disjoint_box_box(box1, box2, strategy_type());
| ^
c++ -o src/json/generic_json.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -fPIC -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/gnu/store/ak70pk2hjks17cx7zjdmdmzpcpiy9gpi-freetype-2.10.4/include/freetype2 -I/gnu/store/p7iq81hxxyk9zy7a9dngbf16zm8d4klx-libpng-1.6.37/include/libpng16 -I/gnu/store/sclbgw6zss7acky2ic0r8lrg430cys4a-postgresql-14.4/include -I/usr/include src/json/generic_json.cpp
scons: *** [plugins/input/csv/csv_inline_featureset.os] Error 1
In file included from plugins/input/csv/csv_featureset.hpp:38,
from plugins/input/csv/csv_datasource.cpp:26:
include/mapnik/mapped_memory_cache.hpp: At global scope:
include/mapnik/mapped_memory_cache.hpp:60:35: warning: type attributes ignored after type is already defined [-Wattributes]
60 | extern template class MAPNIK_DECL singleton<mapped_memory_cache, CreateStatic>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scons: *** [plugins/input/csv/csv_featureset.os] Error 1
scons: *** [plugins/input/csv/csv_index_featureset.os] Error 1
scons: *** [plugins/input/csv/csv_datasource.os] Error 1
scons: building terminated because of errors.
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "scons" arguments: ("-j" "24" "CC=gcc" "PREFIX=/gnu/store/bfyzk5b4pgmlwa9i5lxxqvja4zrs4d6x-mapnik-3.1.0" "CUSTOM_LDFLAGS=-Wl,-rpath=/gnu/store/bfyzk5b4pgmlwa9i5lxxqvja4zrs4d6x-mapnik-3.1.0/lib") exit-status: 2 term-signal: #f stop-signal: #f>
phase `build' failed after 85.9 seconds
What is the secret ingredient I'm missing for a successful build? :-)
The direct dependencies used are:
dependencies: boost@1.77.0 cairo@1.16.0 freetype@2.10.4 harfbuzz@2.8.2 icu4c@69.1 libjpeg-turbo@2.0.5
+ libpng@1.6.37 libtiff@4.3.0 libwebp@1.2.0 libxml2@2.9.12 pkg-config@0.29.2 postgresql@14.4 proj.4@4.9.3
+ sqlite@3.36.0 zlib@1.2.11
Have you tried it with the cmake build?
I haven't; the latest 3.1.0 release lacks a CMakeLists.txt file.
Using the latest commit, it seems to detect boost fine, but now I have a new problem:
ExternalProject.cmake:2650 (message):
error: could not find git for clone of catch2-populate
Call Stack (most recent call first):
/gnu/store/j65q3aw414010gdfvmsynwpzfb2jyyd3-cmake-minimal-3.21.4/share/cmake-3.21/Modules/ExternalProject.cmake:3700 (_ep_add_download_command)
CMakeLists.txt:22 (ExternalProject_Add)
The build system insists on fetching catch2 from the web, although I've provided it with a system-provided package.
If you are working in a offline setup, you need to specify some cmake variables:
https://cmake.org/cmake/help/latest/module/FetchContent.html
FETCHCONTENT_FULLY_DISCONNECTED=ON
catch2_SOURCE_DIR=<location to catch2>
catch2_BINARY_DIR=<location to catch2 cmake binary dir>
catch2_POPULATED=ON
Thanks for pointing the doc, the build got farther with this patch, which uses a very recent feature making the above variables obsolete:
1 file changed, 3 insertions(+), 2 deletions(-)
test/CMakeLists.txt | 5 +++--
modified test/CMakeLists.txt
@@ -6,7 +6,8 @@ include(FetchContent)
FetchContent_Declare(
Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
- GIT_TAG v2.13.7)
+ GIT_TAG v2.13.7
+ FIND_PACKAGE_ARGS NAMES Catch2)
FetchContent_MakeAvailable(Catch2)
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.19.0")
@@ -174,7 +175,7 @@ target_link_libraries(map_xml_test PUBLIC
)
target_include_directories(map_xml_test PRIVATE "${Catch2_SOURCE_DIR}/single_include/catch2" "${CMAKE_CURRENT_BINARY_DIR}")
-include("${Catch2_SOURCE_DIR}/contrib/Catch.cmake")
+include(Catch)
file(COPY data DESTINATION "${MAPNIK_OUTPUT_DIR}/test")
file(COPY data-visual DESTINATION "${MAPNIK_OUTPUT_DIR}/test")
Catch)\n"))))
Or in Guix's language, Scheme:
(arguments
(list
#:cmake cmake ;for FIND_PACKAGE_ARGS
#:configure-flags
#~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
#$(this-package-native-input "catch2")
"/include/catch2"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-system-catch2
(lambda _
(substitute* "test/CMakeLists.txt"
(("GIT_TAG.*v2.13.7" all)
(string-append all "\n"
" FIND_PACKAGE_ARGS NAMES Catch2"))
(("^include.*Catch2_SOURCE_DIR.*contrib/Catch.cmake.*")
"include(Catch)\n")))))))
I needed the submodules in the checkout for the mapbox dependencies and test data (I'll try making separate packages for the mapbox things later), and the above extra include directive so the test #include catch2.hpp
headers could be located.
After which I got a build to fail with a single test failure:
Running tests...
/gnu/store/b1cnwv44s3hnbrp2mqcyxp8kfibpbdhx-cmake-3.24.2/bin/ctest --force-new-ctest-process
Test project /tmp/guix-build-mapnik-3.1.0-0.8110349.drv-0/build
Start 1: CSS color
1/88 Test #1: CSS color ................................................ Passed 0.02 sec
Start 2: box2d
2/88 Test #2: box2d .................................................... Passed 0.02 sec
Start 3: comparison
3/88 Test #3: comparison ............................................... Passed 0.02 sec
Start 4: conversions
4/88 Test #4: conversions .............................................. Passed 0.02 sec
Start 5: copy
5/88 Test #5: copy ..................................................... Passed 0.03 sec
Start 6: exceptions
6/88 Test #6: exceptions ............................................... Passed 0.20 sec
Start 7: expressions
7/88 Test #7: expressions .............................................. Passed 0.02 sec
Start 8: parameters
8/88 Test #8: parameters ............................................... Passed 0.02 sec
Start 9: transform-expressions
9/88 Test #9: transform-expressions .................................... Passed 0.02 sec
Start 10: mapnik::value
10/88 Test #10: mapnik::value ............................................ Passed 0.02 sec
Start 11: csv
11/88 Test #11: csv ...................................................... Passed 1.25 sec
Start 12: gdal
12/88 Test #12: gdal ..................................................... Passed 0.03 sec
Start 13: Geobuf
13/88 Test #13: Geobuf ................................................... Passed 0.02 sec
Start 14: geojson
14/88 Test #14: geojson .................................................. Passed 0.20 sec
Start 15: memory datasource
15/88 Test #15: memory datasource ........................................ Passed 0.02 sec
Start 16: ogr
16/88 Test #16: ogr ......................................................***Failed 0.10 sec
Filters: ogr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mapnik-test-unit is a Catch v2.13.7 host application.
Run with -? for options
-------------------------------------------------------------------------------
ogr
ogr point feature
-------------------------------------------------------------------------------
/tmp/guix-build-mapnik-3.1.0-0.8110349.drv-0/source/test/unit/datasource/ogr.cpp:38
...............................................................................
/tmp/guix-build-mapnik-3.1.0-0.8110349.drv-0/source/test/unit/datasource/ogr.cpp:56: FAILED:
REQUIRE( mapnik::compare(expected, im) == 0 )
with expansion:
33 == 0
===============================================================================
test cases: 1 | 1 failed
assertions: 2 | 1 passed | 1 failed
Start 17: postgis
17/88 Test #17: postgis .................................................. Passed 0.04 sec
Start 18: ConnectionCreator
18/88 Test #18: ConnectionCreator ........................................ Passed 0.02 sec
Start 19: invalid shapeindex
19/88 Test #19: invalid shapeindex ....................................... Passed 0.03 sec
Start 20: shapeindex
20/88 Test #20: shapeindex ............................................... Passed 0.37 sec
Start 21: spatial_index
21/88 Test #21: spatial_index ............................................ Passed 0.02 sec
Start 22: TopoJSON
22/88 Test #22: TopoJSON ................................................. Passed 0.02 sec
Start 23: fontset
23/88 Test #23: fontset .................................................. Passed 0.02 sec
Start 24: geometry centroid
24/88 Test #24: geometry centroid ........................................ Passed 0.02 sec
Start 25: geometry closest point
25/88 Test #25: geometry closest point ................................... Passed 0.02 sec
Start 26: geometry
26/88 Test #26: geometry ................................................. Passed 0.02 sec
Start 27: geometry ops - envelope
27/88 Test #27: geometry ops - envelope .................................. Passed 0.02 sec
Start 28: geometry ops
28/88 Test #28: geometry ops ............................................. Passed 0.02 sec
Start 29: geometry is_simple
29/88 Test #29: geometry is_simple ....................................... Passed 0.02 sec
Start 30: geometry is_valid
30/88 Test #30: geometry is_valid ........................................ Passed 0.02 sec
Start 31: geometry reprojection
31/88 Test #31: geometry reprojection .................................... Passed 0.23 sec
Start 32: geometry strategy tests
32/88 Test #32: geometry strategy tests .................................. Passed 0.03 sec
Start 33: spiral_iterator
33/88 Test #33: spiral_iterator .......................................... Passed 0.02 sec
Start 34: grid_vertex_converter
34/88 Test #34: grid_vertex_converter .................................... Passed 0.02 sec
Start 35: polygon interior
35/88 Test #35: polygon interior ......................................... Passed 0.02 sec
Start 36: Ring is_clockwise
36/88 Test #36: Ring is_clockwise ........................................ Passed 0.02 sec
Start 37: geometry is_empty
37/88 Test #37: geometry is_empty ........................................ Passed 0.02 sec
Start 38: polygon_vertex_processor
38/88 Test #38: polygon_vertex_processor ................................. Passed 0.02 sec
Start 39: polylabel
39/88 Test #39: polylabel ................................................ Passed 0.02 sec
Start 40: geometry remove_empty
40/88 Test #40: geometry remove_empty .................................... Passed 0.02 sec
Start 41: image class
41/88 Test #41: image class .............................................. Passed 0.02 sec
Start 42: image apply_opacity
42/88 Test #42: image apply_opacity ...................................... Passed 0.02 sec
Start 43: image filter
43/88 Test #43: image filter ............................................. Passed 0.02 sec
Start 44: image io
44/88 Test #44: image io ................................................. Passed 0.06 sec
Start 45: image is_solid
45/88 Test #45: image is_solid ........................................... Passed 0.02 sec
Start 46: image
46/88 Test #46: image .................................................... Passed 0.02 sec
Start 47: image premultiply
47/88 Test #47: image premultiply ........................................ Passed 0.02 sec
Start 48: image set_pixel
48/88 Test #48: image set_pixel .......................................... Passed 0.02 sec
Start 49: image view
49/88 Test #49: image view ............................................... Passed 0.02 sec
Start 50: tiff io
50/88 Test #50: tiff io .................................................. Passed 0.06 sec
Start 51: webp io
51/88 Test #51: webp io .................................................. Passed 0.03 sec
Start 52: map
52/88 Test #52: map ...................................................... Passed 0.02 sec
Start 53: enumeration
53/88 Test #53: enumeration .............................................. Passed 0.02 sec
Start 54: saturated cast
54/88 Test #54: saturated cast ........................................... Passed 0.02 sec
Start 55: blending
55/88 Test #55: blending ................................................. Passed 0.02 sec
Start 56: palette
56/88 Test #56: palette .................................................. Passed 0.02 sec
Start 57: projection transform
57/88 Test #57: projection transform ..................................... Passed 0.13 sec
Start 58: feature_style_processor: buffer-size with scale-factor
58/88 Test #58: feature_style_processor: buffer-size with scale-factor ... Passed 0.02 sec
Start 59: cairo_io
59/88 Test #59: cairo_io ................................................. Passed 0.02 sec
Start 60: feature_style_processor
60/88 Test #60: feature_style_processor .................................. Passed 0.03 sec
Start 61: geometry formats
61/88 Test #61: geometry formats ......................................... Passed 0.02 sec
Start 62: Well-known-geometries
62/88 Test #62: Well-known-geometries .................................... Passed 0.02 sec
Start 63: xml parser
63/88 Test #63: xml parser ............................................... Passed 0.02 sec
Start 64: sql parse
64/88 Test #64: sql parse ................................................ Passed 0.02 sec
Start 65: SVG parser
65/88 Test #65: SVG parser ............................................... Passed 0.02 sec
Start 66: SVG path parser
66/88 Test #66: SVG path parser .......................................... Passed 0.02 sec
Start 67: SVG renderer
67/88 Test #67: SVG renderer ............................................. Passed 0.02 sec
Start 68: marker placement vertex last
68/88 Test #68: marker placement vertex last ............................. Passed 0.02 sec
Start 69: marker placement point
69/88 Test #69: marker placement point ................................... Passed 0.02 sec
Start 70: symbolizer
70/88 Test #70: symbolizer ............................................... Passed 0.02 sec
Start 71: nested script runs
71/88 Test #71: nested script runs ....................................... Passed 0.02 sec
Start 72: many punctuation chars
72/88 Test #72: many punctuation chars ................................... Passed 0.02 sec
Start 73: empty runs
73/88 Test #73: empty runs ............................................... Passed 0.02 sec
Start 74: shaping
74/88 Test #74: shaping .................................................. Passed 0.04 sec
Start 75: text_placements_list
75/88 Test #75: text_placements_list ..................................... Passed 0.02 sec
Start 76: text_placements_simple
76/88 Test #76: text_placements_simple ................................... Passed 0.02 sec
Start 77: char_array_buffer
77/88 Test #77: char_array_buffer ........................................ Passed 0.02 sec
Start 78: clipping
78/88 Test #78: clipping ................................................. Passed 0.02 sec
Start 79: extend converter
79/88 Test #79: extend converter ......................................... Passed 0.02 sec
Start 80: offsets
80/88 Test #80: offsets .................................................. Passed 0.05 sec
Start 81: offset converter
81/88 Test #81: offset converter ......................................... Passed 0.06 sec
Start 82: converters
82/88 Test #82: converters ............................................... Passed 0.02 sec
Start 83: transform_path_adapter
83/88 Test #83: transform_path_adapter ................................... Passed 0.05 sec
Start 84: vertex_adapters
84/88 Test #84: vertex_adapters .......................................... Passed 0.02 sec
Start 85: agg_rasterizer_integer_overflow
85/88 Test #85: agg_rasterizer_integer_overflow .......................... Passed 0.01 sec
Start 86: datasource_cache
86/88 Test #86: datasource_cache ......................................... Passed 0.02 sec
Start 87: font
87/88 Test #87: font ..................................................... Passed 0.05 sec
Start 88: map xml I/O
88/88 Test #88: map xml I/O .............................................. Passed 0.30 sec
99% tests passed, 1 tests failed out of 88
Total Test time (real) = 4.87 sec
The following tests FAILED:
16 - ogr (Failed)
Errors while running CTest
make: *** [Makefile:94: test] Error 8
The dependencies used are:
boost@1.77.0 cairo@1.16.0 catch2@2.13.8 freetype@2.10.4 gdal@3.5.1 harfbuzz@2.8.2
+ icu4c@69.1 libjpeg-turbo@2.0.5 libpng@1.6.37 libtiff@4.3.0 libwebp@1.2.0 libxml2@2.9.12
+ pkg-config@0.29.2 postgresql@14.4 proj@9.1.0 sqlite@3.36.0 zlib@1.2.11
And the build is made in a containerized environment. Any ideas?
For now I've marked the ogr
test as expected to fail with
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The 'ogr' test fails for unknown reasons. Mark it as
;; expected to fail (see:
;; https://github.com/mapnik/mapnik/issues/4329).
(substitute* "/test/unit/datasource/ogr.cpp"
(("TEST_CASE\\(\"ogr\"" all)
(string-append all ", \"[!shouldfail]\"")))))
And pushed the fixed package to the Guix repo.