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文件,问题解决。