Open artemp opened 1 year ago
As reported in Debian Bug #1055716, this now causes the build to fail:
python-mapnik ftbfs with Python 3.12:
[...] src/python_grid_utils.cpp: In function ‘void mapnik::grid2utf(const T&, boost::python::list&, std::vector<typename T::lookup_type>&)’: src/python_grid_utils.cpp:108:26: error: there are no arguments to ‘PyUnicode_FromUnicode’ that depend on a template parameter, so a declaration of ‘PyUnicode_FromUnicode’ must be available [-fpermissive] 108 | PyUnicode_FromUnicode(line.get(), array_size)))); | ^~~~~~~~~~~~~~~~~~~~~ src/python_grid_utils.cpp:108:26: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) src/python_grid_utils.cpp: In function ‘void mapnik::grid2utf(const T&, boost::python::list&, std::vector<typename T::lookup_type>&, unsigned int)’: src/python_grid_utils.cpp:171:26: error: there are no arguments to ‘PyUnicode_FromUnicode’ that depend on a template parameter, so a declaration of ‘PyUnicode_FromUnicode’ must be available [-fpermissive] 171 | PyUnicode_FromUnicode(line.get(), array_size)))); | ^~~~~~~~~~~~~~~~~~~~~ src/python_grid_utils.cpp: In function ‘void mapnik::write_features(const T&, boost::python::dict&, const std::vector<typename T::lookup_type>&)’: src/python_grid_utils.cpp:186:34: warning: declaration of ‘attributes’ shadows a global declaration [-Wshadow] 186 | std::set<std::string> const& attributes = grid_type.get_fields(); | ^~~~~~~~~~ In file included from /usr/include/mapnik/symbolizer_base.hpp:34, from /usr/include/mapnik/rule.hpp:28, from /usr/include/mapnik/grid/grid_renderer.hpp:31, from src/python_grid_utils.cpp:36: /usr/include/mapnik/attribute.hpp:73:7: note: shadowed declaration is here 73 | using attributes = std::unordered_map<std::string, value>; | ^~~~~~~~~~ src/python_grid_utils.cpp: In function ‘boost::python::dict mapnik::grid_encode(const T&, const std::string&, bool, unsigned int)’: src/python_grid_utils.cpp:263:43: warning: declaration of ‘grid’ shadows a global declaration [-Wshadow] 263 | boost::python::dict grid_encode( T const& grid, std::string const& format, bool add_features, unsigned int resolution) | ~~~~~~~~~^~~~ In file included from /usr/include/mapnik/grid/grid_renderer.hpp:29: /usr/include/mapnik/grid/grid.hpp:220:7: note: shadowed declaration is here 220 | using grid = hit_grid<mapnik::value_integer_pixel>; | ^~~~ src/python_grid_utils.cpp: In function ‘void mapnik::render_layer_for_grid(const Map&, grid&, unsigned int, const boost::python::list&, double, unsigned int, unsigned int)’: src/python_grid_utils.cpp:282:50: warning: declaration of ‘grid’ shadows a global declaration [-Wshadow] 282 | mapnik::grid & grid, | ~~~~~~~~~~~~~~~^~~~ /usr/include/mapnik/grid/grid.hpp:220:7: note: shadowed declaration is here 220 | using grid = hit_grid<mapnik::value_integer_pixel>; | ^~~~ src/python_grid_utils.cpp:315:27: warning: declaration of ‘attributes’ shadows a global declaration [-Wshadow] 315 | std::set<std::string> attributes = grid.get_fields(); | ^~~~~~~~~~ /usr/include/mapnik/attribute.hpp:73:7: note: shadowed declaration is here 73 | using attributes = std::unordered_map<std::string, value>; | ^~~~~~~~~~ src/python_grid_utils.cpp: In instantiation of ‘void mapnik::grid2utf(const T&, boost::python::list&, std::vector<typename T::lookup_type>&, unsigned int) [with T = hit_grid<gray64s_t>; typename T::lookup_type = std::__cxx11::basic_string<char>]’: src/python_grid_utils.cpp:236:28: required from ‘void mapnik::grid_encode_utf(const T&, boost::python::dict&, bool, unsigned int) [with T = hit_grid<gray64s_t>]’ src/python_grid_utils.cpp:267:27: required from ‘boost::python::dict mapnik::grid_encode(const T&, const std::string&, bool, unsigned int) [with T = hit_grid<gray64s_t>; std::string = std::__cxx11::basic_string<char>]’ src/python_grid_utils.cpp:278:138: required from here src/python_grid_utils.cpp:171:47: error: ‘PyUnicode_FromUnicode’ was not declared in this scope; did you mean ‘PyUnicode_FromString’? 171 | PyUnicode_FromUnicode(line.get(), array_size)))); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | PyUnicode_FromString src/python_grid_utils.cpp: In instantiation of ‘void mapnik::grid2utf(const T&, boost::python::list&, std::vector<typename T::lookup_type>&) [with T = hit_grid<gray64s_t>; typename T::lookup_type = std::__cxx11::basic_string<char>]’: src/python_grid_utils.cpp:240:28: required from ‘void mapnik::grid_encode_utf(const T&, boost::python::dict&, bool, unsigned int) [with T = hit_grid<gray64s_t>]’ src/python_grid_utils.cpp:267:27: required from ‘boost::python::dict mapnik::grid_encode(const T&, const std::string&, bool, unsigned int) [with T = hit_grid<gray64s_t>; std::string = std::__cxx11::basic_string<char>]’ src/python_grid_utils.cpp:278:138: required from here src/python_grid_utils.cpp:108:47: error: ‘PyUnicode_FromUnicode’ was not declared in this scope; did you mean ‘PyUnicode_FromString’? 108 | PyUnicode_FromUnicode(line.get(), array_size)))); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | PyUnicode_FromString src/python_grid_utils.cpp: In instantiation of ‘void mapnik::grid2utf(const T&, boost::python::list&, std::vector<typename T::lookup_type>&, unsigned int) [with T = hit_grid_view<image<gray64s_t> >; typename T::lookup_type = std::__cxx11::basic_string<char>]’: src/python_grid_utils.cpp:236:28: required from ‘void mapnik::grid_encode_utf(const T&, boost::python::dict&, bool, unsigned int) [with T = hit_grid_view<image<gray64s_t> >]’ src/python_grid_utils.cpp:267:27: required from ‘boost::python::dict mapnik::grid_encode(const T&, const std::string&, bool, unsigned int) [with T = hit_grid_view<image<gray64s_t> >; std::string = std::__cxx11::basic_string<char>]’ src/python_grid_utils.cpp:279:143: required from here src/python_grid_utils.cpp:171:47: error: ‘PyUnicode_FromUnicode’ was not declared in this scope; did you mean ‘PyUnicode_FromString’? 171 | PyUnicode_FromUnicode(line.get(), array_size)))); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | PyUnicode_FromString src/python_grid_utils.cpp: In instantiation of ‘void mapnik::grid2utf(const T&, boost::python::list&, std::vector<typename T::lookup_type>&) [with T = hit_grid_view<image<gray64s_t> >; typename T::lookup_type = std::__cxx11::basic_string<char>]’: src/python_grid_utils.cpp:240:28: required from ‘void mapnik::grid_encode_utf(const T&, boost::python::dict&, bool, unsigned int) [with T = hit_grid_view<image<gray64s_t> >]’ src/python_grid_utils.cpp:267:27: required from ‘boost::python::dict mapnik::grid_encode(const T&, const std::string&, bool, unsigned int) [with T = hit_grid_view<image<gray64s_t> >; std::string = std::__cxx11::basic_string<char>]’ src/python_grid_utils.cpp:279:143: required from here src/python_grid_utils.cpp:108:47: error: ‘PyUnicode_FromUnicode’ was not declared in this scope; did you mean ‘PyUnicode_FromString’? 108 | PyUnicode_FromUnicode(line.get(), array_size)))); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ | PyUnicode_FromString error: command '/usr/bin/c++' failed with exit code 1 E: pybuild pybuild:395: build: plugin distutils failed with: exit code=1: /usr/bin/python3.12 setup.py build