1

Mac OS 10.9、OpenCV 2.4.11、CUDA 7.0、すべての環境フラグを libc++ に設定

$sudo make runtest    
.build_release/tools/caffe
dyld: Library not loaded: @rpath/libcudart.7.0.dylib
  Referenced from: /Users/deepsamal/Desktop/Research/caffe/.build_release/tools/caffe
  Reason: image not found
make: *** [runtest] Trace/BPT trap: 5

これは、ライブラリ環境変数に関連している可能性があるためです。ここにすべての環境変数があります- $DYLD_LIBRARY_PATH = /usr/local/cuda/lib

$LD_LIBRARY_PATH = /usr/local/cuda/lib:/opt/intel/composer_xe_2015.2.132/mkl/lib/

$DYLD_FALLBACK_LIBRARY_PATH = /usr/local/cuda/lib:/Developer/NVIDIA/CUDA-7.0/lib:/Users/deepsamal/anaconda/lib:/usr/local/lib:/usr/lib:/opt/intel/composer_xe_2015 .2.132/mkl/lib/:

両方として-

make all
make test

エラーなしで実行されています。これは、ライブラリがリンクされていますが、動的にロードされていないことを意味します。

何が原因かわかりませんか?

どんな助けでも感謝します。

編集: libcudart ライブラリのランタイム リンクを表示しようとしました。

$ otool -L /usr/local/cuda/lib/libcudart.7.0.dylib
/usr/local/cuda/lib/libcudart.7.0.dylib:
    @rpath/libcudart.7.0.dylib (compatibility version 0.0.0, current version 7.0.29)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.17.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

編集: libcaffe.so へのすべてのソフト リンクを見つけようとしましたが、cuda libs と cudnn へのパスが解決されていないようで、それが問題のようです。

otool -L ~/Desktop/Research/caffe/build/lib/libcaffe.so 
/Users/deepsamal/Desktop/Research/caffe/build/lib/libcaffe.so:
@rpath/libcaffe.so (compatibility version 0.0.0, current version 0.0.0)
@rpath/libcudart.7.0.dylib (compatibility version 0.0.0, current version 7.0.29)
@rpath/libcublas.7.0.dylib (compatibility version 0.0.0, current version 7.0.29)
@rpath/libcurand.7.0.dylib (compatibility version 0.0.0, current version 7.0.29)
/usr/local/lib/libglog.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libprotobuf.9.dylib (compatibility version 10.0.0, current version 10.1.0)
/usr/local/lib/libleveldb.1.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/local/lib/libsnappy.1.dylib (compatibility version 4.0.0, current version 4.0.0)
/usr/local/lib/liblmdb.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/local/lib/libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
libhdf5_hl.9.dylib (compatibility version 10.0.0, current version 10.0.0)
libhdf5.9.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
/usr/local/opt/opencv/lib/libopencv_core.2.4.dylib (compatibility version 2.4.0, current version 2.4.11)
/usr/local/opt/opencv/lib/libopencv_highgui.2.4.dylib (compatibility version 2.4.0, current version 2.4.11)
/usr/local/opt/opencv/lib/libopencv_imgproc.2.4.dylib (compatibility version 2.4.0, current version 2.4.11)
/usr/local/lib/libboost_thread-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libcudnn.6.5.dylib (compatibility version 0.0.0, current version 6.5.48)
/usr/local/lib/libboost_python.dylib (compatibility version 0.0.0, current version 0.0.0)
libpython2.7.dylib (compatibility version 2.7.0, current version 2.7.0)
libmkl_rt.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
4

2 に答える 2

2

変数を設定するDYLD_FALLBACK_LIBRARY_PATHと、少なくともこれが修正されました。/usr/local/cuda/lib最初のパスとして追加する必要がありました(あなたが行ったように)

export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/lib:/usr/lib:/Developer/NVIDIA/CUDA-7.0/lib:

またはここに記載されているとおり。

于 2015-06-02T12:29:29.320 に答える