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

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

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

Какова эта ошибка и как я могу решить ее?

54
задан 4 April 2017 в 16:15

4 ответа

Это проблема, которая затронула многих пользователей, и о ней сообщили как об ошибке на 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*

48
ответ дан 22 November 2019 в 23:48

Ниже приведена простая в использовании версия решения 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
11
ответ дан 22 November 2019 в 23:48

Вы обновляли без обновления сначала? У меня было то же сообщение, я обновил, обновленный, и сообщение увели

sudo apt-get update
sudo apt-get upgrade
1
ответ дан 22 November 2019 в 23:48

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

Так я решил проблему. Сначала

sudo apt-get update

sudo apt-get upgrade

Затем,

sudo ldconfig /usr/local/cuda/lib64

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

0
ответ дан 22 November 2019 в 23:48

Другие вопросы по тегам:

Похожие вопросы: