解决:源码安装caffe时遇到libcudnn.so: file not recognized问题

参考教程(19条消息)ubuntu16.04下Detectron+caffe2(Pytorch)安装配置过程_张家坎的博客-CSDN博客_caffe2_detectron_ops_gpu.dll

https://blog.csdn.net/u014236392/article/details/81117287 安装caffe2

执行sudo make install之后遇到如下问题:

/home/Xdn/cuda-10.0/lib64/libcudnn.so: file not recognized: File truncated

collect2: error: ld returned 1 exit status

caffe2/CMakeFiles/torch_cuda.dir/build.make:264057: recipe for target 'lib/libtorch_cuda.so' failed

make[2]: *** [lib/libtorch_cuda.so] Error 1

CMakeFiles/Makefile2:4032: recipe for target 'caffe2/CMakeFiles/torch_cuda.dir/all' failed

make[1]: *** [caffe2/CMakeFiles/torch_cuda.dir/all] Error 2

Makefile:140: recipe for target 'all' failed

make: *** [all] Error 2

解决思路:直接在网上搜这个错误没有搜到解决方式,自己分析应该是/home/Xdn/cuda-10.0/lib64/libcudnn.so出现问题,libcudnn.so文件是安装cudnn时复制进来的,查看路径下该文件发现该文件大小为0,双击打开也是空白,源cudnn文件中的该文件也是如此,于是搜libcudnn.so的解决方法,发现这一篇博客:

【转载】etc/ld.so.conf的使用说明 libcudnn.so.5 is not a symbolic link -

https://www.jianshu.com/p/4de6fbefb644

这篇博客中针对另一个libcudnn.so文件的问题,我从中发现原来libcudnn.so文件只是一个快捷方式,其链接的应该是其他名称类似libcudnn.so.*的文件,于是根据自己路径下的文件创建了下面两个链接:

(py3.6DensePose) Xdn@xwfx:~/cuda-10.0/lib64$ sudo ln -sf libcudnn.so.7.6.5 libcudnn.so.7

(py3.6DensePose) Xdn@xwfx:~/cuda-10.0/lib64$ sudo ln -sf libcudnn.so.7 libcudnn.so

此时双击libcudnn.so文件不是空白了(我这里是乱码显示的文件,但是没关系,不为空就说明链接有效了)

然后再回到之前安装pytorch时的路径执行sudo make install,问题解决。

喜大普奔!才发现这个问题原来这么小,回想自己当时尝试了一个小时没解决就差点把我小心态整崩了,现在想想冷静的分析问题、乐观的心态对于计算机调BUG真的是需要的~感谢源up主!

你可能感兴趣的:(解决:源码安装caffe时遇到libcudnn.so: file not recognized问题)