libEGL.so.1 不是符号链接

Dan*_*nte 54 nvidia 16.04

安装任何程序后,我收到以下错误

Processing triggers for libc-bin (2.23-0ubuntu7) ...
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link

/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link
Run Code Online (Sandbox Code Playgroud)

这是什么错误,我该如何解决?

小智 48

这是一个影响了许多用户的问题,并 在 Launchpad 报告为错误

不同版本的 libEGL 之间似乎存在冲突。

要摆脱这些警告,请创建以下符号链接(但请先阅读下面的警告):

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
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
Run Code Online (Sandbox Code Playgroud)

警告:无需更改系统。如果重启后无法启动图形界面,可以通过以下方式解决:
1. 登录终端;
2.运行sudo dpkg-reconfigure nvidia*

  • 对此有什么真正的解决办法吗? (4认同)
  • 正如 Noisy_Botnet 所提到的(抱歉,由于代表点,无法在下面发表评论)或 [here](https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/+bug/ 1662860?comments=all) 问题可以暂时解决。但是现在驱动版本从375.39升级到375.51,你可能要重复一遍,这次把'39's换成'51's...而且以后可能要检查版本(升级375.51时)和链接我提供了关于这个问题的更新...... PS:在实际输入链接上的命令之前阅读到最后;一些命令 l (3认同)

小智 11

以下是 Noisy_Botnet 解决方案的一个简单易用的版本。它有助于为任何更新重复该过程。

#! /bin/sh
#
# find the file in /usr/lib
LIBEGL=`find /usr/lib/nvidia* -name libEGL.so.\* | egrep "[0-9][0-9]*\.[0-9][0-9]*$"`
LIBEGL_LINK=`echo $LIBEGL | sed 's/[0-9][0-9]*\.[0-9][0-9]*$/1/'`
printf "\n\nThe following commands will be executed:\n+++++++++++++++++++++++++++++++++++++++\n"
printf "mv $LIBEGL_LINK ${LIBEGL_LINK}.orig\nln -s $LIBEGL $LIBEGL_LINK\n\n"
while true; do
    read -p "Do you wish to perform these commands?  " yn
    case $yn in
        [Yy]* ) mv $LIBEGL_LINK ${LIBEGL_LINK}.orig; ln -s $LIBEGL $LIBEGL_LINK ; break;;
        [Nn]* ) break;;
        * ) echo "Please answer yes or no.";;
    esac
done

# find the file in /usr/lib32
LIBEGL=`find /usr/lib32/nvidia* -name libEGL.so.\* | egrep "[0-9][0-9]*\.[0-9][0-9]*$"`
LIBEGL_LINK=`echo $LIBEGL | sed 's/[0-9][0-9]*\.[0-9][0-9]*$/1/'`
printf "\n\nThe following commands will be executed:\n+++++++++++++++++++++++++++++++++++++++\n"
printf "mv $LIBEGL_LINK ${LIBEGL_LINK}.orig\nln -s $LIBEGL $LIBEGL_LINK\n\n"
while true; do
    read -p "Do you wish to perform these commands?  " yn
    case $yn in
        [Yy]* ) mv $LIBEGL_LINK ${LIBEGL_LINK}.orig; ln -s $LIBEGL $LIBEGL_LINK ; break;;
        [Nn]* ) break;;
        * ) echo "Please answer yes or no.";;
    esac
done
Run Code Online (Sandbox Code Playgroud)