本文已参与「新人创作礼」活动,一起开启掘金创作之路。
RuntimeError: Error in dlopen or dlsym: libcaffe2_nvrtc.so: cannot open shared object file: No such file or directory
忘记因为什么报的这个错了,反正是某个包导致的
链接里说
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