mapnik / mapnik-support

Use the issues queue here to ask questions and offer help on using Mapnik (maybe if this works well we can retire the mailing list at http://mapnik.org/contact/?)
6 stars 6 forks source link

mapnik 3.0.23 build error on CentOS8 ARM64 #146

Open GISerliang opened 3 years ago

GISerliang commented 3 years ago

OS: CentOS 8 ARM64 Mapnik Version: 3.0.23 release Clang++: 9.0.1 Boost: 1.65.1

Build use mason 0.17.0 Error Info:

# then install the rest with -j1
python scons/scons.py -j1 --config=cache --implicit-cache --max-drift=1
scons: Reading SConscript files ...
Using previous successful configuration...
Re-configure by running "python scons/scons.py configure".

Welcome to Mapnik...

scons: done reading SConscript files.
scons: Building targets ...
/usr/bin/clang++ -o utils/mapnik-index/mapnik-index utils/mapnik-index/mapnik-index.o utils/mapnik-index/process_csv_file.o utils/mapnik-index/process_geojson_file.o plugins/input/csv/csv_utils.o -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lmason_packages/.link/lib -Lmason_packages/linux-aarch64/libgdal/2.1.3/lib -lmapnik -lboost_program_options -lboost_system -lmapnik-json -lmapnik-wkt -licuuc -lboost_filesystem -lboost_regex -lcairo -lpixman-1 -lpng -lproj -ltiff -lwebp -licui18n -lboost_system -lharfbuzz -ljpeg -licuuc -lfreetype -licudata -lz -ldl -ldl
utils/mapnik-index/mapnik-index.o: In function `main':
mapnik-index.cpp:(.text+0x48c): undefined reference to `boost::program_options::options_description::options_description(std::string const&, unsigned int, unsigned int)'
mapnik-index.cpp:(.text+0x1d28): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
mapnik-index.cpp:(.text+0x1fb0): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
mapnik-index.cpp:(.text+0x21b0): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
mapnik-index.cpp:(.text+0x23b4): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
mapnik-index.cpp:(.text+0x25c0): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
utils/mapnik-index/mapnik-index.o:mapnik-index.cpp:(.text+0x276c): more undefined references to `boost::program_options::abstract_variables_map::operator[](std::string const&) const' follow
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)':
mapnik-index.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc]+0x4c): undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::typed_value<unsigned int, char>::name() const':
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueIjcE4nameEv[_ZNK5boost15program_options11typed_valueIjcE4nameEv]+0x24): undefined reference to `boost::program_options::arg'
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueIjcE4nameEv[_ZNK5boost15program_options11typed_valueIjcE4nameEv]+0x28): undefined reference to `boost::program_options::arg'
utils/mapnik-index/mapnik-index.o: In function `void boost::program_options::validate<unsigned int, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned int*, long)':
mapnik-index.cpp:(.text._ZN5boost15program_options8validateIjcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateIjcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x20c): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::string const&, std::string const&, int)':
mapnik-index.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i]+0x38): undefined reference to `boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)'
mapnik-index.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i]+0x50): undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::string const&, std::string const&, std::string const&, int)'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::typed_value<double, char>::name() const':
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueIdcE4nameEv[_ZNK5boost15program_options11typed_valueIdcE4nameEv]+0x24): undefined reference to `boost::program_options::arg'
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueIdcE4nameEv[_ZNK5boost15program_options11typed_valueIdcE4nameEv]+0x28): undefined reference to `boost::program_options::arg'
utils/mapnik-index/mapnik-index.o: In function `void boost::program_options::validate<double, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, double*, long)':
mapnik-index.cpp:(.text._ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x224): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::typed_value<char, char>::name() const':
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueIccE4nameEv[_ZNK5boost15program_options11typed_valueIccE4nameEv]+0x24): undefined reference to `boost::program_options::arg'
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueIccE4nameEv[_ZNK5boost15program_options11typed_valueIccE4nameEv]+0x28): undefined reference to `boost::program_options::arg'
utils/mapnik-index/mapnik-index.o: In function `void boost::program_options::validate<char, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, char*, long)':
mapnik-index.cpp:(.text._ZN5boost15program_options8validateIccEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l[_ZN5boost15program_options8validateIccEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l]+0x1ac): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::typed_value<std::string, char>::name() const':
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueISscE4nameEv[_ZNK5boost15program_options11typed_valueISscE4nameEv]+0x24): undefined reference to `boost::program_options::arg'
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueISscE4nameEv[_ZNK5boost15program_options11typed_valueISscE4nameEv]+0x28): undefined reference to `boost::program_options::arg'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const':
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE[_ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE]+0x34): undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
utils/mapnik-index/mapnik-index.o: In function `boost::program_options::typed_value<std::vector<std::string, std::allocator<std::string> >, char>::name() const':
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv[_ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv]+0x24): undefined reference to `boost::program_options::arg'
mapnik-index.cpp:(.text._ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv[_ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv]+0x28): undefined reference to `boost::program_options::arg'
utils/mapnik-index/mapnik-index.o: In function `void boost::program_options::validate<std::string, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::string, std::allocator<std::string> >*, int)':
mapnik-index.cpp:(.text._ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi[_ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi]+0x11c): undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
mapnik-index.cpp:(.text._ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi[_ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi]+0x434): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)'
utils/mapnik-index/mapnik-index.o: In function `std::vector<std::string, std::allocator<std::string> > boost::program_options::to_internal<std::string>(std::vector<std::string, std::allocator<std::string> > const&)':
mapnik-index.cpp:(.text._ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE[_ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE]+0x50): undefined reference to `boost::program_options::to_internal(std::string const&)'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options11typed_valueIjcEE[_ZTVN5boost15program_options11typed_valueIjcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30): more undefined references to `boost::program_options::error_with_option_name::substitute_placeholders(std::string const&) const' follow
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options11typed_valueIdcEE[_ZTVN5boost15program_options11typed_valueIdcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options11typed_valueIccEE[_ZTVN5boost15program_options11typed_valueIccEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options11typed_valueISscEE[_ZTVN5boost15program_options11typed_valueISscEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
utils/mapnik-index/mapnik-index.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [utils/mapnik-index/mapnik-index] Error 1
scons: building terminated because of errors.
make: *** [Makefile:56: mapnik] Error 2

Additionally, if I run configure file with all utils equal no, mapnik build success, but when I use the libmapnik.so file, some other errors happend such as follow:

Mapnik LOG> 2020-11-10 14:32:42: register_datasources: std::bad_alloc
Mapnik LOG> 2020-11-10 14:32:42: register_fonts: std::bad_alloc

Could someone help me?