mlpack / models

models built with mlpack
https://models.mlpack.org/docs
BSD 3-Clause "New" or "Revised" License
35 stars 41 forks source link

make showing error #36

Closed RituRajSingh878 closed 3 years ago

RituRajSingh878 commented 3 years ago

I'm new to mlpack and trying to build and make the mlpack/models but I'm getting the following error.

(ml) rituraj@rituraj-G7-7588:~/models/build$ make
[ 16%] Linking CXX executable ../bin/models_test
CMakeFiles/models_test.dir/augmentation_tests.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
augmentation_tests.cpp:(.text+0x1c31): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::decorator::collector&)'
augmentation_tests.cpp:(.text+0x1ca7): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
CMakeFiles/models_test.dir/augmentation_tests.cpp.o: In function `bool boost::regex_search<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)':
augmentation_tests.cpp:(.text._ZN5boost12regex_searchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsESJ_[_ZN5boost12regex_searchIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISB_EEEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbT_SJ_RNS_13match_resultsISJ_T0_EERKNS_11basic_regexIT1_T2_EENS_15regex_constants12_match_flagsESJ_]+0xba): undefined reference to `boost::re_detail_106501::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::find()'
CMakeFiles/models_test.dir/augmentation_tests.cpp.o: In function `boost::re_detail_106501::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)':
augmentation_tests.cpp:(.text._ZN5boost16re_detail_10650112perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEC2ESC_SC_RNS_13match_resultsISC_SF_EERKNS_11basic_regexIcSJ_EENS_15regex_constants12_match_flagsESC_[_ZN5boost16re_detail_10650112perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEC5ESC_SC_RNS_13match_resultsISC_SF_EERKNS_11basic_regexIcSJ_EENS_15regex_constants12_match_flagsESC_]+0x113): undefined reference to `boost::re_detail_106501::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
CMakeFiles/models_test.dir/ffn_model_tests.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
ffn_model_tests.cpp:(.text+0x3172): undefined reference to `boost::system::generic_category()'
ffn_model_tests.cpp:(.text+0x317e): undefined reference to `boost::system::generic_category()'
ffn_model_tests.cpp:(.text+0x318a): undefined reference to `boost::system::system_category()'
ffn_model_tests.cpp:(.text+0x33cd): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::decorator::collector&)'
ffn_model_tests.cpp:(.text+0x3443): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
ffn_model_tests.cpp:(.text+0x34c5): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
CMakeFiles/models_test.dir/ffn_model_tests.cpp.o: In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
ffn_model_tests.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0xb8): undefined reference to `boost::system::generic_category()'
ffn_model_tests.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0xf3): undefined reference to `boost::system::generic_category()'
CMakeFiles/models_test.dir/ffn_model_tests.cpp.o: In function `boost::system::error_category::std_category::equivalent(std::error_code const&, int) const':
ffn_model_tests.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xb8): undefined reference to `boost::system::generic_category()'
ffn_model_tests.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xf3): undefined reference to `boost::system::generic_category()'
ffn_model_tests.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0x1d2): undefined reference to `boost::system::generic_category()'
CMakeFiles/models_test.dir/ffn_model_tests.cpp.o: In function `boost::asio::error::get_system_category()':
ffn_model_tests.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference to `boost::system::system_category()'
CMakeFiles/models_test.dir/ffn_model_tests.cpp.o: In function `boost::serialization::singleton_module::is_locked()':
ffn_model_tests.cpp:(.text._ZN5boost13serialization16singleton_module9is_lockedEv[_ZN5boost13serialization16singleton_module9is_lockedEv]+0x5): undefined reference to `boost::serialization::singleton_module::get_lock()'
CMakeFiles/models_test.dir/dataloader_tests.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
dataloader_tests.cpp:(.text+0xad06): undefined reference to `boost::system::generic_category()'
dataloader_tests.cpp:(.text+0xad12): undefined reference to `boost::system::generic_category()'
dataloader_tests.cpp:(.text+0xad1e): undefined reference to `boost::system::system_category()'
dataloader_tests.cpp:(.text+0xadae): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::decorator::collector&)'
dataloader_tests.cpp:(.text+0xae24): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
dataloader_tests.cpp:(.text+0xaea6): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
dataloader_tests.cpp:(.text+0xaf28): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
dataloader_tests.cpp:(.text+0xafaa): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
dataloader_tests.cpp:(.text+0xb02c): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
CMakeFiles/models_test.dir/dataloader_tests.cpp.o: In function `boost::system::error_code::error_code()':
dataloader_tests.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()'
CMakeFiles/models_test.dir/preprocessor_tests.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
preprocessor_tests.cpp:(.text+0x32b6): undefined reference to `boost::system::generic_category()'
preprocessor_tests.cpp:(.text+0x32c2): undefined reference to `boost::system::generic_category()'
preprocessor_tests.cpp:(.text+0x32ce): undefined reference to `boost::system::system_category()'
preprocessor_tests.cpp:(.text+0x335e): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::decorator::collector&)'
preprocessor_tests.cpp:(.text+0x33d4): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
CMakeFiles/models_test.dir/utils_tests.cpp.o: In function `__static_initialization_and_destruction_0(int, int)':
utils_tests.cpp:(.text+0x5194): undefined reference to `boost::system::generic_category()'
utils_tests.cpp:(.text+0x51a0): undefined reference to `boost::system::generic_category()'
utils_tests.cpp:(.text+0x51ac): undefined reference to `boost::system::system_category()'
utils_tests.cpp:(.text+0x5396): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::decorator::collector&)'
utils_tests.cpp:(.text+0x540c): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
utils_tests.cpp:(.text+0x548e): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
utils_tests.cpp:(.text+0x5510): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
utils_tests.cpp:(.text+0x5592): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
utils_tests.cpp:(.text+0x5614): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)'
CMakeFiles/models_test.dir/utils_tests.cpp.o:utils_tests.cpp:(.text+0x5696): more undefined references to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, boost::unit_test::decorator::collector&, unsigned long)' follow
collect2: error: ld returned 1 exit status
tests/CMakeFiles/models_test.dir/build.make:205: recipe for target 'bin/models_test' failed
make[2]: *** [bin/models_test] Error 1
CMakeFiles/Makefile2:196: recipe for target 'tests/CMakeFiles/models_test.dir/all' failed
make[1]: *** [tests/CMakeFiles/models_test.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
RituRajSingh878 commented 3 years ago
(ml) rituraj@rituraj-G7-7588:~/models/build$ cmake -D DEBUG=ON ../
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Armadillo: /usr/lib/libarmadillo.so (found suitable version "8.400.0", minimum required is "8.400.0") 
-- Found MLPACK: /usr/local/lib/libmlpack.so  
-- Found ensmallen: /usr/local/include (found version "2.14.2") 
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   filesystem
--   system
--   regex
--   program_options
--   serialization
--   unit_test_framework
CMake Warning at CMakeLists.txt:175 (message):
  Only use OpenMP if mlpack has been compiled with OpenMP.

-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rituraj/models/build

build for the mlpack/model. Machine - ubuntu 18 LTS

shrit commented 3 years ago

@RituRajSingh878 can you do locate libboost_unit_test_framework.so and show us the results please?

RituRajSingh878 commented 3 years ago

@shrit I found the problem and able to solve it. I got help from your message as during the build, the used boost lib was from the root and I was building it in virtual env. So due to that, it was showing undefined reference to boost. After removing the root's boost, It is selecting the boost from virtual env. Now, I am able to do makesuccessfully. So we can close this issue. Thanks