运行bin文件某个.so文件找不到error while loading shared libraries libcudart.so.8.0: No such file or directory

error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory

解决办法:

首先使用ldd命令查看这个.bin文件需要哪些依赖库:

ldd easyOpenposeVideo.bin

之后显示三个依赖的.so文件找不到:

libcudart.so.8.0 => not found
libcublas.so.8.0 => not found

libcurand.so.8.0 => not found

此时使用find命令查找这几个.so文件的位置,需要在/usr/目录下查找:

find -name libcudart.so*

显示出这个文件的位置:

./local/cuda-8.0/lib64/libcublas.so.8.0

./local/cuda-8.0/lib64/libcublas.so

找到了依赖项的位置之后,有两种方法解决问题。


方法1:

在自己的用户下,执行:

vim .bashrc

打开改文件;

在这个文件中添加上述依赖项的位置目录:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/

保存并退出之后执行:

source .bashrc

使上述修改生效。之后重新运行.bin文件,问题解决。


方法2:

用sudo权限在

/etc/ld.so.conf.d

这个目录中新建.conf文件,例如sudo vim cuda.conf

在这个文件中写入之前得到的.so文件的位置目录:

/usr/local/cuda/

/usr/local/cuda/lib64/

保存并推出后,运行

ldconfig

使刚才新建的文件生效,之后再次运行之前的.bin文件,问题解决。


猜你喜欢

转载自blog.csdn.net/qq_38469553/article/details/80765504