Hi, I'm building the current master on Ubuntu 16.04 (inside Bash on Windows), using GCC 7.2 and 6.3 and Boost 1.58 - all installed from Xenial packages. I'm experiencing the linker failure for libosrm_extract.a around libboost_regex.
It has been a while (~6 weeks) since I built OSRM master last time, but the OSRM used to build fine in that environment. I'm puzzled, because I see the Travis CI builds are perfectly green. I wonder if anyone experienced similar issue. Below, I paste the g++ command with link error. As you can see all of the Boost libraries (and some others) are repeated, but that should not be relevant to the issue. In fact, I tried w/o the redundant libs to confirm the linking still fails. /usr/bin/g++-6 -Wall -Wextra -pedantic -Wuninitialized -Wunreachable-code -Wstrict-overflow=1 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdiagnostics-color=auto -fPIC -ftemplate-depth=1024 -ffunction-sections -fdata-sections -std=c++14 -O3 -DNDEBUG -fuse-ld=gold -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common CMakeFiles/osrm-extract.dir/src/tools/extract.cpp.o -o osrm-extract -rdynamic libosrm_extract.a -lboost_program_options -lbz2 -lboost_regex -lboost_date_time -lboost_chrono -lboost_filesystem -lboost_iostreams -lboost_thread -lboost_system -lpthread -lexpat -llua5.2 -lm -lz -ltbb -ltbbmalloc -lbz2 -lboost_regex -lboost_date_time -lboost_chrono -lboost_filesystem -lboost_iostreams -lboost_thread -lboost_system -lpthread -lexpat -llua5.2 -lm -lz -ltbb -ltbbmalloc libosrm_extract.a(restriction_parser.cpp.o):restriction_parser.cpp:function __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > boost::re_detail::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::re_set_long<unsigned int> const*, boost::re_detail::regex_data<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, bool): error: undefined reference to 'boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const' libosrm_extract.a(restriction_parser.cpp.o):restriction_parser.cpp:function __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > boost::re_detail::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::re_set_long<unsigned int> const*, boost::re_detail::regex_data<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, bool): g[abi:cxx11](char const*, char const*) const' -- Mateusz Loskot, http://mateusz.loskot.net _______________________________________________ OSRM-talk mailing list [email protected] https://lists.openstreetmap.org/listinfo/osrm-talk
