libssl.so.10: невозможно открыть общий объектный файл: нет такого файла или каталога

44

Я пытаюсь использовать 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но когда я попытался, я получил команду «not found».

Как я могу получить этот файл libssl, и в целом, как я могу найти, какой пакет предоставляет файл, чтобы я мог сделать это сам в будущем?

фон Мизес
источник
Вам нужно установить apt-fileс, sudo apt-get install apt-fileа затем вам нужно запустить sudo apt-get updateи sudo apt-get install apt-fileи sudo apt-file update.
mchid

Ответы:

52

Убедитесь, что ваш SSL установлен и обновлен:

sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev

Теперь давайте исправим наименование файла, создав ссылку:

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

И, наконец, давайте сообщим разработчику об этой уязвимости, чтобы он мог ее исправить :)

Хьюго Виейра
источник
3
В моем случае (bedToBigBed из UCSC) мне также пришлось выполнить аналогичную команду для "libcrypto" в дополнение к ответу выше: sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 / usr / lib / libcrypto.so.10
user2821352
2
В моем случае мне понадобились reinstallпакеты. sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Эдвард Уайльд
Спасибо @EdwardWilde, reinstallкажется самым простым! sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Стефан Брукерт
После команд apt-get я до сих пор не вижу никаких файлов libssl * в / lib / x86_64-linux-gnu. (Ubuntu 18)
MiloDC
2
18 апреля библиотека была установлена ​​в / usr / lib / x86_64-linux-gnu
Sa'ad
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
Dziamid
источник
# ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1 # ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so .1.1
waza123
Эти 2 одинаковы? Кажется, они бывают разных версий.
Исин Лю
8

Я один из разработчиков этих инструментов. Наши бинарные файлы официально не поддерживают Ubuntu (пока). Официальный способ решить эту проблему - перекомпилировать из исходного кода, который только что стал чрезвычайно простым (см. Https://github.com/NullModel/kentUtils ). В настоящее время мы пытаемся создать статические двоичные файлы без зависимости libssl.

Максимум
источник
Есть ли новая ссылка? Ссылка выше говорит, что теперь устарела.
Ryuu
6

В моем случае я безрассудно использовал приложение, скомпилированное для Red Hat Enterprise Linux, на моей машине с Ubuntu. Простое использование версии Ubuntu решило проблему.

Это похоже на отсутствие поддержки Ubuntu, которую описывает Макс.

Джон МакГи
источник
Тоже самое. Не совсем уверен, что это основная причина, но это может быть просто так. Fyi - софт был RoyalRender.
босси
да, в моем случае я скачал Монго tar.gzдля не Ubuntu (другой Linux). При загрузке Монго смотрите выпадающий список на сайте Монго и выберите Ubuntu.
Максим Ефремов
1
то же самое здесь ... Новое в Ubuntu ... этот ответ спас меня после примерно 45 минут поиска в Google и испытаний
techknowcrat
Тоже самое. 1Как другим удалось заставить это работать? Возможно, они пропустили ссылку на «Ubuntu» в ОП? 2Почему дистрибутив имеет значение? Разве это не скомпилировано с той же архитектурой?
Ryuu
0

Я каким-то образом повредил свои символические ссылки при установке более новой версии OpenSSL. Чтобы исправить эту ситуацию, я исправил свои символические ссылки в / usr / lib64. Напримерsudo ln -sf libssl.so.0.9.8e libssl.so.10

Майкл Файяд
источник
0

Что касается APT-файла, сначала вы должны установить его

sudo apt install apt-file

и обнови свой кеш

sudo apt-file update

Тогда поиск по apt-файлу должен работать.

Что касается установки пакетов, я думаю, что вам не нужен libssl-dev, вам нужен только libssl1.0.0 - это библиотека времени выполнения. Второй для развития

Мишель Самия
источник