[mlpack-git] [mlpack] /usr/lib/libarmadillo.so.4: error adding symbols: DSO missing from command line (#494)

Arman Schwarz notifications at github.com
Sat Dec 12 08:07:04 EST 2015


I am trying to build a simple program that uses mlpack As a test case, I've copied the *perceptron_testcpp* from mlpack trunk into a source folder and am now attempting to link against mlpack to get it to run

I'm using mlpack from trunk (3b926fd86ab143eb8af7327b9fb89fead7538df0) and armadillo from ubuntu 1404 (http://packagesubuntucom/trusty/libarmadillo-dev) I am running boost 155

I have the following directory structure in my source tree:
```
/
  CMakeListstxt
  cmake/
    FindLibXml2cmake
    Findmlpackcmake
  test/
  CMakeListstxt
  maincpp
  perceptron_testcpp
```
The contents of the parent CMakeListstxt file is:

```
cmake_minimum_required(VERSION 30)                                                 
                                                                                    
add_definitions(-std=c++14 -Wpedantic -Wall -Werror)                                
add_definitions(-DBOOST_LOG_DYN_LINK)                                               
                                                                                    
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})             
                                                                                    
find_package(Boost 1550)                                                          
find_package(mlpack)                                                                
find_package(LibXml2)                                                               
                                                                                    
enable_testing()                                                                    
                                                                                    
include_directories(                                                                
    ${PROJECT_SOURCE_DIR}                                                           
    ${LIBXML2_INCLUDE_DIRS}                                                         
    )                                                                               
                                                                                    
add_subdirectory(test)                                                              
```

The context of the CMakeListstxt file in /test is:
```
cmake_minimum_required(VERSION 30)                                                 
                                                                                    
add_executable(masterTest                                                           
    maincpp                                                                        
    perceptron_testcpp                                                             
    )                                                                               
                                                                                    
target_link_libraries(masterTest                                                    
    mlpack                                                                          
    ${BOOST_unit_test_framework_LIBRARY}                                            
)                                                                                   
                                                                                    
add_test(masterTest masterTest)                                                     
```

when I build with g++ version 510 I get the following:
```
usr at usr-desktop:~/Documents/neurobuild$ ninja
[1/1] Linking CXX executable test/masterTest
FAILED: : && /usr/bin/g++      test/CMakeFiles/masterTestdir/maincppo test/CMakeFiles/masterTestdir/perceptron_testcppo  -o test/masterTest  -rdynamic -lmlpack && :
/usr/bin/ld: test/CMakeFiles/masterTestdir/perceptron_testcppo: undefined reference to symbol 'wrapper_dgemm_'
//usr/lib/libarmadilloso4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed
```

Interestingly, when I build the tests (including the *perceptron_testcpp*) that ships with mlpack directly, these tests link fine

I don't have any other versions of armadillo installed on my machine

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


More information about the mlpack-git mailing list