Couldn‘t open CUDA library libcuda.so.1. LD_LIBRARY_PATH:解决方式

参考 :https://stackoverflow.com/questions/41890549/tensorflow-cannot-open-libcuda-so-1

Linux (Ubuntu)下使用NVIDIA GPU来 运行TensorFlow,在安装好驱动、CUDA 和 cudnn之后,在运行tensorflow时,其他的.so文件能够运行,而libcuda.so.1文件提示打不开,

Couldn't open CUDA library libcuda.so.1. LD_LIBRARY_PATH:

原因:

先说下这个文件在哪,安装cudnn的时候提供的那些.so文件里面没有这个 libcuda.so.1.文件的,这个文件实际上在

/usr/lib/x86_64-linux-gnu 里面。而这个文件并不是真正library(这个我也不知道)。反正他指向NVIDIA GPU的驱动版本对应的.so文件,我们需要重新将这个文件对应到我们GPU实际的驱动版本.so文件。具体处理如下:

# See where the link is pointing.查看链接指向  
ls  /usr/lib/x86_64-linux-gnu/libcuda.so.1 -la
# My result:
# lrwxrwxrwx 1 root root 19 Feb 22 20:40 \
# /usr/lib/x86_64-linux-gnu/libcuda.so.1 -> ./libcuda.so.375.39

# Make sure it is pointing to the right version. 查看NVIDIA驱动真正使用的版本
# Compare it with the installed NVIDIA driver.
nvidia-smi

# Replace libcuda.so.1 with a link to the correct version,如果版本不对应的话,就要将链接重新对应上去
cd /usr/lib/x86_64-linux-gnu
sudo ln -f -s libcuda.so.<yournvidia.version> libcuda.so.1
# 如我的NVIDIA版本是 384.130,命令行为
#sudo ln -f -s libcuda.so.384.130 libcuda.so.1

 

第一个就是程序要读取打开的.so.1文件,第二个是我GPU实际上对应的版本,第三个是原来对应的版本 

 

 简化一下答案:

# 1 查看链接指向  
ls  /usr/lib/x86_64-linux-gnu/libcuda.so.1 -la

# 2 查看NVIDIA驱动真正使用的版本
nvidia-smi

# 3 如果版本不对应的话,就要将链接重新对应上去
cd /usr/lib/x86_64-linux-gnu
sudo ln -f -s libcuda.so.<yournvidia.version> libcuda.so.1
# 如我的NVIDIA版本是 410.78,命令行为
#sudo ln -f -s libcuda.so.410.78 libcuda.so.1

有个情况就是,我昨天设置的对应版本,机器没有重启,但是so.1却又回到了以前的状态了,即.so.1又指向了libcuda.so.430.64版本,这个有待解决

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
回答: 这个错误是由于缺少libcuda.so库文件引起的。libcuda.so是与CUDA相关的库文件,它用于与CUDA驱动程序进行通信。在你的系统中,可能没有正确安装或配置CUDA驱动程序,导致无法找到libcuda.so文件。为了解决这个问题,你可以按照以下步骤进行操作:首先,确认你的系统中是否存在libcuda.so文件。你可以在/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文件,并创建一个符号链接指向libcuda.so.1.1。然后,更新系统库缓存以使更改生效。重新运行你的程序时,应该能够加载libcudnn_cnn_infer.so.8库文件并解决该错误。123 #### 引用[.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^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [Could not load library libcudnn_cnn_infer.so.8.错误解决](https://blog.csdn.net/weixin_42236469/article/details/128054728)[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^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值