libEGL.so.1 ist kein symbolischer Link

54

Nach der Installation von Programmen erhalte ich folgende Fehlermeldung

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

Was ist dieser Fehler und wie kann ich ihn beheben?

Dante
quelle
Es ist ein Fehler, der von den meisten Benutzern gemeldet wird. Versuchen Sie, die Treibersoftware askubuntu.com/questions/851069/… zu installieren, und teilen Sie uns mit, ob dies behoben ist
A Umar Mukthar,
Einen Fehlerbericht gefunden: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/…
AlikElzin-kilaka

Antworten:

48

Dies ist ein Problem, von dem viele Benutzer betroffen sind und das im Launchpad als Fehler gemeldet wird .

Es scheint einen Konflikt zwischen verschiedenen Versionen von libEGL zu geben.

Um diese Warnung zu beseitigen, erstellen Sie die folgenden Symlinks (lesen Sie jedoch zuerst den Warnhinweis unten):

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

Warnung : Sie müssen Ihr System nicht ändern. Wenn Sie nach dem Neustart die grafische Oberfläche nicht starten können, können Sie Folgendes tun:
1. Melden Sie sich bei einem Terminal an.
2. Führen Sie aussudo dpkg-reconfigure nvidia*

Noisy_Botnet
quelle
3
Wie Noisy_Botnet erwähnt (kann dort aufgrund von Wiederholungspunkten leider nicht kommentieren) oder wie hier beschrieben, konnte das Problem VORÜBERGEHEND behoben werden. Aber jetzt, da die Treiberversion von 375.39 auf 375.51 aktualisiert wurde, müssen Sie sie möglicherweise wiederholen, wobei diesmal '39' durch '51' ersetzt werden. Für die Zukunft müssen Sie möglicherweise die Versionen (wenn 375.51 aktualisiert wurde) und den Link überprüfen Ich gab für Updates zu diesem Thema ... PS: Lesen Sie bis zum Ende, bevor Sie die Befehle auf dem Link tatsächlich eingeben; Einige der Befehl l
hekimgil
4
Gibt es ein Wort für eine echte Lösung dafür?
Goddard
1
Muss diese Lösung bei jedem Versions-Upgrade wiederholt werden?
AlikElzin-kilaka
1
Anscheinend mache ich das mehrmals pro System, und wie in einem früheren Kommentar erwähnt, musste ich die Zahlen ändern.
Salbei
Ich denke, das ist es, was mein System blockiert hat und einen Nuke-n-Pave erzwingt. Zuvor hatte ich ein Upgrade von 15.10 durchgeführt und KDE sddm-greeter stürzte weiterhin mit einem Segfault in derselben EGL-Bibliothek ab, ebenso wie gdm. Als ich zu Nouveau zurückgekehrt bin, hat es funktioniert, aber die FPS waren unglaublich niedrig (wir sprechen von einem langsamen Video um 1990). Dies ist ein wichtiges Problem, ich habe heute bereits 10 Stunden verloren.
Jonathan Neufeld
11

Das Folgende ist eine benutzerfreundliche Version der Noisy_Botnet-Lösung. Dies erleichtert das Wiederholen des Vorgangs für Aktualisierungen.

#! /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
Gerard Tromp
quelle
1

Haben Sie zuerst ein Upgrade ohne Update durchgeführt? Ich hatte die gleiche Nachricht, ich habe aktualisiert, aktualisiert und die Nachricht war weg

sudo apt-get update
sudo apt-get upgrade
Yuval Harpaz
quelle
Ich lief sudo apt-get update, sudo apt-get upgrade, sudo apt-get dist-upgrade, sudo apt-get install nvidia-375und dann installiert meine apps.
Dante
@Dante und es hat funktioniert? Der Fehler ist verschwunden?
AlikElzin-kilaka
@ AlikElzin-kilaka Nach einer Neuinstallation von Ubuntu 16.04.2 habe ich zuerst mein System vom Haupt-Repository aus aktualisiert. Danach installierte ich den nvidia-375Treiber und schließlich installierte ich alle anderen Anwendungen, die ich brauchte. Aber nach der Installation jeder Anwendung erhalte ich den in meiner Frage genannten Fehler. Der Fehler ist also nicht verschwunden. Im Gegenteil, es begann nach dem Upgrade.
Dante
update+upgradeDas Problem konnte ich auch nicht lösen :(
AlikElzin-kilaka
Es hat bei mir geklappt (Skizze installieren). Also habe ich sketch entfernt, ein Update + Upgrade durchgeführt und sketch
surfealokesea am
0

Ich hatte das gleiche Problem und kam durch; es hatte vorher geklappt. Ich habe Cuda 8.0 und Tensorflow 1.3 auf Ubuntu 16.04.

So habe ich das Problem gelöst. Zuerst,

sudo apt-get update

sudo apt-get upgrade

Dann,

sudo ldconfig /usr/local/cuda/lib64

Es funktioniert jetzt. Die Ausführungsreihenfolge ist wichtig.

Hahnsang
quelle