问题说明

慕雪遇到的情况是wsl2安装的ubuntu22.04在apt安装软件的时候就会出现这个报错,无论安装什么软件都会有

1
/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

博客参考

网上原有的解决方法是:
/usr/lib/wsl/lib中的文件软连接到/usr/lib/wsl/lib2中。

该方法会导致后续出现

  • 问题1:NVIDIA-SMI couldn’t find libnvidia-ml.so library in your system.
  • 问题2:error code is libcuda.so: cannot open shared object file: No such file or directory

我的解决方法是:删除或备份/usr/lib/wsl/lib中的libcuda.solibcuda.so.1,然后建立对libcuda.so.1.1的软连接。

注意,cp备份原本的时候不能直接备份到/usr/lib/wsl/lib/目录中,因为下一次启动时这个目录会被系统自动处理,内部的.bak文件会被删除。

1
2
3
4
5
6
7
8
9
# 备份原本的
sudo cp /usr/lib/wsl/lib/libcuda.so ~/libcuda.so.bak
sudo cp /usr/lib/wsl/lib/libcuda.so.1 ~/libcuda.so.1.bak
# 删除原本的
sudo rm -f /usr/lib/wsl/lib/libcuda.so
sudo rm -f /usr/lib/wsl/lib/libcuda.so.1
# 进行软连接
sudo ln -s /usr/lib/wsl/lib/libcuda.so.1.1 /usr/lib/wsl/lib/libcuda.so.1
sudo ln -s /usr/lib/wsl/lib/libcuda.so.1 /usr/lib/wsl/lib/libcuda.so

修改后的效果如下,libcuda.solibcuda.so.1实际上都指向libcuda.so.1.1

1
2
3
4
5
6
❯ ll
total 216M
-r-xr-xr-x 1 root root 11M Jan 13 06:30 libcudadebugger.so.1
lrwxrwxrwx 1 root root 29 Feb 1 15:52 libcuda.so -> /usr/lib/wsl/lib/libcuda.so.1
lrwxrwxrwx 1 root root 31 Feb 1 15:52 libcuda.so.1 -> /usr/lib/wsl/lib/libcuda.so.1.1
-r-xr-xr-x 1 root root 155K Jan 13 06:30 libcuda.so.1.1

原文版权说明

1
2
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pl23k/article/details/131336220

同时可以参考:WSL libcuda.so.1 is not a symbolic link 的解决方法 | ✨kiraの博客