Попытка запустить программу под названием worldforge, но появляется ошибка

Я недавно скачал программу под названием Worldforge, это производитель игр с открытым исходным кодом. Я загрузил его исполняемый файл и дал ему разрешения на запуск, но когда я пошел, чтобы запустить его, он вернулся с этой ошибкой:

/tmp/.mount_dskVs4/usr/bin/ember.bin: error while loading shared libraries: librtmp.so.0: cannot open shared object file: No such file or directory

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

1 ответ

Решение

Это не тривиально, чтобы получить librtmp0 пакет в Xenial, поэтому моя первая идея заключается в использовании librtmp.so.1 от librtmp1 пакет, поскольку есть большая вероятность, что библиотека обратно совместима.

Для этого нам нужно создать символическую ссылку на него в месте, где исполняемый файл программы может его найти. Поскольку это своего рода хак, было бы предпочтительнее, если другие приложения не находят ту же ссылку автоматически. Полезно, это приложение добавляет ~/.ember/lib в его путь поиска библиотеки по умолчанию.

Я предлагаю вам

  1. заверить, что librtmp1 пакет установлен,

    sudo apt install librtmp1
    
  2. создать каталог ~/.ember/lib,

    mkdir -p ~/.ember/lib
    
  3. поставить символическую ссылку там.

    ln -sT /usr/lib/$(uname -m)-linux-gnu/librtmp.so.1 ~/.ember/lib/librtmp.so.0
    

Если в приложении теперь происходит сбой с сообщением об ошибке "отсутствует символ" (или что-то в этом роде), пожалуйста, обновите свой вопрос сообщением об ошибке и сообщите мне комментарий, чтобы я мог его устранить.


Если есть еще общие библиотеки, вы можете искать их пакеты и

  • установите их, если они доступны в Xenial или

  • поиск более новой версии той же общей библиотеки (без номера версии в конце имени пакета) повторите описанный выше процесс для нее.

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