[mlpack-svn] [MLPACK] #307: Linking problem with boost during build

MLPACK Trac trac at coffeetalk-1.cc.gatech.edu
Tue Oct 29 16:41:16 EDT 2013


#307: Linking problem with boost during build
--------------------------+-------------------------------------------------
 Reporter:  Madda         |        Owner:  rcurtin
     Type:  defect        |       Status:  new    
 Priority:  major         |    Milestone:         
Component:  build system  |     Keywords:         
 Blocking:                |   Blocked By:         
--------------------------+-------------------------------------------------
 Hi,
 I am trying to build mlpack-1.0.7, but I am getting linking errors with
 boost. There was already a ticket on this topic and the suggestion was to
 add -D BOOST_ROOT=/usr/include/ which I did, but I am still getting
 problems.

 These are the command:

 $ sudo cmake -D BOOST_ROOT=/usr/local/ -D
 ARMADILLO_INCLUDE_DIR=/usr/local/armadillo-3.920.2/include/ -D
 ARMADILLO_LIBRARY=/usr/local/armadillo-3.920.2/libarmadillo.so ../
 CMake Warning at CMakeLists.txt:81 (message):
   This is a 64-bit system, but Armadillo was compiled without 64-bit index
   support.  Consider recompiling Armadillo with ARMA_64BIT_WORD to enable
   64-bit indices (large matrix support).  MLPACK will still work without
   ARMA_64BIT_WORD defined, but will not scale to matrices with more than 4
   billion elements.


 -- Boost version: 1.54.0
 -- Found the following Boost libraries:
 --   program_options
 --   unit_test_framework
 -- Boost version: 1.54.0
 -- Found the following Boost libraries:
 --   random
 -- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
 CMake Warning at CMakeLists.txt:270 (message):
   txt2man not found; man pages will not be generated.


 -- Configuring done
 -- Generating done
 -- Build files have been written to: /usr/local/mlpack/mlpack-1.0.7/build


 $ sudo make
 Scanning dependencies of target mlpack
 [  1%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/dists/discrete_distribution.cpp.o
 [  2%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/dists/gaussian_distribution.cpp.o
 [  3%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/kernels/epanechnikov_kernel.cpp.o
 [  4%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/kernels/pspectrum_string_kernel.cpp.o
 [  5%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/math/lin_alg.cpp.o
 [  6%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/math/random.cpp.o
 [  7%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/aug_lagrangian/aug_lagrangian_test_functions.cpp.o
 [  8%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/lbfgs/test_functions.cpp.o
 [  9%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/sgd/test_function.cpp.o
 [ 10%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/tree/mrkd_statistic.cpp.o
 [ 11%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/cli.cpp.o
 [ 12%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/cli_deleter.cpp.o
 [ 13%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/log.cpp.o
 [ 14%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/option.cpp.o
 [ 15%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/prefixedoutstream.cpp.o
 [ 17%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/save_restore_utility.cpp.o
 [ 18%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/string_util.cpp.o
 [ 19%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/core/util/timers.cpp.o
 [ 20%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/cf/cf.cpp.o
 In file included from
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/../mlpack/methods/neighbor_search/neighbor_search.hpp:254:0,
                  from
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/methods/cf/cf.hpp:29,
                  from
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/methods/cf/cf.cpp:26:
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/../mlpack/methods/neighbor_search/neighbor_search_impl.hpp:
 In member function ‘void mlpack::neighbor::NeighborSearch<SortPolicy,
 MetricType, TreeType>::Search(size_t, arma::Mat<long unsigned int>&,
 arma::mat&) [with SortPolicy = mlpack::neighbor::NearestNeighborSort,
 MetricType = mlpack::metric::LMetric<2, true>, TreeType =
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::NeighborSearchStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >, size_t = long unsigned int, arma::mat =
 arma::Mat<double>]’:
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/methods/cf/cf.cpp:144:67:
 instantiated from here
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/../mlpack/methods/neighbor_search/neighbor_search_impl.hpp:205:10:
 warning: unused variable ‘numPrunes’ [-Wunused-variable]
 [ 21%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/det/dtree.cpp.o
 /usr/local/mlpack/mlpack-1.0.7/src/mlpack/methods/det/dtree.cpp:143:6:
 warning: unused parameter ‘maxLeafSize’ [-Wunused-parameter]
 [ 22%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/det/dt_utils.cpp.o
 [ 23%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/lars/lars.cpp.o
 [ 24%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/linear_regression/linear_regression.cpp.o
 [ 25%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/neighbor_search/sort_policies/nearest_neighbor_sort.cpp.o
 [ 26%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/neighbor_search/sort_policies/furthest_neighbor_sort.cpp.o
 [ 27%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/neighbor_search/unmap.cpp.o
 [ 28%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/pca/pca.cpp.o
 [ 29%] Building CXX object
 src/mlpack/CMakeFiles/mlpack.dir/methods/radical/radical.cpp.o
 Linking CXX shared library ../../lib/libmlpack.so
 Moving header files to include/mlpack/
 [ 29%] Built target mlpack
 Scanning dependencies of target cf
 [ 30%] Building CXX object
 src/mlpack/methods/cf/CMakeFiles/cf.dir/cf_main.cpp.o
 Linking CXX executable ../../../../bin/cf
 CMakeFiles/cf.dir/cf_main.cpp.o: In function
 `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
 std::basic_string<char, std::char_traits<char>, std::allocator<char> >
 const&, std::basic_string<char, std::char_traits<char>,
 std::allocator<char> > const&, int)':
 cf_main.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i]+0x2c):
 undefined reference to
 `boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)'
 cf_main.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKSsS4_i]+0x44):
 undefined reference to
 `boost::program_options::error_with_option_name::error_with_option_name(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&,
 std::basic_string<char, std::char_traits<char>, std::allocator<char> >
 const&, std::basic_string<char, std::char_traits<char>,
 std::allocator<char> > const&, int)'
 CMakeFiles/cf.dir/cf_main.cpp.o: In function
 `boost::program_options::error_with_option_name::~error_with_option_name()':
 cf_main.cpp:(.text._ZN5boost15program_options22error_with_option_nameD2Ev[_ZN5boost15program_options22error_with_option_nameD5Ev]+0x7):
 undefined reference to `vtable for
 boost::program_options::error_with_option_name'
 CMakeFiles/cf.dir/cf_main.cpp.o: In function
 `boost::program_options::validation_error::~validation_error()':
 cf_main.cpp:(.text._ZN5boost15program_options16validation_errorD2Ev[_ZN5boost15program_options16validation_errorD5Ev]+0x7):
 undefined reference to `vtable for
 boost::program_options::error_with_option_name'
 CMakeFiles/cf.dir/cf_main.cpp.o: In function
 `boost::program_options::error_with_option_name::~error_with_option_name()':
 cf_main.cpp:(.text._ZN5boost15program_options22error_with_option_nameD0Ev[_ZN5boost15program_options22error_with_option_nameD5Ev]+0x7):
 undefined reference to `vtable for
 boost::program_options::error_with_option_name'
 CMakeFiles/cf.dir/cf_main.cpp.o: In function
 `boost::program_options::invalid_option_value::~invalid_option_value()':
 cf_main.cpp:(.text._ZN5boost15program_options20invalid_option_valueD0Ev[_ZN5boost15program_options20invalid_option_valueD5Ev]+0x7):
 undefined reference to `vtable for
 boost::program_options::error_with_option_name'
 CMakeFiles/cf.dir/cf_main.cpp.o: In function
 `boost::program_options::invalid_option_value::~invalid_option_value()':
 cf_main.cpp:(.text._ZN5boost15program_options20invalid_option_valueD2Ev[_ZN5boost15program_options20invalid_option_valueD5Ev]+0x7):
 undefined reference to `vtable for
 boost::program_options::error_with_option_name'
 CMakeFiles/cf.dir/cf_main.cpp.o:cf_main.cpp:(.text._ZN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEED2Ev[_ZN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEED5Ev]+0x2c):
 more undefined references to `vtable for
 boost::program_options::error_with_option_name' follow
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost15program_options16validation_errorE[vtable
 for boost::program_options::validation_error]+0x20): undefined reference
 to `boost::program_options::error_with_option_name::what() const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost15program_options16validation_errorE[vtable
 for boost::program_options::validation_error]+0x30): undefined reference
 to
 `boost::program_options::error_with_option_name::substitute_placeholders(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[vtable
 for
 boost::exception_detail::error_info_injector<boost::program_options::validation_error>]+0x20):
 undefined reference to
 `boost::program_options::error_with_option_name::what() const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[vtable
 for
 boost::exception_detail::error_info_injector<boost::program_options::validation_error>]+0x30):
 undefined reference to
 `boost::program_options::error_with_option_name::substitute_placeholders(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[vtable
 for
 boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error>
 >]+0x28): undefined reference to
 `boost::program_options::error_with_option_name::what() const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[vtable
 for
 boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error>
 >]+0x38): undefined reference to
 `boost::program_options::error_with_option_name::substitute_placeholders(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[vtable
 for boost::program_options::invalid_option_value]+0x20): undefined
 reference to `boost::program_options::error_with_option_name::what()
 const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[vtable
 for boost::program_options::invalid_option_value]+0x30): undefined
 reference to
 `boost::program_options::error_with_option_name::substitute_placeholders(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[vtable
 for
 boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value>]+0x20):
 undefined reference to
 `boost::program_options::error_with_option_name::what() const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[vtable
 for
 boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value>]+0x30):
 undefined reference to
 `boost::program_options::error_with_option_name::substitute_placeholders(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[vtable
 for
 boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value>
 >]+0x28): undefined reference to
 `boost::program_options::error_with_option_name::what() const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[vtable
 for
 boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value>
 >]+0x38): undefined reference to
 `boost::program_options::error_with_option_name::substitute_placeholders(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const'
 CMakeFiles/cf.dir/cf_main.cpp.o:(.rodata._ZTIN5boost15program_options16validation_errorE[typeinfo
 for boost::program_options::validation_error]+0x10): undefined reference
 to `typeinfo for boost::program_options::error_with_option_name'
 ../../../../lib/libmlpack.so.1.0: undefined reference to
 `boost::program_options::detail::cmdline::get_canonical_option_prefix()'
 collect2: ld returned 1 exit status
 make[2]: *** [bin/cf] Error 1
 make[1]: *** [src/mlpack/methods/cf/CMakeFiles/cf.dir/all] Error 2
 make: *** [all] Error 2


 I hope ypu can help me.
 Best,
 Madda

-- 
Ticket URL: <http://trac.research.cc.gatech.edu/fastlab/ticket/307>
MLPACK <www.fast-lab.org>
MLPACK is an intuitive, fast, and scalable C++ machine learning library developed at Georgia Tech.


More information about the mlpack-svn mailing list