libcuda.so.1: cannot open shared object file: No such file or directory

现象:我想重新安装CUDA,所以手动把 /lib/x86_64-linux-gnu 下的libcuda*给删除,卸载重新安装CUDA。结果运行程序时提示 

 

libcuda.so.1: cannot open shared object file: No such file or directory。

我的/usr/local下确实有CUDA文件夹,里面也能找到libcuda.so 和 libcudart.so。

分析:/lib/x86_64-linux-gnu下的libcuda.so.1并不是安装cuda的时候生成的,他是link到 libcuda.so.driver_version的(删除之前查看过……),应该是安装driver的时候生成的(还是猜测)。他提供了调用cuda的接口。

方法:运行

apt-file search -x '/libcuda.so.1$' 

查看该缺失文件所在的包

System-Product-Name:~$ apt-file search -x '/libcuda.so.1$'
libcuda1-340: /usr/lib/i386-linux-gnu/libcuda.so.1
libcuda1-340: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-390: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-418-server: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-435: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-440: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-450-server: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-460: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-460-server: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-470: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-470-server: /usr/lib/x86_64-linux-gnu/libcuda.so.1
libnvidia-compute-495: /usr/lib/x86_64-linux-gnu/libcuda.so.1

发现都是在驱动文件里,好吧,卸载重装驱动

sudo apt remove libnvidia-compute-470
sudo apt install libnvidia-compute-470

发现libcuda.so.1 和 libcuda.so.470.86都回来了。上面的猜测得到了验证~

System-Product-Name:/lib/x86_64-linux-gnu$ ll libcuda*
lrwxrwxrwx 1 root root       21 4月  11  2020 libcudart.so.10.1 -> libcudart.so.10.1.243
-rw-r--r-- 1 root root   504480 8月  10  2019 libcudart.so.10.1.243
lrwxrwxrwx 1 root root       12 11月 12 00:08 libcuda.so -> libcuda.so.1
lrwxrwxrwx 1 root root       17 11月 12 00:08 libcuda.so.1 -> libcuda.so.470.86
-rw-r--r-- 1 root root 24139176 10月 27 06:09 libcuda.so.470.86

在/lib/x86_64-linux-gnu 目录下, .so -> .so.1 -> .so.driver_version,三者md5值是相同的。

libcuda.so提供对CUDA driver API的访问,而libcudart.so提供对CUDA runtime API的访问。更多请参考Ubuntu Manpage: libcuda.so - The NVIDIA CUDA Driver Libraryhttp://manpages.ubuntu.com/manpages/focal/man7/cuda-libraries.7.html

但是有了新报错~

libnvidia-encode.so.1: cannot open shared object file: No such file or directory

同样通过上述方式进行安装找回。

待解决问题:同样在CUDA的安装目录下,也有libcuda.so,/lib/x86_64-linux-gnu目录下的libcuda.so 和 CUDA目录下的libcuda.so 有什么不同?

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 这个错误提示表明在加载库文件时找不到libcuda.so.1这个共享对象文件。根据引用\[1\]和引用\[2\]的信息,可能是由于缺少libcuda.so这个文件导致的。你可以按照引用\[3\]中的步骤来解决这个问题。首先,确认/usr/lib/x86_64-linux-gnu文件夹中是否有libcuda.so这个文件,如果没有的话,可以手动添加。你可以使用以下命令进行备份和创建符号链接: ``` cd /usr/lib/x86_64-linux-gnu sudo mv libcuda.so.1 libcuda.so.1.backup sudo mv libcuda.so libcuda.so.backup sudo ln -s libcuda.so.1.1 libcuda.so.1 sudo ln -s libcuda.so.1 libcuda.so sudo ldconfig ``` 这些命令将备份原有的libcuda.so.1文件,并创建一个指向libcuda.so.1.1的符号链接,以及一个指向libcuda.so.1的符号链接。最后,使用sudo ldconfig命令更新库缓存。这样应该能够解决"failed: libcuda.so.1: cannot open shared object file: No such file or directory"的问题。 #### 引用[.reference_title] - *1* *3* [Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file](https://blog.csdn.net/qq_42770218/article/details/130549551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [dlerror: libcuda rt.so.11.0: cannot open shared object file: No such file or directory的问题解决办法](https://blog.csdn.net/qq_40701060/article/details/119348943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值