склонный - получают операционный сбой, из-за недопустимого ld.so поиска

Вся моя Кв. - добирается, операции перестали работать, потому что где-нибудь, кажется, существует файл, звоня ld.so с файлом, которые больше не существуют. Это означает, что я больше не могу использовать склонный - добираются, чтобы установить или обновить мои зависимости!

Я выполняю Lubuntu 16.04.

Я полагаю, что это начало происходить из-за автоматического обновления, которое произошло с Nvidia CUDA. Начиная на прошлой неделе, я начал видеть, что это выстраивает в линию шоу в моем терминале после выполнения команд, которые не имеют никакого отношения к CUDA.

ERROR: ld.so: object '/usr/lib/nvidia-375/libnvidia-ml.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Я пошел для изучения этого и нашел, что файл/usr/lib/nvidia-375/libnvidia-ml.so не существовал в моей системе, что вместо этого был libnvidia-ml.so файл в папке, которая, казалось, была для обновления того же пакета,/usr/lib/nvidia-382.

Я думал, что с перезагрузкой и некоторыми обновлениями эта проблема уйдет, но сегодня я понимаю, что больше не могу делать самый склонный - получают команды. Например, когда я выполняю команду установки, я получаю огромный вывод журнала, который включает вышеупомянутую строку сотни времен, и установка в конечном счете перестала работать.

У меня есть копировать-и-вставлять из тех выводов в суть (это было слишком большим для вставления этого сообщения). Это было результатом вывода от попытки работать sudo apt-get install vlc (но это перестало работать так же с любой установкой). https://gist.github.com/travellingprog/00a08cff1019f7a12d36b975dff62c92

Я даже не использую CUDA в эти дни, таким образом, это является особенно раздражающим. Одна из вещей, которые я попробовал, состояла в том, чтобы удалить nvidia-382. Само удаление, кажется, работало, и это, кажется, удалило CUDA 9 наряду с ним, но проблема все еще сохраняется.

Вещь, я понятия не имею, в чем пакет или файл продолжают просить этот несуществующий файл/usr/lib/nvidia-375.

Кто-то может помочь?

Обновление 01.11.2017

Я, кажется, получаю эту ошибку каждый раз, когда я выполняю a sudo команда.

Я пытался работать ldd /usr/bin/sudo и ldd /usr/bin/apt-get и ни один из них не перечисляет этот файл Nvidia. Я посмотрел в папке,/etc/ld.so.conf.d, и нашел файл названным cuda-9-0.conf, несмотря на то, что CUDA должен быть удален. Таким образом, я переименовал его к cuda-9-0.backup и работал sudo ldconfig.

Это не зафиксировало его, я все еще надеваю сообщение об ошибке каждый sudo команда.

Я также решил проверить кэш, и я не уверен, указывает ли это на проблему:

# sudo ldconfig -p | grep nvidia
ERROR: ld.so: object '/usr/lib/nvidia-375/libnvidia-ml.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
libnvidia-gtk3.so.384.81 (libc6,x86-64) => /usr/lib/libnvidia-gtk3.so.384.81
libnvidia-gtk2.so.384.81 (libc6,x86-64) => /usr/lib/libnvidia-gtk2.so.384.81
2
задан 1 November 2017 в 19:26

3 ответа

Благодаря ответу @muru и комментарию @pbhj к тому ответу, я нашел, что проблема была то, что переменная среды LD_PRELOAD устанавливался на "/usr/lib/nvidia-375/libnvidia-ml.so" в файле /etc/environment.

Я, скорее всего, добавил строку в том файле сам давным-давно, когда я сначала настроил CUDA. Я предполагаю, что это было взломом к проблеме, которую я имел в то время, который потребовал установки LD_PRELOAD в sudo уровень.

Как @muru продемонстрированный, довольно легко воспроизвести сообщение об ошибке путем установки переменной среды LD_PRELOAD на файл, который не существует. Однако, мои файлы инициализации оболочки не установили его, и env | grep LD_PRELOAD возвращенный ничто.

Однако (благодаря комментарию @pbhj), я узнал это при выполнении sudo apt-get update отобразил бы ошибку тонна времен в выводе, sudo env -u LD_PRELOAD apt-get update только отображенный это однажды, в самом верху вывода. Затем я нашел это sudo env | grep LD_PRELOAD показал, что это было действительно установлено на несуществующий файл, для sudo команды.

Кроме /etc/environment, любой имеющий эту проблему должен также посмотреть на файл /etc/sudoers (с которым необходимо отредактировать sudo visudo) и любые файлы в папке /etc/sudoers.d/.

1
ответ дан 2 December 2019 в 02:45

Вы пробовали с:

dpkg-reconfigure nvidia-***

Это может решить вашу проблему, перенастроить и переустановить при необходимости!

0
ответ дан 2 December 2019 в 02:45

Вы, кажется, установили LD_PRELOAD переменная среды где-нибудь:

$ /bin/true
$ export LD_PRELOAD=/usr/lib/nvidia-375/libnvidia-ml.so
$ /bin/true
ERROR: ld.so: object '/usr/lib/nvidia-375/libnvidia-ml.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Я предложил бы, чтобы Вы проверили свои файлы инициализации оболочки (~/.{bashrc,profile}, /etc/{bash.bashrc,profile,profile.d/*}). Или выполненный эта команда:

PS4=' ${BASH_SOURCE}:${LINENO} ' bash -lixc exit |& grep LD_PRELOAD
2
ответ дан 2 December 2019 в 02:45

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

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