54 votes

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

Après l'installation de tout programme, 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 ?

48voto

Noisy_Botnet Points 1529

Il s'agit d'un problème qui a affecté de nombreux utilisateurs et qui est signalé comme un bogue sur Launchpad .

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

Pour vous débarrasser de cet avertissement, créez les liens symboliques suivants (mais lisez d'abord le document intitulé avertissement bellow) :

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 modifier votre système. Si, après le redémarrage, vous ne pouvez pas démarrer l'interface graphique, vous pouvez résoudre ce problème :
1. Connectez-vous à un terminal ;
2. Exécutez sudo dpkg-reconfigure nvidia*

11voto

Gerard Tromp Points 111

Ce qui suit est une version facile à utiliser de la solution de Noisy_Botnet. Elle 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

1voto

Yuval Harpaz Points 219

Avez-vous fait la mise à jour sans la première mise à jour ? J'ai eu le même message, j'ai fait la mise à jour, la mise à niveau et le message a disparu.

sudo apt-get update
sudo apt-get upgrade

0voto

Hahnsang Points 1

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

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

sudo apt-get update

sudo apt-get upgrade

Ensuite,

sudo ldconfig /usr/local/cuda/lib64

Cela fonctionne maintenant. L'ordre d'exécution compte.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X