Cannot compile Wesnoth

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

Post Reply
jsb
Posts: 1
Joined: June 9th, 2020, 5:09 pm

Cannot compile Wesnoth

Post by jsb »

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:

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
(I trimmed the output before the errors off to make the post shorter)

Thanks for any help.
User avatar
Pentarctagon
Project Manager
Posts: 5526
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Cannot compile Wesnoth

Post by Pentarctagon »

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
Soliton
Site Administrator
Posts: 1680
Joined: April 5th, 2005, 3:25 pm
Location: #wesnoth-mp

Re: Cannot compile Wesnoth

Post by Soliton »

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
User avatar
octalot
General Code Maintainer
Posts: 783
Joined: July 17th, 2010, 7:40 pm
Location: Austria

Re: Cannot compile Wesnoth

Post by octalot »

There was a bugfix for compatibility with Boost 1.73, in 1.14's 700beed150379db44457bfc999f9bc937ae23bd7 and master's 7068c5849eca900a3180a39dfa34e0c7a0c95def. Does this solve the problem?
Post Reply