libEGL.so.1不是符号链接


54

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

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

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


这是大多数用户报告的错误。尝试安装驱动程序软件 askubuntu.com/questions/851069/…,并让我们知道是否已解决
A Umar Mukthar'Aug

Answers:


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

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


3
正如Noisy_Botnet提到的(抱歉,由于代表点而无法在下面评论)或如此处所讨论的,可以临时解决问题。但是,现在驱动程序版本已从375.39升级到375.51,您可能必须再次将其替换为“ 39”,再用“ 51”代替...,将来,您可能必须检查版本(升级375.51时)和链接我提供了有关该问题的更新... PS:阅读到底,然后在链接上实际键入命令;一些命令l
hekimgil'4

4
真正的解决方案上有什么话吗?
Goddard

1
每次版本升级都需要重复此解决方案吗?
AlikElzin-kilaka

1
我似乎发现自己在每个系统上执行此操作的次数不止一次,并且如前面的评论中所述,我需要更改数字。
圣人

我认为这是迫使我的系统强制执行nuke-n-pave的原因。在此之前,我已从15.10升级,并且KDE sddm-greeter在同一EGL库中始终因段错误而崩溃,gdm也是如此。当我恢复到Nouveau时,它可以工作,但FPS令人难以置信(我们谈论的是1990年代的慢视频)。这是一个重要的问题,今天我已经失去了10个小时。
乔纳森·诺伊菲尔德

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

1

您是否先升级而没有更新?我有相同的消息,我进行了更新,升级,消息消失了

sudo apt-get update
sudo apt-get upgrade

我跑了sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgradesudo apt-get install nvidia-375然后安装我的应用程序。
Dante

@Dante,它起作用了吗?错误消失了吗?
AlikElzin-kilaka

@ AlikElzin-kilaka全新安装Ubuntu 16.04.2之后,我要做的第一件事是从主存储库升级系统。之后,我安装了nvidia-375驱动程序,最后安装了所需的其他应用程序。但是在安装每个应用程序后,我得到了我的问题中提到的错误。因此错误没有消失。相反,它是在升级后开始发生的。
Dante

update+upgrade也没有为我解决问题:(
AlikElzin-kilaka

它确实对我有用(安装草图)。因此,我删除了草图,进行了更新和升级,然后重新安装了草图
surfealokesea

0

我遇到了同样的问题,最终解决了这个问题。它曾经工作过。我在Ubuntu 16.04上有Cuda 8.0和Tensorflow 1.3。

这就是我解决问题的方式。第一,

sudo apt-get update

sudo apt-get upgrade

然后,

sudo ldconfig /usr/local/cuda/lib64

现在可以使用了。执行顺序很重要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.