libEGL.so.1 is not a symbolic link

After the installation of any programs I get the following error

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

What is this error and how can I solve it?

2

4 Answers

This is an issue which has affected many users and is reported as a bug at Launchpad.

There appears to be a conflict between different versions of libEGL.

To get rid of these warning, create the following symlinks (but first read the warning 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

Warning: There is no need to change your system. If after reboot you can not start the graphical interface you can solve by:
1. Login into a terminal;
2. Run sudo dpkg-reconfigure nvidia*

7

The following is an easy-to-use version of Noisy_Botnet's solution. It facilitates repeating the process for any update.

#! /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
0

did you upgrade without update first? I had the same message, I updated, upgraded and the message was gone

sudo apt-get update
sudo apt-get upgrade
7

I had the same issue and ended up getting through it; it had worked before. I have Cuda 8.0 and Tensorflow 1.3 on Ubuntu 16.04.

This is how I resolved the issue. First,

sudo apt-get update
sudo apt-get upgrade

Then,

sudo ldconfig /usr/local/cuda/lib64

It works now. The execution order matters.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like