Open rdevon opened 7 years ago
Well the good news is it's just failing to compile tests, not the code you need to run things.
Problem is linking the boost_unit_test library. Smells like a mismatch of static/dynamic or boost version. What libboost-test-dev
do you have installed? Does installing libboost-all-dev
fix it?
libboost-test-dev:amd64/xenial 1.58.0.1ubuntu1 uptodate
libboost-all-dev
was already installed... (1.58.0.1ubuntu1)
Removing and reinstalling libboost-all-dev
sadly does not work. Could this be an amd64
vs i386
problem?
This isn't a 32/64-bit problem. Though sometimes Ubuntu compiles Boost's libraries with slightly different g++ than they have installed at the time. And Boost can be very finnicky about being compiled with the same version.
For what it's worth, this will stop it from compiling tests: cmake -DBUILD_TESTING=0 ..
If you run make VERBOSE=1
it will print out the command line. Here's an example:
cd $HOME/kenlm/build/util && /usr/bin/cmake -E cmake_link_script CMakeFiles/sorted_uniform_test.dir/link.txt --verbose=1 /usr/bin/c++ -O3 -DNDEBUG CMakeFiles/sorted_uniform_test.dir/sorted_uniform_test.cc.o -o ../tests/sorted_uniform_test -rdynamic ../lib/libkenlm_util.a -lboost_program_options -lboost_system -lboost_thread -lboost_unit_test_framework -lboost_chrono -lboost_date_time -lboost_atomic -lpthread -lpthread -lrt /usr/local/lib/libz.so -lbz2 -llzma -lpthread -lrt -Wl,-rpath,/usr/local/lib
Keeping in mind that there's a change of directory that you'll also need to do, can you run your c++
command again, this time adding -v
then post the command and the output?
Note if it says c++: error: CMakeFiles
etc then you probably didn't change to the right directory first.
I've got the same problem: On Ubuntu 16.04 with boost version 1.58.0.1ubuntu1
it fails to compile. However, on Ubuntu 14.40 with boost version 1.54.0.1ubuntu1
everything is OK.
Try adding -std=c++
11 to your CXXFLAGS. For example
cmake -DCMAKE_CXX_OPT_FLAGS_RELEASE="-std=c++11"
Remains the same. When running cmake I got this warning:
Manually-specified variables were not used by the project:
CMAKE_CXX_OPT_FLAGS_RELEASE
And I also looked at CMakeLists.txt
and tried the CMAKE_CXX_FLAGS_RELEASE
flag.
I've seen unit test break on Moses when the boost library is non-standard. However, kenlm is building fine on my Ubuntu 16.04, boost Version: 1.58.0.1ubuntu1
Try uninstalling and deleting every version of boost on your system, verify your path variables aren't pointing to anywhere with boost.
Or just ignore the unit test errors
I got the same problem with the Boost version 1.58.0.1ubuntu.1 and Ubuntu 16.04 Updating my g++ version to 5.4.0 solved it.
@Garvys Yes!
The default gcc version on my Ubuntu 16.04 was 4.9. I switched it to 5.4 by sudo update-alternatives --config gcc
. Then I re-installed libboost-all-dev and complied kenlm with the default settings. It finally worked. Thank you so much!
The same issue. ``cmake -DBUILD_TESTING=0 ..'' works for me.
-- Boost version: 1.61.0 -- Found the following Boost libraries: -- program_options -- system -- thread -- unit_test_framework -- chrono -- date_time -- atomic -- Configuring done -- Generating done
Getting the same issue with weird cmake output. I am guessing I have multiple boost libraries but I don't know how to deal with this. Why can't C/C++ just have something like pip or conda that handles everything for you...
@rubick1896 That's successful configuration output. Do you have an error?
@kpu
MakeFiles/tokenize_piece_test.dir/tokenize_piece_test.cc.o: In function boost::unit_test::make_test_case(boost::function<void ()> const&, boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long)': tokenize_piece_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m[_ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m]+0x31): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstringboost::unit_test::make_test_case(boost::function<void ()> const&, boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long)': string_stream_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m[_ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m]+0x31): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstringboost::unit_test::make_test_case(boost::function<void ()> const&, boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long)': sorted_uniform_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m[_ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m]+0x31): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstringboost::unit_test::make_test_case(boost::function<void ()> const&, boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long)': integer_to_string_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m[_ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_m]+0x31): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstring
@kpu I also tried "cmake -DBUILD_TESTING=0 ..", it gets rid of the error in the middle, but at the end
Linking CXX executable ../../bin/interpolate
CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x17): undefined reference to
boost::program_options::validate(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traitsboost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)': interpolate_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x31): undefined reference to
boost::program_options::validation_error::get_templateabi:cxx11'
interpolate_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)': interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x56): undefined reference to
boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::cxx11::basic_string<char, std::char_traitsboost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)': interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x29d): undefined reference to
boost::program_options::to_internal(std::cxx11::basic_string<char, std::char_traitsboost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::vector<float, std::allocatorboost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::vector<std::boost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
main':
interpolate_main.cc:(.text.startup+0x114): undefined reference to boost::program_options::options_description::options_description(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)' interpolate_main.cc:(.text.startup+0x760): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traitsboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
void boost::program_options::validate<std::cxx11::basic_string<char, std::char_traitsboost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
void boost::program_options::validate<float, char>(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traitsboost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' interpolate_main.cc:(.text._ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi[_ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi]+0x8b9): undefined reference to
boost::program_options::invalid_option_value::invalid_option_value(std::cxx11::basic_string<char, std::char_traitsboost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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::cxx11::basic_string<char, std::char_traitsboost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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::cxx11::basic_string<char, std::char_traitsboost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const' collect2: error: ld returned 1 exit status lm/interpolate/CMakeFiles/interpolate.dir/build.make:108: recipe for target 'bin/interpolate' failed make[2]: *** [bin/interpolate] Error 1 CMakeFiles/Makefile2:782: recipe for target 'lm/interpolate/CMakeFiles/interpolate.dir/all' failed make[1]: *** [lm/interpolate/CMakeFiles/interpolate.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 91%] Linking CXX executable ../bin/kenlm_benchmark [ 92%] Linking CXX executable ../../bin/filter CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function
boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::cxx11::basic_string<char, std::char_traitsboost::program_options::validation_error::get_template[abi:cxx11](boost::program_options::validation_error::kind_t)' kenlm_benchmark_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x49): undefined reference to
boost::program_options::error_with_option_name::error_with_option_name(std::cxx11::basic_string<char, std::char_traitsboost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x56): undefined reference to
boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::cxx11::basic_string<char, std::char_traitsboost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x1f7): undefined reference to
boost::program_options::detail::cmdline::cmdline(std::vector<std::cxx11::basic_string<char, std::char_traitsboost::program_options::typed_value<unsigned long, char>::name() const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueImcE4nameEv[_ZNK5boost15program_options11typed_valueImcE4nameEv]+0x30): undefined reference to
boost::program_options::arg[abi:cxx11]'
CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x30): undefined reference to
boost::program_options::arg[abi:cxx11]'
CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function main': kenlm_benchmark_main.cc:(.text.startup+0x93): undefined reference to
boost::program_options::options_description::options_description(std::cxx11::basic_string<char, std::char_traitsboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x3cc): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x46d): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traitsboost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::cxx11::basic_string<char, std::char_traitsboost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::cxx11::basic_string<char, std::char_traitsboost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' follow CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x40): undefined reference to
boost::program_options::value_semantic_codecvt_helper
@kpu I also tried "cmake -DBUILD_TESTING=0 ..", it gets rid of the error in the middle, but at the end
Linking CXX executable ../../bin/interpolate CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x17): undefined reference to
boost::program_options::validate(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::cxx11::basic_string<char, std::chartraits, std::allocator >, int)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x31): undefined reference to `boost::program_options::validation_error::get_templateabi:cxx11' interpolate_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x49): undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::cxx11::basic_string<char, std::char_traits> const&, int)': interpolate_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7 , std::allocator > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits> const&, std:: , std::allocator > const&, int)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function boost::program_options::basic_command_line_parser::extra_parser(boost::function1<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&>)': interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x56): undefined reference to
boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits>, std:: , std::allocator > >, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits> const&>)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function boost::program_options::basic_command_line_parser::basic_command_line_parser(int, char const_ const*)': interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x29d): undefined reference to
boost::program_options::to_internal(std::, std::allocator > const&)' interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x352): undefined reference to boost::program_options::detail::cmdline::cmdline(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x5): undefined reference to>, char>::name() const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7 boost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::vector<float, std::allocator>, char>::name() const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueISt6vectorIfSaIfEEcE4nameEv[_ZNK5boost15program_options11typed_valueISt6vectorIfSaIfEEcE4nameEv]+0x5): undefined reference to cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned int, unsigned int)' interpolate_main.cc:(.text.startup+0x760): undefined reference toboost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > >, char>::name() const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcE4nameEv[_ZNK5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcE4nameEv]+0x5): undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
main': interpolate_main.cc:(.text.startup+0x114): undefined reference to `boost::program_options::options_description::options_description(std::boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' interpolate_main.cc:(.text.startup+0x837): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' interpolate_main.cc:(.text.startup+0xc32): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function void boost::program_options::validate<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >_, int)': interpolate_main.cc:(.text._ZN5boost15program_options8validateINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi[_ZN5boost15program_options8validateINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi]+0xda): undefined reference to
boost::program_options::validate(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function>*, int)' interpolate_main.cc:(.text._ZN5boost15program_options8validateINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi[_ZN5boost15program_options8validateINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi]+0x4bc): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std:: void boost::program_options::validate<float, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<float, std::allocator<float> >*, int)': interpolate_main.cc:(.text._ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi[_ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi]+0x851): undefined reference to
boost::program_options::invalid_option_value::invalid_option_value(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' interpolate_main.cc:(.text._ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi[_ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi]+0x8b9): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.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::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to> const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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:: boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to
boost::program_options::error_with_option_name::substitute_placeholders(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' follow CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcEE]+0x40): undefined reference to boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, bool) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorIfSaIfEEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorIfSaIfEEcEE]+0x40): undefined reference to
boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > > const&, bool) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x40): undefined reference to `boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, bool) const' collect2: error: ld returned 1 exit status lm/interpolate/CMakeFiles/interpolate.dir/build.make:108: recipe for target 'bin/interpolate' failed make[2]: [bin/interpolate] Error 1 CMakeFiles/Makefile2:782: recipe for target 'lm/interpolate/CMakeFiles/interpolate.dir/all' failed make[1]: [lm/interpolate/CMakeFiles/interpolate.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 91%] Linking CXX executable ../bin/kenlm_benchmark [ 92%] Linking CXX executable ../../bin/filter CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x31): undefined reference to> const&, std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&, int)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7 boost::program_options::validation_error::get_templateabi:cxx11' kenlm_benchmark_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x49): undefined reference to
boost::program_options::error_with_option_name::error_with_option_name(std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits> const&, std:: , std::allocator cxx11::basic_string<char, std::char_traits, std::allocator >, char>::xparse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&) const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x2d): undefined reference to> const&, std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&, int)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function `boost::program_options::typed_value<std:: boost::program_options::validate(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function
boost::program_options::basic_command_line_parser::extra_parser(boost::function1<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&>)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x56): undefined reference toboost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function
boost::program_options::basic_command_line_parser::basic_command_lineparser(int, char const const)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x1ac): undefined reference toboost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x1f7): undefined reference to
boost::program_options::detail::cmdline::cmdline(std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In functionboost::program_options::typed_value<unsigned long, char>::name() const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueImcE4nameEv[_ZNK5boost15program_options11typed_valueImcE4nameEv]+0x30): undefined reference to
boost::program_options::arg[abi:cxx11]' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In functionboost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x30): undefined reference to
boost::program_options::arg[abi:cxx11]' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In functionmain': kenlm_benchmark_main.cc:(.text.startup+0x93): undefined reference to
boost::program_options::options_description::options_description(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned int, unsigned int)' kenlm_benchmark_main.cc:(.text.startup+0x36b): undefined reference toboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x3cc): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x3fe): undefined reference toboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x46d): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function `void boost::program_options::validate<unsigned long, char>(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator , long)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x432): undefined reference to>, std::allocator<std::__cxx11::basic_string<char, std::char_traits , std::allocator > > > const&, unsigned long boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30): undefined reference to> const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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:: boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' follow CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x40): undefined reference to
boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > > const&, bool) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueImcEE[_ZTVN5boost15program_options11typed_valueImcEE]+0x40): undefined reference to `boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, bool) const' collect2: error: ld returned 1 exit status lm/CMakeFiles/kenlm_benchmark.dir/build.make:107: recipe for target 'bin/kenlm_benchmark' failed make[2]: [bin/kenlm_benchmark] Error 1 CMakeFiles/Makefile2:353: recipe for target 'lm/CMakeFiles/kenlm_benchmark.dir/all' failed make[1]: [lm/CMakeFiles/kenlm_benchmark.dir/all] Error 2 [ 92%] Built target filter [ 93%] Linking CXX static library ../../lib/libkenlm_builder.a [ 93%] Built target kenlm_builder Makefile:138: recipe for target 'all' failed
I am getting the same error. were you able to solve this?
@megharangaswamy I am getting the same error...
@kpu I also tried "cmake -DBUILD_TESTING=0 ..", it gets rid of the error in the middle, but at the end Linking CXX executable ../../bin/interpolate CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x17): undefined reference to
boost::program_options::validate(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::cxx11::basic_string<char, std::chartraits, std::allocator >, int)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x31): undefined reference to `boost::program_options::validation_error::get_templateabi:cxx11' interpolate_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x49): undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::cxx11::basic_string<char, std::char_traits> const&, int)': interpolate_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7 , std::allocator > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits> const&, std:: , std::allocator > const&, int)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function boost::program_options::basic_command_line_parser::extra_parser(boost::function1<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&>)': interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x56): undefined reference to
boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits>, std:: , std::allocator > >, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits> const&>)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function boost::program_options::basic_command_line_parser::basic_command_line_parser(int, char const_ const*)': interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x29d): undefined reference to
boost::program_options::to_internal(std::, std::allocator > const&)' interpolate_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x352): undefined reference to boost::program_options::detail::cmdline::cmdline(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x5): undefined reference to>, char>::name() const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7 boost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::vector<float, std::allocator>, char>::name() const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueISt6vectorIfSaIfEEcE4nameEv[_ZNK5boost15program_options11typed_valueISt6vectorIfSaIfEEcE4nameEv]+0x5): undefined reference to cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned int, unsigned int)' interpolate_main.cc:(.text.startup+0x760): undefined reference toboost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
boost::program_options::typed_value<std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > >, char>::name() const': interpolate_main.cc:(.text._ZNK5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcE4nameEv[_ZNK5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcE4nameEv]+0x5): undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function
main': interpolate_main.cc:(.text.startup+0x114): undefined reference to `boost::program_options::options_description::options_description(std::boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' interpolate_main.cc:(.text.startup+0x837): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' interpolate_main.cc:(.text.startup+0xc32): undefined reference to `boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function void boost::program_options::validate<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >_, int)': interpolate_main.cc:(.text._ZN5boost15program_options8validateINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi[_ZN5boost15program_options8validateINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi]+0xda): undefined reference to
boost::program_options::validate(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.o: In function>*, int)' interpolate_main.cc:(.text._ZN5boost15program_options8validateINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi[_ZN5boost15program_options8validateINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEEvRNS_3anyERKSt6vectorINS3_IT0_S4_ISB_ESaISB_EEESaISE_EEPSA_IT_SaISJ_EEi]+0x4bc): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std:: void boost::program_options::validate<float, char>(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<float, std::allocator<float> >*, int)': interpolate_main.cc:(.text._ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi[_ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi]+0x851): undefined reference to
boost::program_options::invalid_option_value::invalid_option_value(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' interpolate_main.cc:(.text._ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi[_ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPS4_IT_SaISG_EEi]+0x8b9): undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/interpolate.dir/interpolate_main.cc.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::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38): undefined reference to> const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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:: boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to
boost::program_options::error_with_option_name::substitute_placeholders(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/interpolate.dir/interpolate_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' follow CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcEE]+0x40): undefined reference to boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, bool) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorIfSaIfEEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorIfSaIfEEcEE]+0x40): undefined reference to
boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > > const&, bool) const' CMakeFiles/interpolate.dir/interpolate_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x40): undefined reference to `boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, bool) const' collect2: error: ld returned 1 exit status lm/interpolate/CMakeFiles/interpolate.dir/build.make:108: recipe for target 'bin/interpolate' failed make[2]: [bin/interpolate] Error 1 CMakeFiles/Makefile2:782: recipe for target 'lm/interpolate/CMakeFiles/interpolate.dir/all' failed make[1]: [lm/interpolate/CMakeFiles/interpolate.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 91%] Linking CXX executable ../bin/kenlm_benchmark [ 92%] Linking CXX executable ../../bin/filter CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x31): undefined reference to> const&, std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&, int)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7 boost::program_options::validation_error::get_templateabi:cxx11' kenlm_benchmark_main.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x49): undefined reference to
boost::program_options::error_with_option_name::error_with_option_name(std::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits> const&, std:: , std::allocator cxx11::basic_string<char, std::char_traits, std::allocator >, char>::xparse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&) const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x2d): undefined reference to> const&, std::__cxx11::basic_string<char, std::char_traits , std::allocator > const&, int)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function `boost::program_options::typed_value<std:: boost::program_options::validate(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function
boost::program_options::basic_command_line_parser::extra_parser(boost::function1<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&>)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x56): undefined reference toboost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function
boost::program_options::basic_command_line_parser::basic_command_lineparser(int, char const const)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x1ac): undefined reference toboost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' kenlm_benchmark_main.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x1f7): undefined reference to
boost::program_options::detail::cmdline::cmdline(std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In functionboost::program_options::typed_value<unsigned long, char>::name() const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueImcE4nameEv[_ZNK5boost15program_options11typed_valueImcE4nameEv]+0x30): undefined reference to
boost::program_options::arg[abi:cxx11]' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In functionboost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() const': kenlm_benchmark_main.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x30): undefined reference to
boost::program_options::arg[abi:cxx11]' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In functionmain': kenlm_benchmark_main.cc:(.text.startup+0x93): undefined reference to
boost::program_options::options_description::options_description(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned int, unsigned int)' kenlm_benchmark_main.cc:(.text.startup+0x36b): undefined reference toboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x3cc): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x3fe): undefined reference toboost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' kenlm_benchmark_main.cc:(.text.startup+0x46d): undefined reference to
boost::program_options::abstract_variables_map::operator[](std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o: In function `void boost::program_options::validate<unsigned long, char>(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator , long)': kenlm_benchmark_main.cc:(.text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x432): undefined reference to>, std::allocator<std::__cxx11::basic_string<char, std::char_traits , std::allocator > > > const&, unsigned long boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30): undefined reference to> const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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:: boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30): undefined reference to `boost::program_options::error_with_option_name::substitute_placeholders(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.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::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const' follow CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x40): undefined reference to
boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits , std::allocator cxx11::basic_string<char, std::char_traits>, std::allocator<std:: , std::allocator > > > const&, bool) const' CMakeFiles/kenlm_benchmark.dir/kenlm_benchmark_main.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueImcEE[_ZTVN5boost15program_options11typed_valueImcEE]+0x40): undefined reference to `boost::program_options::value_semantic_codecvt_helper::parse(boost::any&, std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, bool) const' collect2: error: ld returned 1 exit status lm/CMakeFiles/kenlm_benchmark.dir/build.make:107: recipe for target 'bin/kenlm_benchmark' failed make[2]: [bin/kenlm_benchmark] Error 1 CMakeFiles/Makefile2:353: recipe for target 'lm/CMakeFiles/kenlm_benchmark.dir/all' failed make[1]: [lm/CMakeFiles/kenlm_benchmark.dir/all] Error 2 [ 92%] Built target filter [ 93%] Linking CXX static library ../../lib/libkenlm_builder.a [ 93%] Built target kenlm_builder Makefile:138: recipe for target 'all' failed I am getting the same error. were you able to solve this?
i got same issues boost 1.69.0 gcc 6.5.0
i add this in CMakeLists.txt, it work.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0") set(CMAKE_CXX_STANDARD 11)
I'm trying to compile on Ubuntu 16.04 with
make -j 4
. cmake runs without errors.[ 38%] Linking CXX executable ../tests/tokenize_piece_test CMakeFiles/tokenize_piece_test.dir/tokenize_piece_test.cc.o: In function)'
collect2: error: ld returned 1 exit status
util/CMakeFiles/tokenize_piece_test.dir/build.make:106: recipe for target 'tests/tokenize_piece_test' failed
make[2]: [tests/tokenize_piece_test] Error 1
CMakeFiles/Makefile2:1049: recipe for target 'util/CMakeFiles/tokenize_piece_test.dir/all' failed
make[1]: [util/CMakeFiles/tokenize_piece_test.dir/all] Error 2
make[1]: Waiting for unfinished jobs....
[ 39%] Linking CXX static library ../../lib/libkenlm_interpolate.a
[ 39%] Built target kenlm_interpolate
[ 40%] Linking CXX executable ../tests/string_stream_test
[ 41%] Linking CXX executable ../tests/sorted_uniform_test
CMakeFiles/string_stream_test.dir/string_stream_test.cc.o: In function )'
collect2: error: ld returned 1 exit status
util/CMakeFiles/string_stream_test.dir/build.make:106: recipe for target 'tests/string_stream_test' failed
make[2]: [tests/string_stream_test] Error 1
CMakeFiles/Makefile2:1012: recipe for target 'util/CMakeFiles/string_stream_test.dir/all' failed
make[1]: [util/CMakeFiles/string_stream_test.dir/all] Error 2
CMakeFiles/sorted_uniform_test.dir/sorted_uniform_test.cc.o: In function )'
collect2: error: ld returned 1 exit status
util/CMakeFiles/sorted_uniform_test.dir/build.make:106: recipe for target 'tests/sorted_uniform_test' failed
make[2]: [tests/sorted_uniform_test] Error 1
CMakeFiles/Makefile2:1086: recipe for target 'util/CMakeFiles/sorted_uniform_test.dir/all' failed
make[1]: [util/CMakeFiles/sorted_uniform_test.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: [all] Error 2
boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)': tokenize_piece_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE]+0x23): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name(boost::unit_test::basic_cstringboost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)': string_stream_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE]+0x23): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name(boost::unit_test::basic_cstringboost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)': sorted_uniform_test.cc:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE]+0x23): undefined reference to
boost::unit_test::ut_detail::normalize_test_case_name(boost::unit_test::basic_cstringMy boost version: dpkg -s libboost-dev | grep 'Version' Version: 1.58.0.1ubuntu1
Any ideas?