Error: libxxxxxxx: cannot open shared object file: No such file or directory

出现Error: libxxxxxxx: cannot open shared object file: No such file or directory 的可能有效解决方法如下:

注:前提是本地能够找到libxxxxxxx,但一直提示:

复制代码
Could not load library libxxxxxxx. Error: libxxxxxxx: cannot open shared object file: No such file or directory
Please make sure libxxxxxxx is in your library path!

这里以libcudnn_cnn_infer.so.8为例。

先运行:

复制代码
ldconfig -p | grep cuda

得到输出:

复制代码
	libcudart.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudart.so.11.0
	libcudart.so.10.2 (libc6,x86-64) => /lib/libcudart.so.10.2
	libcudart.so (libc6,x86-64) => /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudart.so
	libcudadebugger.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcudadebugger.so.1
	libcuda.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcuda.so.1
	libcuda.so.1 (libc6) => /lib/i386-linux-gnu/libcuda.so.1

打比方说,libcudart.so.11.0,是放到/usr/local/cuda-11.3/targets/x86_64-linux/lib/目录下面的。

然后找到本地的libcudnn_cnn_infer.so.8:

复制代码
sudo find / -name "libcudnn_cnn_infer.so.8"

得到结果:

复制代码
/home/ai/miniconda3/lib/python3.7/site-packages/nvidia/cudnn/lib/libcudnn_cnn_infer.so.8
/home/ai/miniconda3/pkgs/pytorch-2.0.1-py3.10_cuda11.7_cudnn8.5.0_0/lib/python3.10/site-packages/torch/lib/libcudnn_cnn_infer.so.8
/home/ai/miniconda3/pkgs/pytorch-1.12.1-py3.7_cuda11.3_cudnn8.3.2_0/lib/python3.7/site-packages/torch/lib/libcudnn_cnn_infer.so.8
/home/ai/miniconda3/pkgs/pytorch-2.0.0-py3.10_cuda11.8_cudnn8.7.0_0/lib/python3.10/site-packages/torch/lib/libcudnn_cnn_infer.so.8

然后将找到的libcudnn_cnn_infer.so.8复制到上面通过ldconfig得到的路径:

复制代码
sudo cp -rf /home/ai/miniconda3/lib/python3.7/site-packages/nvidia/cudnn/lib/libcudnn_cnn_infer.so.8 /usr/local/cuda-11.3/targets/x86_64-linux/lib/

然后:

复制代码
sudo ldconfig

再通过ldconfig -p | grep cuda查看最新的输出:

复制代码
	libcudnn_cnn_infer.so.8 (libc6,x86-64) => /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
	libcudart.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudart.so.11.0
	libcudart.so.10.2 (libc6,x86-64) => /lib/libcudart.so.10.2
	libcudart.so (libc6,x86-64) => /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudart.so
	libcudadebugger.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcudadebugger.so.1
	libcuda.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcuda.so.1
	libcuda.so.1 (libc6) => /lib/i386-linux-gnu/libcuda.so.1

就能看到 libcudnn_cnn_infer.so.8了。

相关推荐
c238566 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
凡人叶枫9 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan9 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨10 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
设计师小聂!10 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
祭曦念10 小时前
古诗小集开发实战:从零开发一款 HarmonyOS 古诗鉴赏应用
pytorch·深度学习·harmonyos
不吃土豆的马铃薯10 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++
java知路10 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker
fanged11 小时前
设备树学习2--一个DTBO实验
linux·嵌入式开发
星间都市山脉11 小时前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx