编译caffe最后,运行make run test时出现: error while loading shared libraries: libcudart.so.9.1: cannot open...

出现如下错误:(这里注意看报错的提示,这很重要)

.build_release/tools/caffe
.build_release/tools/caffe: error while loading shared libraries: libcudart.so.9.0: cannot open shared object file: No such file or directory
Makefile:542: recipe for target 'runtest' failed
make: *** [runtest] Error 127

原因分析:

这是由于找不到lib中错误信息中的"libcuadrt.so.9.0"这个文件。

在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 

原因要么是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.

或者就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件. (此情况居多)

 

方法解决:

添加软链共享代码,并再次运行run test进行验证

sudo cp /usr/local/cuda/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig

sudo make runtest -j8

 

如果不出意外,可能还会有类似报错,只需将缺失的文件名称替换即可,也许你还需要:

sudo cp /usr/local/cuda/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig



sudo cp /usr/local/cuda/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig


sudo cp /usr/local/cuda/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig

.
.
.

切记:

不要盲目复制,  博主这里是.so.9.0, 因为我装的是cuda9.0版本,  可能有同学装的是cuda 9.1甚至更高版本,   请进行相应的数字更换, 建议根据终端报错的提示信息来.

posted @ 2019-07-18 20:27  龙雪  阅读(306)  评论(0编辑  收藏  举报