RuntimeError: Error in dlopen or dlsym: libcaffe2_nvrtc.so: cannot open shared o

477 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

RuntimeError: Error in dlopen or dlsym: libcaffe2_nvrtc.so: cannot open shared object file: No such file or directory

忘记因为什么报的这个错了,反正是某个包导致的

RuntimeError: Error in dlopen or dlsym: libcaffe2_nvrtc.so: cannot open shared object file: No such file or directory · Issue #31554 · pytorch/pytorch (github.com)

链接里说

I found a solution: include the lib path of anaconda into LD_LIBRARY_PATH before running pycharm.

For my own case:  run the following code line in the command line.

export LD_LIBRARY_PATH=/data/xiaoshua/miniconda3/lib/python3.7/site-packages/torch/lib:$LD_LIBRARY_PATH

For your case:  change the path of "/data/xiaoshua/miniconda3/" to your own directory. Then, run the above export code line.

如果确认库都安装了,就去查找一下有没有这个文件
查找方法:
一定要先到根目录,然后使用find命令查找

cd /
find -name libcaffe2_nvrtc.so

如果查找到了,那么说明包应该是有的,只要在命令行输入如下命令即可(根据GitHub链接里的提示)。\

export LD_LIBRARY_PATH=/data/xiaoshua/miniconda3/lib/python3.7/site-packages/torch/lib:$LD_LIBRARY_PATH

把其中的/data/xiaoshua/miniconda3/lib/python3.7/site-packages/torch/lib换成上述find搜到的路径即可,可能搜到好几个,选一个就行

到此结束




类似的还搜到这种解决方式,不过没上述这种好:

libbz2.so.1.0: cannot open shared object file: No such file or directory - 简书 (jianshu.com)
文中说不能软连接,原因如下:\

$ ln -s libbz2.so.1 libbz2.so.1.0
ln: failed to create symbolic link ‘libbz2.so.1.0’: Permission denied

不过我有个办法,就是把/usr/lib64/下面的这几个文件拷贝到自己的目录下面,这样就能肆意盘它了。问题又来了,拷贝到哪个目录下面?我放到了mypath/miniconda3/lib下面,因为既然目录名称都叫"lib",说明存放的文件类别相同,并且我在mypath/miniconda3/lib下面也找到了很多libso这样的文件。

$ cp libbz2.so.1 ~/miniconda3/lib

接着在mypath/miniconda3/lib目录下面软链接或是改名称

$ cd ~/miniconda3/lib
$ ln -s libbz2.so.1 libbz2.so.1.0
$ ll libbz2*
-rwxr-xr-x. 1 huangsiyuan grp3  67K Jul  9 19:39 libbz2.so.1
lrwxrwxrwx. 1 huangsiyuan grp3   11 Jul  9 19:43 libbz2.so.1.0 -> libbz2.so.1