Cannot compile Wesnoth
Moderator: Forum Moderators
Cannot compile Wesnoth
I've been trying to compile Wesnoth on OpenMandriva Lx 4.1 But using both scons and cmake, it keeps giving me the same errors related to the Boost libraries. It was a complete nightmare just trying to get the dependencies installed and recognized by both scons and cmake (particularly the boost libraries). But while I was finally able to get that sorted out, I keep getting the same compile errors with both scons and cmake.
I know it's related to the boost_regex library, and I'm pretty sure I have all of the required dependencies installed. But while it almost finishes compiling and building it, it still fails right at the end. I followed the instructions here on compiling and building it, but it still fails with the same errors every time. I tried downloading both the archive from the main site for Wesnoth and the code from github, but I get exactly the same errors either way - the output below is from the zip archive downloaded from github.
While I'm not very familiar with C++ and am a lot more familiar with "normal" C, it seems that the linker can't find the code for some functions in the boost libraries. But I'm not sure if there is anything I can do about it though.
This is the actual error I keep getting:
(I trimmed the output before the errors off to make the post shorter)
Thanks for any help.
I know it's related to the boost_regex library, and I'm pretty sure I have all of the required dependencies installed. But while it almost finishes compiling and building it, it still fails right at the end. I followed the instructions here on compiling and building it, but it still fails with the same errors every time. I tried downloading both the archive from the main site for Wesnoth and the code from github, but I get exactly the same errors either way - the output below is from the zip archive downloaded from github.
While I'm not very familiar with C++ and am a lot more familiar with "normal" C, it seems that the linker can't find the code for some functions in the boost libraries. But I'm not sure if there is anything I can do about it though.
This is the actual error I keep getting:
Code: Select all
...
[100%] Building CXX object src/CMakeFiles/wesnoth-client.dir/whiteboard/utility.cpp.o
[100%] Linking CXX static library libwesnoth-client.a
make[2]: Leaving directory '/tmp/wesnoth-master'
[100%] Built target wesnoth-client
make[2]: Entering directory '/tmp/wesnoth-master'
Scanning dependencies of target wesnoth
make[2]: Leaving directory '/tmp/wesnoth-master'
make[2]: Entering directory '/tmp/wesnoth-master'
[100%] Building CXX object src/CMakeFiles/wesnoth.dir/wesnoth.cpp.o
[100%] Linking CXX executable ../wesnoth
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(types.cpp.o): in function `__static_initialization_and_destruction_0(int, int) [clone .constprop.0]':
types.cpp:(.text.startup+0x93): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(types.cpp.o): in function `__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > boost::re_detail_107200::re_is_set_member<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> >, unsigned int>(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::re_detail_107200::re_set_long<unsigned int> const*, boost::re_detail_107200::regex_data<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, bool)':
types.cpp:(.text._ZN5boost16re_detail_10720016re_is_set_memberIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_SH_SH_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb[_ZN5boost16re_detail_10720016re_is_set_memberIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_SH_SH_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb]+0x226): undefined reference to `boost::re_detail_107200::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: types.cpp:(.text._ZN5boost16re_detail_10720016re_is_set_memberIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_SH_SH_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb[_ZN5boost16re_detail_10720016re_is_set_memberIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_SH_SH_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb]+0x4ad): undefined reference to `boost::re_detail_107200::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(types.cpp.o): in function `bool boost::regex_search<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)':
types.cpp:(.text._ZN5boost12regex_searchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsESJ_[_ZN5boost12regex_searchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsESJ_]+0x155): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(types.cpp.o): in function `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_match()':
types.cpp:(.text._ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE11match_matchEv[_ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE11match_matchEv]+0x205): undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(types.cpp.o): in function `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_prefix()':
types.cpp:(.text._ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE12match_prefixEv[_ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE12match_prefixEv]+0x158): undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(component.cpp.o): in function `ai::find_component(ai::component*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ai::path_element&)':
component.cpp:(.text+0x14f6): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(map_context.cpp.o): in function `editor::map_context::save_map()':
map_context.cpp:(.text+0x4b3c): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(map_context.cpp.o): in function `editor::map_context::map_context(config const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
map_context.cpp:(.text+0x5254): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: map_context.cpp:(.text+0x533d): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: map_context.cpp:(.text+0x5755): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: map_context.cpp:(.text+0x59e2): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(map_context.cpp.o): in function `editor::map_context::to_config()':
map_context.cpp:(.text+0x6b75): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: map_context.cpp:(.text+0x6d28): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(location_palette.cpp.o): in function `editor::location_palette::adjust_size(SDL_Rect const&)::{lambda()#2}::operator()() const [clone .isra.0]':
location_palette.cpp:(.text+0x2c83): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-client.a(location_palette.cpp.o): in function `bool boost::regex_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)':
location_palette.cpp:(.text._ZN5boost11regex_matchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsE[_ZN5boost11regex_matchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsE]+0x10b): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-core.a(type.cpp.o): in function `schema_validation::wml_type::from_config(config const&)':
type.cpp:(.text+0x949): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: type.cpp:(.text+0xb4f): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-core.a(type.cpp.o): in function `schema_validation::wml_type_simple::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<schema_validation::wml_type>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<schema_validation::wml_type> > > > const&) const':
type.cpp:(.text+0xfde): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/lib64/gcc/x86_64-openmandriva-linux-gnu/9.2.1/../../../../x86_64-openmandriva-linux-gnu/bin/ld: libwesnoth-core.a(type.cpp.o): in function `boost::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > std::__find_if<boost::regex_token_iterator<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >, __gnu_cxx::__ops::_Iter_negate<schema_validation::wml_type_list::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<schema_validation::wml_type>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<schema_validation::wml_type> > > > const&) const::{lambda(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)#1}> >(__gnu_cxx::__ops::_Iter_negate<schema_validation::wml_type_list::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<schema_validation::wml_type>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<schema_validation::wml_type> > > > const&) const::{lambda(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)#1}>, __gnu_cxx::__ops::_Iter_negate<schema_validation::wml_type_list::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<schema_validation::wml_type>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<schema_validation::wml_type> > > > const&) const::{lambda(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)#1}>, __gnu_cxx::__ops::_Iter_negate<schema_validation::wml_type_list::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<schema_validation::wml_type>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<schema_validation::wml_type> > > > const&) const::{lambda(boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)#1}>, std::input_iterator_tag) [clone .isra.0]':
type.cpp:(.text+0x1bff): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/wesnoth.dir/build.make:107: wesnoth] Error 1
make[2]: Leaving directory '/tmp/wesnoth-master'
make[1]: *** [CMakeFiles/Makefile2:453: src/CMakeFiles/wesnoth.dir/all] Error 2
make[1]: Leaving directory '/tmp/wesnoth-master'
make: *** [Makefile:152: all] Error 2
Thanks for any help.
- Pentarctagon
- Project Manager
- Posts: 5566
- Joined: March 22nd, 2009, 10:50 pm
- Location: Earth (occasionally)
Re: Cannot compile Wesnoth
I'd guess it's related to the same problems you've had getting boost setup. It's a bit strange that even just getting the libraries recognized was difficult though.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
take one down, patch it around
-2,147,483,648 little bugs in the code
Re: Cannot compile Wesnoth
For a quick fix you can tell cmake to show you the command it runs (make VERBOSE=1, I think), then presumably see how the proper library path (-L) to your boost_regex install is missing and run the command again with the correct -L argument.
"If gameplay requires it, they can be made to live on Venus." -- scott
Re: Cannot compile Wesnoth
There was a bugfix for compatibility with Boost 1.73, in 1.14's 700beed150379db44457bfc999f9bc937ae23bd7 and master's 7068c5849eca900a3180a39dfa34e0c7a0c95def. Does this solve the problem?