libssl.so.10: nie można otworzyć udostępnionego pliku obiektu: brak takiego pliku lub katalogu


44

Próbuję użyć twoBitToFa, małego programu wydanego przez University of California Santa Cruz, który rozpakowuje duże pliki genomu i pojawia się ten błąd:

error while loading shared libraries: libssl.so.10: cannot open shared object file: No     such file or directory

Próbowałem wyszukać pakiet, który go udostępnia. Przełączyłem się z Fedory, która miała, yum providesale kiedy szukałem odpowiednika Ubuntu, natknąłem się, apt-file searchale kiedy próbowałem, że dostałem błąd nie znaleziono polecenia.

Jak mogę uzyskać ten plik libssl, a bardziej ogólnie, jak mogę wyszukać pakiet, który zawiera plik, aby móc to zrobić samodzielnie w przyszłości?


Trzeba zainstalować apt-filez sudo apt-get install apt-fileczym trzeba uruchomić sudo apt-get updatei sudo apt-get install apt-filei sudo apt-file update.
mchid

Odpowiedzi:


51

Upewnij się, że masz zainstalowany i zaktualizowany protokół SSL:

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

Teraz poprawmy nazwę pliku, tworząc link:

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

Na koniec poinformujmy programistę o tej usterce, aby mógł ją naprawić :)


3
W moim przypadku (bedToBigBed z UCSC) oprócz powyższej odpowiedzi musiałem również uruchomić podobną komendę dla „libcrypto”: sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 / usr / lib /
libcrypto.so.10

2
W moim przypadku potrzebowałem reinstallpakietów. sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Edward Wilde,

Dzięki @EdwardWilde, reinstallwydaje się najłatwiejsza! sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Stéphane Bruckert

Po poleceniach apt-get nadal nie widzę żadnych plików libssl * w katalogu / lib / x86_64-linux-gnu. (Ubuntu 18)
MiloDC

2
18.04 biblioteka została zainstalowana na / usr / lib / x86_64-linux-gnu
Sa'ad

10

Wygląda na to, że Mongo oczekuje plików libssl w /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

# 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

Czy te 2 są takie same? Wydają się być w różnych wersjach.
Yixing Liu

8

Jestem jednym z twórców tych narzędzi. Nasze pliki binarne nie obsługują oficjalnie (jeszcze) Ubuntu. Oficjalnym sposobem rozwiązania tego problemu jest ponowna kompilacja ze źródła, które stało się niezwykle proste (patrz https://github.com/NullModel/kentUtils ). Obecnie próbujemy budować statyczne pliki binarne bez zależności libssl.


Czy jest nowy link? Powyższy link mówi, że jest już przestarzały.
Ryuu,

6

W moim przypadku głupio korzystałem z aplikacji skompilowanej dla Red Hat Enterprise Linux na moim komputerze Ubuntu. Samo użycie wersji Ubuntu rozwiązało problem.

Jest to podobne do braku wsparcia dla Ubuntu, który opisuje Max.


To samo tutaj. Nie jestem absolutnie pewien, że jest to główny powód, ale może tak być. Fyi - oprogramowanie to RoyalRender.
bossi

tak, w moim przypadku ściągnąłem mongo tar.gzza nie Ubuntu (inny Linux). Podczas pobierania mongo zobacz listę rozwijaną na stronie mongo i wybierz ubuntu.
Maxim Yefremov

1
to samo tutaj ... Nowość w Ubuntu ... ta odpowiedź uratowała mnie po około 45
minutach

To samo tutaj. 1Jak inni zdołali sprawić, żeby działał? Może przegapili odniesienie „Ubuntu” w OP? 2Dlaczego dystrybucja miałaby mieć znaczenie? Czy nie jest skompilowany z tą samą architekturą?
Ryuu

0

Jakoś uszkodziłem moje dowiązania symboliczne podczas instalowania nowszej wersji OpenSSL. Aby naprawić tę sytuację, naprawiłem moje dowiązania symboliczne w / usr / lib64. Na przykładsudo ln -sf libssl.so.0.9.8e libssl.so.10


0

Jeśli chodzi o apt-file, najpierw musisz go zainstalować

sudo apt install apt-file

i zaktualizuj pamięć podręczną

sudo apt-file update

Następnie apt-file search jakiś plik powinien działać.

Jeśli chodzi o instalacje pakietów, myślę, że nie powinieneś potrzebować libssl-dev, potrzebujesz tylko libssl1.0.0 - jest to biblioteka środowiska wykonawczego. Drugi dotyczy rozwoju

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.