Решение проблемы установки и запуска приложений на Linux

Проблема установки и запуска приложений на Linux

Хотя в репозиториях современных дистрибутивов есть огромное количество готовых бинарных пакетов приложений на любой вкус, обязательно найдется такое, установить которое в систему иначе как собрав из исходников не удастся.

Нередко запуск таких приложений заканчивается крахом и сопровождается сообщениями об отсутствии некоторых библиотек, хотя на самом деле такие библиотеки есть в системе. Обычно причина этому — несовпадение версии библиотеки.

Несовпадение версии библиотеки

Любимый многими проигрыватель Bomi, чья разработка в последнее время несколько забуксовала и не поспевает за обновлениями используемых библиотек, после установки из исходников может ругаться на отсутствие библиотеки libass.so.5:

[/crayon]
Первая мысль: установить эту библиотеку. Устанавливаем и получаем то же сообщение, потому что версии библиотек не совпадают: у нас 9.0.1, а нужна 5.

В этом случае можно попытаться обмануть Bomi, подсунув ему нашу версию библиотеки под видом нужной ему. Сделать это можно с помощью символической ссылки:

[/crayon]

Проблема установки и запуска приложений на Linux
Проблема установки и запуска приложений на Linux. Исправление отсутствия библиотек в Bomi
Исправление отсутствия библиотек в Bomi

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

Конфликты библиотек

Противоположная ситуация складывается, когда пакетный менеджер ругается не на отсутствие, а на присутствие в системе той же библиотеки, что поставляется с устанавливаемым пакетом.

Причиной может быть другое установленное приложение, уже предоставившее данную библиотеку. Так часто случается, когда пакет установлен с помощью инструмента, отличного от штатного пакетного менеджера, например питоновского pip.

Проблемы могут быть и между пакетами, установленными из стандартного менеджера пакетов. Например, установка  nvidia-340xx-utils в Manjaro Linux до внесения разработчиками исправлений могла завершиться целой чередой сообщений о наличии содержащихся в нем библиотек в системе, по недоразумению установленных в систему пакетом libglvnd:

[/crayon]
В подобных случаях сначала придется деинсталлировать пакет, вызвавший ошибку, а затем установить требуемый.

Иногда, например все для того же pip или если приложение вообще было установлено способом configure && make && make install, потребуется вручную удалять библиотеки, вызвавшие конфликт, не деинсталлируя само приложение, их породившее.

Проблемы доступа к устройствам

Досадно обнаружить, как установленное тобой приложение, работающее с периферийными устройствами, вдруг «радует» сообщением, что нет прав на доступ к этим устройствам, и успешно запускается только с правами суперпользователя. Например, если бы подобное произошло с tvtime в отношении видеокарты, пользователь столкнулся бы с таким сообщением в консоли:

[/crayon]
Первым делом следует проверить группы доступа к устройству:

[/crayon]
Ожидаемо ты обнаруживаешь среди них root и video, но не обнаруживаешь в последней себя (user), выполнив проверку командой

[/crayon]
Естественное решение — добавить пользователя (user) в группу (video) любой из доступных команд:

[/crayon]
По завершении команды нужно перезайти в систему.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий