2016-10-08 19 views
2

cmakeを使ってcaffeを作成しようとしたときに問題が発生しました(cmakeを試しても間違いがありますが、cmakeはより良いものはない...)。以下はエラーメッセージです:Caffeのインストールが「リンクCXX共有ライブラリ../../lib/libcaffe.so」

[ 82%] Linking CXX shared library ../../lib/libcaffe.so 
/usr/bin/ld: cannot find -lopencv_dep_cudart 
collect2: error: ld returned 1 exit status 
src/caffe/CMakeFiles/caffe.dir/build.make:3284: recipe for target 'lib/libcaffe.so.1.0.0-rc3' failed 
make[2]: *** [lib/libcaffe.so.1.0.0-rc3] Error 1 
CMakeFiles/Makefile2:272: recipe for target 'src/caffe/CMakeFiles/caffe.dir/all' failed 
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2 
Makefile:127: recipe for target 'all' failed 
make: *** [all] Error 2 

私はオンラインで検索しようとしましたが、行方不明​​に関連する多くの情報を見つけることができませんでした。

私はUbuntu 16.04を実行しています。 gccとgcC++の両方のバージョンは4.9です。 Opencvがインストールされ、そのバージョンは2.4.13です。以下は、カフェの依存関係を示しcmake ..からの出力(私はすべての依存関係がインストールされていると思います)の一部です:

-- Dependencies: 
-- BLAS    : Yes (Atlas) 
-- Boost    : Yes (ver. 1.58) 
-- glog    : Yes 
-- gflags   : Yes 
-- protobuf   : Yes (ver. 3.0.2) 
-- lmdb    : Yes (ver. 0.9.17) 
-- LevelDB   : Yes (ver. 1.18) 
-- Snappy   : Yes (ver. 1.1.3) 
-- OpenCV   : Yes (ver. 2.4.13) 
-- CUDA    : Yes (ver. 8.0) 
-- 
-- NVIDIA CUDA: 
-- Target GPU(s)  : Auto 
-- GPU arch(s)  : sm_61 
-- cuDNN    : Yes (ver. 5.1.5) 
-- 
-- Python: 
-- Interpreter  : /usr/bin/python2.7 (ver. 2.7.12) 
-- Libraries   : /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.12) 
-- NumPy    : /home/jack/.local/lib/python2.7/site-packages/numpy/core/include (ver 1.11.1) 
-- 

誰かが助言してもらえますか?より多くの情報が必要な場合はお知らせください。事前にありがとう!

+0

共有ライブラリに問題が生じ、あなたのライブラリー・パスに問題があります:これを試してみて、他のライブラリパスをチェックは:コメントの輸出LD_LIBRARY_PATH =は/ usr/local/CUDA/lib64に/ –

+0

@JayantAgrawal感謝!私はその道を試しても、同じ問題を抱えていました。この "opencv_dep_cudart"ファイルを見つける方法はありますか?私は "opencv_dep_cudartを探して"しようとしたが見つかりませんでした – moonlightlane

答えて

1

私も同様の問題がありました。オンラインフォーラムで見つけた解決策(CMakeLists.txtset(CUDA_USE_STATIC_CUDA_RUNTIME OFF)を使用するなど)は問題を解決しませんでした。しかし、あなたはこのエラーを回避するためにあなたのcmakeファイルをハックすることができます。

ステップ

  1. set(CMAKE_VERBOSE_MAKEFILE ON)
  2. リンクは文字列が強調表示されます実行make | grep lopencv_dep_cudart
  3. コマンドを実行するを使用してcmakeの中で冗長を有効にします。検索文字列を持つcmakeファイルのパスを書き留めます。
  4. コマンドをコピーし、上記のパスのシェルで実行します(ただし、​​オプションは使用しないでください)。うまくいけば、コマンドはエラーなしで実行されます。
  5. もう一度makeを実行してください。
関連する問題