修复libcuda.so.1 is not a symbolic link

报错如下:

1
/usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

如果你的报错如下:

1
2
正在处理用于 libc-bin (2.31-0ubuntu9.9) 的触发器 ...
/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

这里提示libc-bin出错,那就先重新安装libc-bin

1
sudo apt reinstall libc-bin

再更新一次

1
sudo apt update && sudo apt upgrade

如果问题还没有解决,那就根据这个issue,libcuda.so.1 不是符号链接 ·第 5663 期 ·微软/WSL (github.com)

这实际上Windows中的一个问题,而与你的Linux安装无关。

问题在于 Windows 将 libcuda.so libcuda.so.1libcuda.so.1.1 作为同一文件的完全独立副本提供。

而实际上这三个文件是完全相同的,所以解决方法就是删除其中两个,然后创建符号链接

windows环境下,以管理员权限运行cmd

输入下列命令

1
2
3
4
5
cd \Windows\System32\lxss\lib  
del libcuda.so
del libcuda.so.1
mklink libcuda.so libcuda.so.1.1
mklink libcuda.so.1 libcuda.so.1.1

修复完成,输入命令查看修复结果

1
DIR
1
2
3
4
5
6
7
8
C:\Windows\System32\lxss\lib> DIR  
... ...
C:\Windows\System32\lxss\lib
03/15/2022 04:00 PM**

**.
03/15/2022 03:59 PM libcuda.so [libcuda.so.1.1]
03/15/2022 04:00 PM libcuda.so.1 [libcuda.so.1.1]