LINUX.ORG.RU

не могу запустить Avorion

 , ,


0

1

‘‘‘grisha@grigory:~/Загрузки/avorion$ sh client.sh bin/Avorion: error while loading shared libraries: libwebp.so.5: cannot open shared object file: No such file or directory’’’ Поискал решение, узнал что нужно установить libwebp.so.5. Как, не нашёл.

Как? Просто скопировать. Если конечно-же проблема в нём, только в нём. Установить - это самое последнее средство, если не боишся «сломать систему».

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)

В дебиане 11 уже шестая версия webp (libwebp.so.6). Последний релиз дебиана с libwebp.so.5 это debian 8 (jessie).

Вот пакет из него: https://archive.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2 b...

можешь попробовать установить (ссылка на 32-битную версию, для 64-битной замени i386 на amd64), с уже установленной шестой версией она не конфликтует, можно одновременно обе иметь.

Но возможно после этого ещё какой-то библиотеки будет не хватать.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от snaS52Sans

Распакуй пакет, или возьми где угодно ещё файл libwebp.so.5 (он скорее всего симлинк, поэтому все файлы libwebp.so.5*, какие есть, положи. Например, libwebp.so.5 и libwebp.so.5.0.1), положи его к другим либам в каталоге с игрой (~/Загрузки/avorion/bin). Подцепится.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)

Возьми пакет от Debian Jessie или того релиза, где есть требуемая версия библиотеки.

Распакуй из него файлы и положи в отдельную директорию.

Посредством ldd посмотри зависимости библиотеки:

ldd <some_dir>/libwebp.so.5

Определи каких не хватает. Так же скачай пакеты и распакую в эту же директорию.

Через переменную окружения LD_LIBRARY_PATH задай путь до этой директории и далее через ldd опять проверь зависимости

LD_LIBRARY_PATH=<some_dir> ldd <some_dir>/libwebp.so.5

или

export LD_LIBRARY_PATH=<some_dir>
ldd <some_dir>/libwebp.so.5

Проверь зависимости других so и прочих файлов в этой директории. Пробуй запускать игру.

export LD_LIBRARY_PATH=<some_dir>
sh client.sh

Другой вариант - попробовать создать символьную ссылку на текущую библиотеку 6-й или какой-там версии, что присутствует в системе, либо в /usr/lib/<где-то там>, но лучше так же в отдельную директорию и через LD_LIBRARY_PATH или перед запуском определи LD_PRELOAD переменную.

Альтернативный вариант - попробуй поставить пакеты от старой версии Debian в систему через

dpkg -i старый_пакет.deb

Но можешь сломать зависимости.

В принципе, починить можно, но видимо, не с твоим уровнем навыков и знаний.

Если с LD_LIBRARY_PATH / LD_PRELOAD всё заработает - можешь изменить стартовый сценарий client.sh, добавив в него объявление или той или той переменой.

Возможно, путь нужно будет указывать полный до директории / библиотеки.

В LD_LIBRARY_PATH указываются пути до директорий с разделителем :, в LD_PRELOAD - пути до файлов библиотек с разделителем :.

И ещё в начале определи какой архитектуры нужна библиотека, x86 (32-битная) или x86_64 (64-битная) - в зависимости от этого скачивай пакет соответствующей архитектуры.

Определить можно через

file `исполняемый файл игры`

В твоей ситуации что-то вроде:

file ~/Загрузки/avorion/bin/Avorion
kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)