Cuda caffe中的分段故障

Cuda caffe中的分段故障,cuda,makefile,osx-mavericks,dylib,caffe,Cuda,Makefile,Osx Mavericks,Dylib,Caffe,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 Reaso

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\u LIBRARY\u PATH=/usr/local/cuda/lib

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

$DYLD\u回退\u库\u路径= /usr/local/cuda/lib:/Developer/NVIDIA/cuda-7.0/lib:/Users/deepsamal/anaconda/lib:/usr/local/lib:/usr/lib:/opt/intel/composer\u xe\u 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的所有软链接。因此,似乎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)

由于DYLD_LIBRARY_路径的原因,OSX工具在执行时非常混乱 我认为这种黑客应该有效:

DYLD_LIBRARY_PATH=''; make runtest

设置
DYLD\u FALLBACK\u LIBRARY\u PATH
变量至少为我解决了这个问题。我只需要添加
/usr/local/cuda/lib
作为第一条路径(正如您所做的那样)


或者如文件所述。

我没有看到任何分割错误。我看到共享库加载失败。segfault在哪里?@talonmies在运行$make runtest时出现分段错误。。必须做sudo才能获得更多细节$生成runtest.build\u release/tools/caffe make:**[runtest]分段错误:11感谢您的回复,但解决方案不起作用。我设置DYD_LIBRARY_PATH的唯一原因是因为我遇到了runtest错误,这可能是一个动态加载问题。好吧,让我们从头开始:启动caffe不需要root。您可以从全新的brew安装(无macports)开始,安装cuda 7.0(重新安装),然后在某个时候进行后续操作(如果使用python构建)你需要注意使用的python:你不想要苹果的python,否则你会出错。只是确定一下:我在你的动态库中看到你计划使用anaconda python和intel编译器,你是否相应地更新了Makefile.config。此外,boost和protobuf需要使用所需的正确python(默认情况下是系统版,但这不是您想要的)。您还应该注意openCV不要链接到系统的python。。在尝试重新安装所有内容之前,我检查了libcaffe.so的所有链接,它具有指向所有必需库的动态链接,并发现指向cuda和cudnn的链接未解析。。。那么我应该只重新安装cuda和cudnn,而不是所有依赖项吗?(上面编辑的帖子中的动态链接输出)
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/lib:/usr/lib:/Developer/NVIDIA/CUDA-7.0/lib: