[mlpack-git] [mlpack] Build problem: DSO missing (#490)

Cássio M. M. Pereira notifications at github.com
Wed Dec 9 10:34:28 EST 2015


Hi,

I'm using Gentoo and I'm trying to build mlpack from source. I have reference blas and lapack installed, but I'm getting an error when building.

cmake output:

```
cassio at darkstar ~/tools/mlpack-1.0.12/build $ cmake -D ARMADILLO_INCLUDE_DIR=../../armadillo-6.200.4/include/ -D ARMADILLO_LIBRARY=../../armadillo-6.200.4/libarmadillo.so ../
-- ARMA_USE_WRAPPER is not defined, so all dependencies of Armadillo must be manually linked.
-- Using ATLAS for BLAS: /usr/lib64/libcblas.so
-- Using standard LAPACK: /usr/lib64/liblapack.so
-- Armadillo libraries: /usr/lib64/libcblas.so;/usr/lib64/liblapack.so
CMake Warning at CMakeLists.txt:75 (message):
  Armadillo configuration file
  (/home/cassio/tools/armadillo-6.200.4/include;/usr/include/armadillo_bits/config.hpp)
  does not exist!


-- Boost version: 1.56.0
-- Found the following Boost libraries:
--   program_options
--   unit_test_framework
--   random
-- Could NOT find Subversion (missing:  Subversion_SVN_EXECUTABLE) 
CMake Warning (dev) at src/mlpack/CMakeLists.txt:78 (add_custom_target):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The target name "test" is reserved or not valid for certain CMake features,
  such as generator expressions, and may result in undefined behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning at CMakeLists.txt:292 (message):
  txt2man not found; man pages will not be generated.


-- Configuring done
-- Generating done
-- Build files have been written to: /home/cassio/tools/mlpack-1.0.12/build
```

make output:

```
[  0%] Built target mlpack_headers
[ 24%] Built target mlpack
[ 25%] Linking CXX executable ../../../../bin/cf
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/cf.dir/cf_main.cpp.o: undefined reference to symbol 'dnrm2_'
/usr/lib64/libblas.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
src/mlpack/methods/cf/CMakeFiles/cf.dir/build.make:101: recipe for target 'bin/cf' failed
make[2]: *** [bin/cf] Error 1
CMakeFiles/Makefile2:764: recipe for target 'src/mlpack/methods/cf/CMakeFiles/cf.dir/all' failed
make[1]: *** [src/mlpack/methods/cf/CMakeFiles/cf.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
```

>From some research I did, this is probably a linking error related to the order the libraries are defined in the Makefile. But I'm not sure how to solve this considering cmake.

If there is any more information I can provide please tell me.

Thanks.

---
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/issues/490
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20151209/72fc2d59/attachment.html>


More information about the mlpack-git mailing list