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了。

相关推荐
huangyuchi.17 分钟前
【Linux系统】动静态库的制作
linux·运维·服务器·动态库·静态库·库的简单制作
jim写博客1 小时前
Linux进程概念(四)环境地址变量
linux·运维·服务器
稚辉君.MCA_P8_Java1 小时前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
Nie_Xun2 小时前
ubuntu网络共享
linux·运维·ubuntu
Tiger Z2 小时前
《动手学深度学习v2》学习笔记 | 1. 引言
pytorch·深度学习·ai编程
花小璇学linux2 小时前
imx6ull-驱动开发篇22——Linux 时间管理和内核定时器
linux·运维·驱动开发
你好,赵志伟4 小时前
Socket 编程 TCP
linux·服务器·tcp/ip
Liang_GaRy5 小时前
心路历程-三个了解敲开linux的大门
linux·运维·服务器
一只栖枝9 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer11 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu