Решение проблемы: не найдена определённая версия библиотеки
08.06.2018 60 0

Решение проблемы: не найдена определённая версия библиотеки

Новости IT
В закладки


Иногда программа не запускается из-за отсутствия библиотеки определённой версии, при этом в системе может присутствовать эта самая библиотека, но другой версии.

 


Чтобы было понятно, после одного из обновлений (в Arch Linux) перестал запускаться NetworkManager

 


sudo systemctl restart NetworkManager
Job for NetworkManager.service failed because the control process exited with error code.
See "systemctl status NetworkManager.service" and "journalctl -xe" for details.

 


В журнале

 


journalctl -xe

 


было следующее:

 


-- Начат процесс запуска юнита NetworkManager.service.
мар 21 16:37:23 HackWare NetworkManager[1110]: /usr/bin/NetworkManager: error while loading shared libraries: libpsl.so.5: cannot open shared object file: No such file or directory
мар 21 16:37:23 HackWare systemd[1]: NetworkManager.service: Main process exited, code=exited, status=127/n/a
мар 21 16:37:23 HackWare systemd[1]: NetworkManager.service: Failed with result 'exit-code'.
мар 21 16:37:23 HackWare systemd[1]: Failed to start Network Manager.
-- Subject: Ошибка юнита NetworkManager.service
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Произошел сбой юнита NetworkManager.service.
--
-- Результат: RESULT.
мар 21 16:37:23 HackWare systemd[1]: NetworkManager.service: Service hold-off time over, scheduling restart.
мар 21 16:37:23 HackWare systemd[1]: NetworkManager.service: Scheduled restart job, restart counter is at 5.
-- Subject: Назначен автоматический перезапуск юнита
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--

 


Главной там является строка /usr/bin/NetworkManager: error while loading shared libraries: libpsl.so.5: cannot open shared object file: No such file or directory, которая говорит о том, что произошла ошибка во время загрузки разделяемой библиотеки libpsl.so.5, проблема в том, что не получается открыть файл из-за его отсутствия.

 


С помощью locate я поискал, какие именно версии разделяемой библиотеки присутствуют:

 


locate libpsl.so
/usr/lib/libpsl.so
/usr/lib/libpsl.so.6
/usr/lib/libpsl.so.6.2.0

 


Как можно увидеть, в принципе библиотека в системе есть, но у неё другая версия.

 


Одним из способов решить данную проблему является создание символической ссылки командой следующего вида:

 


ln -s /путь/до/существующего.файла /путь/до/отсутствующего.файла

 


Например, у меня в системе есть файл /usr/lib/libpsl.so, а программа не может запуститься из-за отсутствия файла /usr/lib/libpsl.so.5, тогда получается команда:

 


ln -s /usr/lib/libpsl.so /usr/lib/libpsl.so.5

 


Это нельзя назвать полноценным решением проблемы – это, скорее «хот фикс», быстрое и не особо правильное решение проблемы. Но я пару раз применял этом приём и оба раза он срабатывал! Например, служба NetworkManager всё-таки запустилась.

 


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

 


Но поскольку NetworkManager – это популярная программа, то правильное исправление прилетело уже при следующем обновлении пакетов, причём из-за созданного мной файла обновление завершалось ошибкой:

 


(42/42) проверка конфликтов файлов [##################] 100%
ошибка: не удалось завершить транзакцию (конфликтующие файлы)
libpsl: '/usr/lib/libpsl.so.5' существует в файловой системе
Обнаружены ошибки, пакеты не обновлены.

 


Как только я удалил символическую ссылку (файл /usr/lib/libpsl.so.5), то обновление прошло успешно. После этого NetworkManager начал работать без созданной мной символической ссылки:

 


 


Думается, не надо злоупотреблять этим способом – лучше сообщить разработчику о возникшей проблеме, но в качестве очень быстрого решения в неотложных ситуациях, либо когда других вариантов нет – иногда можно использовать и такой грязный хак.

Комментарии (0)
Добавить комментарий
Прокомментировать
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Как обновиться до Linux Mint 19 и что в ней нового
Linux Mint 19 – это релиз с длительной поддержкой до 2023 года. Он поставляется с обновлённым программным обеспечением и приносит усовершенствования и множество
Linux mint 19
Linux mint 19
Linux mint 19
08.06.18 Новости IT
Linux mint 19 (скачать) Развиваемый сообществом дистрибутив Linux mint, основанный на Ubuntu и Debian, который ставит целью предоставить пользователю «современную,
Linux (видео уроки)
Linux (видео уроки)
Linux (видео уроки)
11.11.17 Новости IT / Наука
Linux (видео уроки) Обзор Linux видео уроки 1. Введение в ОС Linux/Unix Ubuntu. Видео linux уроки 2017 года. gnu linux operating system. Linux администрирование и linux
Linux mint 18.2
Linux mint 18.2
Linux mint 18.2
17.07.17 Новости IT
Linux mint 18.2 Основные новшества Linux Mint 18.2 (MATE, Cinnamon, KDE и Xfce): В состав включены новые версии десктоп-окружений MATE 1.18 и Cinnamon 3.4, оформление и
Rosa Linux - Linux из России
Rosa Linux - Linux из России
Rosa Linux - Linux из России
14.03.18 Новости IT / Наука
Rosa Linux - Linux из России. ROSA Fresh. Сделана для дома. Создана для вас. ROSA Fresh — это современная отечественная операционная система Linux, создаваемая
Linux Deepin OS
Linux Deepin OS
Linux Deepin OS
12.01.18 Новости IT
Новая версия Deepin 15 включает в себя новый дизайн Центра Управления и компьютера, он имеет новый размытый и прозрачный стиль, также включены новые взаимодействия для
Григорий Гагарин: Какой линукс выбрать? Какой linux лучше?
Какой линукс выбрать? Какой linux лучше? Сегодня мы разберемся какие дистрибутивы линукс бывают и какой из них самый лучший. Первое что нужно понять: дистрибутивов
Linux 4 Me: Linux Mint 18.1 Serena Cinnamon (Подробный обзор)
Linux Mint 18.1 Serena Cinnamon (Подробный обзор) Подробный обзор Beta версии Linux Mint 18.1 Serena Cinnamon Linux Mint команда объявила о выпуске обновления для 18.x
Войти через: