在安装CUDA之后总是会出现链接问题
/usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link
/usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link
/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link
查阅资料发现是 软连接的版本可能不对了,所以找不到链接
小结:
1. sudo ln -s 重建软连接
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
2. ldconfig 当有XXX.so.x is not a symbolic link存在的时候 会报错
使用 ls -l 查询不到软连接的目标:软连接目标为空
比如:
bliss-PC:~$ ls -l /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5
-rwxr-xr-x 1 root root 84163560 5月 13 20:26 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5
一. libEGL.so.1 is not a symbolic link的解决方法是重新链接它的目标
#备份旧的软连接(可以不做)
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
比如对于libEGL.so.375.39重建链接
#重建新的软连接
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
因为我本机的版本是 libEGL.so.375.66
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1
二. libcudnn.so.5 is not a symbolic link的解决方法是重新链接它的目标
在cudnn目录中查询链接 发现为空
cd /usr/local/cuda/lib64
ls -l libcudnn.so
-rwxr-xr-x 1 root root 84163560 5月 13 20:26 libcudnn.so
ls -l libcudnn.so.5
-rwxr-xr-x 1 root root 84163560 5月 13 20:26 libcudnn.so.5
重新覆盖 添加软链接
sudo ln -sf libcudnn.so.5.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so