Я пытаюсь использовать twoBitToFa, небольшую программу, выпущенную Калифорнийским университетом Санта-Крус, которая распаковывает большие файлы генома, и я получаю эту ошибку:
error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
Я попытался найти, какой пакет его предоставляет. Я переключился с Fedora, которая имела yum provides
но когда я искал эквивалент Ubuntu, я наткнулся на apt-file search
но когда я попробовал это сделать, я получил сообщение об ошибке "команда не найдена".
Как я могу получить этот файл libssl и, в более общем плане, как я могу найти, какой пакет предоставляет файл, чтобы я мог сделать это самостоятельно в будущем?
Давайте убедимся, что у вас установлен и обновлен SSL:
sudo apt-get updatesudo apt-get install libssl1.0.0 libssl-dev
Теперь давайте исправим именование файла, создав ссылку:
cd /lib/x86_64-linux-gnusudo ln -s libssl.so.1.0.0 libssl.so.10sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10
И, наконец, давайте проинформируем разработчика об этом недостатке, чтобы он мог его исправить :)
Похоже, что mongo ожидает файлы libssl в /usr/lib/
:
sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/libssl.so.10 sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10
Я являюсь одним из разработчиков этих инструментов. Наши двоичные файлы официально (пока) не поддерживают Ubuntu. Официальный способ исправить эту проблему - перекомпилировать из исходного кода, что стало чрезвычайно простым (см. https://github.com/NullModel/kentUtils). В настоящее время мы пытаемся создать статические двоичные файлы без зависимости libssl.
В моем случае я по глупости использовал приложение, скомпилированное для Red Hat Enterprise Linux на моем компьютере с Ubuntu. Простое использование версии Ubuntu решило проблему.
Это похоже на отсутствие поддержки Ubuntu, которое описывает Макс.
Просто установите libssl1.0.0 вручную:
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.debsudo apt install ./libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
Я каким-то образом испортил свои символические ссылки при установке более новой версии OpenSSL. Чтобы исправить эту ситуацию, я исправил свои символические ссылки в /usr/lib64. Например. sudo ln -sf libssl.so.0.9.8e libssl.so.10
Что касается apt-файла, сначала вы должны установить его
sudo apt install apt-file
и обновите его кэш
sudo apt-file update
Тогда apt-file search some-file должен работать.
Что касается установки пакетов, я думаю, вам не нужен libssl-dev, вам нужен только libssl1.0.0 - это библиотека времени выполнения. Второй - для развития
Вам нужно установить apt-file
с помощью sudo apt-get install apt-file
, а затем вам нужно запустить sudo apt-get update
и sudo apt-get install apt-file
и sudo apt-file update
.