web-dev-qa-db-fra.com

libEGL.so.1 n'est pas un lien symbolique

Après l'installation de tous les programmes, j'obtiens l'erreur suivante

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

Quelle est cette erreur et comment puis-je la résoudre?

53
Dante

Ceci est un problème qui a affecté de nombreux utilisateurs et est signalé comme un bogue dans Launchpad .

Il semble y avoir un conflit entre les différentes versions de libEGL.

Pour supprimer ces avertissements, créez les liens symboliques suivants (mais lisez d'abord l'avertissement ci-dessous):

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

Avertissement : Il n'est pas nécessaire de changer de système. Si après le redémarrage, vous ne pouvez pas démarrer l'interface graphique, vous pouvez résoudre les problèmes suivants:
1. Connectez-vous à un terminal.
2. Exécutez Sudo dpkg-reconfigure nvidia*

48
Noisy_Botnet

Ce qui suit est une version facile à utiliser de la solution de Noisy_Botnet. Cela facilite la répétition du processus pour toute mise à jour.

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

avez-vous mis à jour sans mise à jour d'abord? J'ai eu le même message, j'ai mis à jour, mis à jour et le message était parti

Sudo apt-get update
Sudo apt-get upgrade
1
Yuval Harpaz

J'ai eu le même problème et j'ai fini par le traverser; cela avait déjà fonctionné. J'ai Cuda 8.0 et Tensorflow 1.3 sur Ubuntu 16.04.

Voici comment j'ai résolu le problème. Premier,

Sudo apt-get update

Sudo apt-get upgrade

Ensuite,

Sudo ldconfig /usr/local/cuda/lib64

Ça fonctionne maintenant. L'ordre d'exécution compte.

0
Hahnsang