2017-02-23 15 views
0

私はUbuntu 16.04でOpenBLASでCaffeをコンパイルしようとしています。私はダウンロードして= 1 OpenBLASのコンパイルが細かく、そのすべてのテストはまた Caffeをコンパイル中にエラーが発生しました

OpenBLAS build complete. (BLAS CBLAS LAPACK LAPACKE) 

    OS    ... Linux    
    Architecture  ... x86_64    
    BINARY   ... 64bit     
    C compiler  ... GCC (command line : gcc) 
    Fortran compiler ... GFORTRAN (command line : gfortran) 
    Library Name  ... libopenblas_sandybridgep-r0.2.20.dev.a (Multi threaded; Max num-threads is 4) 

Use OpenMP in the multithreading. Because of ignoring OPENBLAS_NUM_THREADS and GOTO_NUM_THREADS flags, 
you should use OMP_NUM_THREADS environment variable to control the number of threads. 

。ただし、インストールカフェでOpenBLASのLIBSにリンクし、次のエラー

を与えて実行され メイクNO_AFFINITY = 1 USE_OPENMPとOpenBLASをコンパイルしていました

Linking CXX executable upgrade_net_proto_binary /opt/OpenBLAS/lib/libopenblas.so: undefined reference to `[email protected]_4.0' collect2: error: ld returned 1 exit status tools/CMakeFiles/upgrade_net_proto_binary.dir/build.make:129: recipe for target 'tools/upgrade_net_proto_binary' failed make[2]: * [tools/upgrade_net_proto_binary] Error 1 CMakeFiles/Makefile2:403: recipe for target 'tools/CMakeFiles/upgrade_net_proto_binary.dir/all' failed make[1]: * [tools/CMakeFiles/upgrade_net_proto_binary.dir/all] Error 2

+0

libatlas-base-devをインストールし、BLASの代わりにこれを使用すると、上に乗るのに役立ちました。まだ –

答えて

0

ほとんどの理由は、コンパイル済みのOpenBLASをインストールし、インストールにリンクするのではなく、リンクしているからです。 makeを実行した後、make install PREFIX=/path/to/install/OpenBLASを実行し、インストールされているバージョンにリンクする必要があります。

+0

私はそれをインストールしてインストールした理由を知りたい –

関連する問題