1. 程式人生 > >安裝CUDA 出現libEGL.so.1 is not a symbolic link libcudnn.so.5 is not a symbolic link

安裝CUDA 出現libEGL.so.1 is not a symbolic link libcudnn.so.5 is not a symbolic link

在安裝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