moses icon indicating copy to clipboard operation
moses copied to clipboard

Boost fails

Open iplayfast opened this issue 7 years ago • 8 comments

Lots'o boost errors. Using boost 1.58 for the most part. A couple of 1.54s.

CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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': /usr/local/include/boost/program_options/detail/value_semantic.hpp:167: 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::char_traits, std::allocator >, int)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)': /usr/local/include/boost/program_options/errors.hpp:373: undefined reference to boost::program_options::validation_error::get_templateabi:cxx11' /usr/local/include/boost/program_options/errors.hpp:373: undefined reference to boost::program_options::error_with_option_name::error_with_option_name(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&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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&>)': /usr/local/include/boost/program_options/detail/parsers.hpp:78: undefined reference to boost::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/gen-disj-conj.dir/gen-disj-conj.cc.o: In function std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > boost::program_options::to_internal<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(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&)': /usr/local/include/boost/program_options/detail/convert.hpp:79: undefined reference to boost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function boost::program_options::basic_command_line_parser::basic_command_line_parser(int, char const const*)': /usr/local/include/boost/program_options/detail/parsers.hpp:44: undefined reference to boost::program_options::detail::cmdline::cmdline(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&)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, char>::name() const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function boost::program_options::typed_value<float, char>::name() const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function boost::program_options::typed_value<unsigned int, char>::name() const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function boost::program_options::typed_value<unsigned long, char>::name() const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function main': /home/chris/Downloads/cog/moses/moses/comboreduct/main/gen-disj-conj.cc:57: 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)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function void boost::program_options::validate<float, 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&, float*, long)': /usr/local/include/boost/program_options/detail/value_semantic.hpp:92: undefined reference to boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o: In function void boost::program_options::validate<unsigned int, 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&, unsigned int*, long)': /usr/local/include/boost/program_options/detail/value_semantic.hpp:92: undefined reference to boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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 >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, unsigned long*, long)': /usr/local/include/boost/program_options/detail/value_semantic.hpp:92: undefined reference to boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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/gen-disj-conj.dir/gen-disj-conj.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<char>, std::allocator<char> > const&) const' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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_traits, std::allocator > const&) const' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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<char>, std::allocator<char> > const&) const' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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/gen-disj-conj.dir/gen-disj-conj.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<char>, std::allocator<char> > const&) const' follow CMakeFiles/gen-disj-conj.dir/gen-disj-conj.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' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueIjcEE[_ZTVN5boost15program_options11typed_valueIjcEE]+0x40): undefined reference to boost::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' CMakeFiles/gen-disj-conj.dir/gen-disj-conj.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueIfcEE[_ZTVN5boost15program_options11typed_valueIfcEE]+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/gen-disj-conj.dir/gen-disj-conj.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<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' ../libcomboreduct.so: undefined reference to boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > > const&)' ../libcomboreduct.so: undefined reference to boost::gregorian::greg_month::get_month_map_ptr[abi:cxx11]()' ../libcomboreduct.so: undefined reference to boost::re_detail_106100::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >, boost::regex_traits<char, boost::cpp_regex_traits > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)' collect2: error: ld returned 1 exit status moses/comboreduct/main/CMakeFiles/gen-disj-conj.dir/build.make:102: recipe for target 'moses/comboreduct/main/gen-disj-conj' failed make[2]: *** [moses/comboreduct/main/gen-disj-conj] Error 1 CMakeFiles/Makefile2:566: recipe for target 'moses/comboreduct/main/CMakeFiles/gen-disj-conj.dir/all' failed make[1]: *** [moses/comboreduct/main/CMakeFiles/gen-disj-conj.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function parse_program_args(int, char**)': /home/chris/Downloads/cog/moses/moses/comboreduct/main/combo-fmt-converter.cc:63: 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)' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.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': /usr/local/include/boost/program_options/detail/value_semantic.hpp:167: 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::char_traits, std::allocator >, int)' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function boost::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&>)': /usr/local/include/boost/program_options/detail/parsers.hpp:78: 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 >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&>)' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function 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> > > > boost::program_options::to_internal<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(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&)': /usr/local/include/boost/program_options/detail/convert.hpp:79: undefined reference to boost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)': /usr/local/include/boost/program_options/detail/parsers.hpp:44: 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/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function boost::program_options::typed_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function boost::program_options::typed_value<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> > > >, char>::name() const': /usr/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to boost::program_options::arg[abi:cxx11]' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o: In function void boost::program_options::validate<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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<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> > > >*, int)': /usr/local/include/boost/program_options/detail/value_semantic.hpp:146: 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::char_traits, std::allocator >, int)' /usr/local/include/boost/program_options/detail/value_semantic.hpp:150: undefined reference to boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.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/combo-fmt-converter.dir/combo-fmt-converter.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<char>, std::allocator<char> > const&) const' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.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/combo-fmt-converter.dir/combo-fmt-converter.cc.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30): undefined reference to boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' CMakeFiles/combo-fmt-converter.dir/combo-fmt-converter.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorINSt7__cxx1112basic_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/combo-fmt-converter.dir/combo-fmt-converter.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<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' ../libcomboreduct.so: undefined reference to boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > > const&)' ../libcomboreduct.so: undefined reference to boost::gregorian::greg_month::get_month_map_ptr[abi:cxx11]()' ../libcomboreduct.so: undefined reference to boost::re_detail_106100::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >, boost::regex_traits<char, boost::cpp_regex_traits > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, boost::regex_constants::_match_flags)' collect2: error: ld returned 1 exit status moses/comboreduct/main/CMakeFiles/combo-fmt-converter.dir/build.make:102: recipe for target 'moses/comboreduct/main/combo-fmt-converter' failed make[2]: *** [moses/comboreduct/main/combo-fmt-converter] Error 1 CMakeFiles/Makefile2:528: recipe for target 'moses/comboreduct/main/CMakeFiles/combo-fmt-converter.dir/all' failed make[1]: *** [moses/comboreduct/main/CMakeFiles/combo-fmt-converter.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

iplayfast avatar May 21 '18 07:05 iplayfast

Using boost 1.58 for the most part. A couple of 1.54s.

What does that mean? I don't think you can mix-n-match different versions of boost; that's just asking for trouble. You also seem to have boost installed in /usr/local, which means that you are not using a distro-supplied version, but a home-built version. That too is just asking for trouble.

moses builds fine, today, in debian stable with boost-1.62 and also on ubuntu 16.04, with whatever version of boost that supplies, on ubuntu 14.04, with whatever version of boost that supplies, and on five-6 year-old versions of redhat, with redhat-supplied boost 1.45 or something like that. Pretty much the whole rainbow has been used in all sorts of settings.

errors like undefined reference to boost::program_options mean exactly what they say: your boost libraries are not supplying the functions that the header files compile down to. This suggests that the boost libraries that you are linking to are not compatible with the boost header files that you compiled with.

linas avatar May 21 '18 07:05 linas

Works for me with 1.55 and 1.62, @iplayfast what is your system? Are you sure all boost libraries are installed?

ngeiswei avatar May 21 '18 07:05 ngeiswei

For me too. Though in mac. I'm getting

dyld: Symbol not found: __ZN5boost15program_options3argB5cxx11E Referenced from: /usr/local/lib/libmoses_exec.dylib Expected in: flat namespace in /usr/local/lib/libmoses_exec.dylib

issacnitin avatar Jun 21 '18 17:06 issacnitin

You can explore the contents of a shared lib by saying

nm /where/is/libboost.dylib  | less
nm /where/is/libboost.dylib  | grep program_options

But i general, its bizarre for the compiler to generate symbols that the linker cannot resolve. This is a symptom of headers file versions that don't match library versions, or libraries tht are incomplete or incorrectly built.

linas avatar Jun 21 '18 17:06 linas

I've attached the result of running nm /usr/local/Cellar/boost/1.67.0_1/lib/* | grep program_options > ~/Desktop/output output.txt

issacnitin avatar Jun 21 '18 18:06 issacnitin

Do we need boost compiled with C++11?

issacnitin avatar Jun 21 '18 18:06 issacnitin

Do we need boost compiled with C++11?

Maybe. A safe bet is to use the same compiler as the one one used for moses. In principle, this should not matter, because compilers are supposed to do the "right thing", but boost is kind-of flakey in that way.

cat output.txt | grep oost15program_options3arg
00000000000e65f8 S __ZN5boost15program_options3argE
0000000000036650 S __ZN5boost15program_options3argE
00000000000e65f8 S __ZN5boost15program_options3argE
0000000000036650 S __ZN5boost15program_options3argE

and, indeed, there is no cxx11 variant of the symbol in there. So either its in a different library, or its missing entirely for some reason.

Its possible that moses got compiled with the -cxx11 flag, which added the extra bit to the symbols, but boost was not. This would be a bit of MacOS falkeyness, I guess.

linas avatar Jun 21 '18 19:06 linas

Hmm. Apparently, the ABI changed for cxx11, which explains why some symbols now have cxx11 as part of their name: they must be the ones using the new ABI. That would explain a lot, but I did not google this for more info.

linas avatar Jun 22 '18 23:06 linas