54

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?

Dante
  • 2,329
  • 5
  • 27
  • 35
  • It is a bug reported by most users. Try installing driver software http://askubuntu.com/questions/851069/latest-nvidia-driver-on-ubuntu-16-04 and let us know if resolved – A Umar Mukthar Apr 05 '17 at 00:24
  • Found a bug report: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/+bug/1662860 – AlikElzin-kilaka May 08 '17 at 13:27

4 Answers4

48

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*

desgua
  • 32,917
Noisy_Botnet
  • 1,619
  • 3
    As Noisy_Botnet mentioned (sorry, can't comment underneath there due to rep points) or as discussed here the problem could be resolved TEMPORARILY. But now that the driver version upgraded from 375.39 to 375.51, you may have to repeat it with '39's replaced with '51's this time... And for future, you may have to check the versions (when 375.51 is upgraded) and the link I gave for updates on the issue... P.S: Read until the end before actually typing the commands on the link; some of the command l – hekimgil Apr 06 '17 at 23:40
  • 4
    any word on a real fix for this? – Goddard Apr 17 '17 at 18:22
  • 1
    Does this solution need to be repeated on every version upgrade? – AlikElzin-kilaka Apr 23 '17 at 07:41
  • 1
    I seem to find myself doing this more than once per system and as mentioned in an earlier comment, I needed to change the numbers. – sage Jun 21 '17 at 17:03
  • I think this is what bricked my system forcing a nuke-n-pave. Prior to that I had upgraded from 15.10 and KDE sddm-greeter kept crashing with a segfault in the same EGL library, so also did gdm. When I reverted to Nouveau, it worked but it was incredibly low FPS (we're talking video circa 1990 slow). This is a significant issue, I've already lost 10 hours today over this. – Coder Guy Jul 28 '17 at 03:56
  • I needed to perform these steps when I got the next upgrade, today. And, as @hekimgil pointed out, the numbers have rolled on. Worked fine on my 2014 MacBook Pro running 16.04.2. – gone Aug 03 '17 at 13:25
  • The steps above (just the moving and symlinking, not even the reconfigure) solved the problem I was having on my system. I was getting the same error messages (with a different nvidia-VERSION), and the end result is that my laptop, which has an internal intel and NVIDIA graphics card, was only loading the intel card, resulting in my external monitors not working. Making these symlinks again and restarting fixed it! – Scott Oct 30 '17 at 17:28
11

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
muru
  • 197,895
  • 55
  • 485
  • 740
1

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
  • I ran sudo apt-get update, sudo apt-get upgrade, sudo apt-get dist-upgrade, sudo apt-get install nvidia-375 and then installed my apps. – Dante Apr 06 '17 at 16:06
  • @Dante and it worked? The error disappeared? – AlikElzin-kilaka Apr 23 '17 at 07:39
  • @AlikElzin-kilaka After a fresh installation of Ubuntu 16.04.2, the first thing I did was upgrading my system from the main repository. After that I installed nvidia-375 driver and finally I installed any other applications I needed. But after the installation of each application I get the error mentioned in my question. So the error didn't disappear. On the contrary, it started to happen after upgrading. – Dante Apr 30 '17 at 11:14
  • update+upgrade didn't solve the issue for me either :( – AlikElzin-kilaka May 08 '17 at 13:30
  • It did work for me (installing sketch). So I removed sketch, did an update+upgrade, and reinstall sketch – surfealokesea Jun 28 '17 at 09:04
  • You probably want to make sure you get a complete upgrade. See https://askubuntu.com/a/79954/11522 – Brent Bradburn Nov 03 '17 at 03:37
  • ... Nevermind, I still see the message when installing new packages in 16.04.3. My system is completely up to date: sudo apt-get upgrade: 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. – Brent Bradburn Nov 03 '17 at 03:57
0

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.