libEGL.so.1 не является символической ссылкой

54

После установки любых программ я получаю следующую ошибку

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

Что это за ошибка и как я могу ее исправить?

Dante
источник
Это ошибка, о которой сообщает большинство пользователей. Попробуйте установить программное обеспечение драйвера askubuntu.com/questions/851069/… и дайте нам знать, если это будет решено
A Umar Mukthar
Нашел отчет об ошибке: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/…
AlikElzin-kilaka

Ответы:

48

Это проблема, которая затронула многих пользователей и сообщается как ошибка на Launchpad .

Похоже, существует конфликт между различными версиями libEGL.

Чтобы избавиться от этих предупреждений, создайте следующие символические ссылки (но сначала прочитайте предупреждение ниже):

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

Предупреждение : нет необходимости менять вашу систему. Если после перезагрузки вы не можете запустить графический интерфейс, вы можете решить:
1. Войдите в терминал;
2. Бегиsudo dpkg-reconfigure nvidia*

Noisy_Botnet
источник
3
Как упомянул Noisy_Botnet (извините, не могу комментировать ниже из-за точек повторения) или как обсуждалось здесь, проблема может быть решена ВРЕМЕННО. Но теперь, когда версия драйвера была обновлена ​​с 375,39 до 375,51, вам, возможно, придется повторить ее с «39 заменили на 51» на этот раз ... А в будущем вам, возможно, придется проверить версии (когда обновлено 375.51) и ссылку Я дал за обновления по проблеме ... PS: Читайте до конца, прежде чем вводить команды по ссылке; часть команды l
hekimgil
4
Любое слово на реальное решение для этого?
Годдард
1
Нужно ли повторять это решение при каждом обновлении версии?
Алик Эльзин-килака
1
Кажется, я делаю это более одного раза для каждой системы, и, как упоминалось в предыдущем комментарии, мне нужно было изменить цифры.
мудрец
Я думаю, это то, что заложило мою систему, заставив ядерную бомбу. До этого я обновлял с 15.10, и KDE sddm-greeter продолжал падать с segfault в той же библиотеке EGL, как и gdm. Когда я вернулся в Nouveau, это сработало, но было невероятно низким FPS (мы говорим видео примерно в 1990 году медленно). Это серьезная проблема, сегодня я уже потерял 10 часов из-за этого.
Джонатан Нойфельд
11

Ниже приведена простая в использовании версия решения Noisy_Botnet. Это облегчает повторение процесса для любого обновления.

#! /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
Джерард Тромп
источник
1

Вы обновили без обновления в первую очередь? У меня было то же сообщение, я обновил, обновил, и сообщение исчезло

sudo apt-get update
sudo apt-get upgrade
Юваль Харпаз
источник
Я бегала sudo apt-get update, sudo apt-get upgrade, sudo apt-get dist-upgrade, sudo apt-get install nvidia-375а затем установили свои приложения.
Данте
@ Данте, и это сработало? Ошибка исчезла?
Алик Эльзин-килака
@ AlikElzin-kilaka После новой установки Ubuntu 16.04.2 первым делом я обновил свою систему из основного репозитория. После этого я установил nvidia-375драйвер и, наконец, я установил другие необходимые мне приложения. Но после установки каждого приложения я получаю ошибку, указанную в моем вопросе. Так что ошибка не исчезла. Наоборот, это начало происходить после обновления.
Данте
update+upgradeне решил проблему и для меня :(
АликЭльзин-килака
Это сработало для меня (установка эскиза). Поэтому я удалил скетч, сделал обновление + обновление и переустановил скетч
surfealokesea
0

У меня была та же проблема, и в итоге я ее преодолел; это сработало раньше. У меня есть Cuda 8.0 и Tensorflow 1.3 на Ubuntu 16.04.

Вот так я решил проблему. Первый,

sudo apt-get update

sudo apt-get upgrade

Затем,

sudo ldconfig /usr/local/cuda/lib64

Это работает сейчас. Порядок исполнения имеет значение.

Hahnsang
источник