libssl.so.10: tidak dapat membuka file objek bersama: Tidak ada file atau direktori tersebut

44

Saya mencoba menggunakan twoBitToFa, yang merupakan program kecil yang dirilis oleh University of California Santa Cruz, yang mengompres file genom besar dan saya mendapatkan kesalahan ini:

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

Saya mencoba mencari paket apa yang menyediakannya. Saya beralih dari Fedora yang memiliki yum providestetapi ketika mencari setara Ubuntu, saya menemukan apt-file searchtetapi ketika saya mencoba bahwa saya mendapat perintah tidak menemukan kesalahan.

Bagaimana saya bisa mendapatkan file libssl ini, dan secara lebih umum, bagaimana saya bisa mencari paket apa yang menyediakan file sehingga saya bisa melakukan ini sendiri di masa depan?

von Mises
sumber
Anda harus menginstal apt-filedengan sudo apt-get install apt-filedan kemudian Anda perlu menjalankan sudo apt-get updatedan sudo apt-get install apt-filedan sudo apt-file update.
mchid

Jawaban:

52

Pastikan Anda menginstal dan memperbarui SSL:

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

Sekarang mari kita perbaiki penamaan file dengan membuat tautan:

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

Dan akhirnya, mari beri tahu pengembang tentang cacat ini sehingga ia dapat memperbaikinya :)

Hugo Vieira
sumber
3
Dalam kasus saya (bedToBigBed dari UCSC) saya juga harus menjalankan perintah serupa untuk "libcrypto" sebagai tambahan dari jawaban di atas: sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 / usr / lib /
libcrypto.so.10
2
Dalam kasus saya, saya perlu reinstallpaket. sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Edward Wilde
Terima kasih @EdwardWilde, reinstallsepertinya yang paling mudah! sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Stéphane Bruckert
Setelah perintah apt-get, saya masih belum melihat file libssl * di / lib / x86_64-linux-gnu. (Ubuntu 18)
MiloDC
2
pada 18.04, perpustakaan diinstal pada / usr / lib / x86_64-linux-gnu
Sa'ad
10

Tampaknya mongo mengharapkan file libssl di /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
sumber
# 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
Apakah keduanya sama? Mereka tampaknya dari versi yang berbeda.
Yixing Liu
8

Saya adalah salah satu pengembang alat ini. Binari kami tidak mendukung Ubuntu secara resmi (belum). Cara resmi untuk memperbaiki masalah ini adalah mengkompilasi ulang dari sumber, yang baru saja menjadi sangat sederhana (lihat https://github.com/NullModel/kentUtils ). Kami sedang mencoba untuk membangun binari statis tanpa ketergantungan libssl.

Maks
sumber
Apakah ada tautan baru? Tautan di atas mengatakan sekarang sudah usang.
Ryuu
6

Dalam kasus saya, saya bodoh menggunakan aplikasi yang dikompilasi untuk Red Hat Enterprise Linux pada mesin Ubuntu saya. Hanya menggunakan versi Ubuntu memecahkan masalah.

Ini mirip dengan kurangnya dukungan untuk Ubuntu yang dijelaskan Max.

John McGehee
sumber
Sama disini. Tidak sepenuhnya yakin ini adalah alasan utama tetapi mungkin saja. Fyi - perangkat lunak adalah RoyalRender.
bossi
ya, dalam kasus saya, saya mengunduh mongo tar.gzkarena bukan ubuntu (Linux lain). Ketika mengunduh mongo, lihat daftar dropdown di situs mongo dan pilih ubuntu.
Maxim Yefremov
1
sama di sini ... Baru di Ubuntu ... jawaban ini menyelamatkan saya setelah sekitar 45 menit dari googling dan uji coba
CodeBurner
Sama disini. 1Bagaimana yang lain berhasil membuatnya bekerja? Mungkin mereka melewatkan referensi "Ubuntu" di OP? 2Mengapa distro itu penting? Bukankah itu dikompilasi dengan arsitektur yang sama?
Ryuu
0

Entah bagaimana saya mendapatkan symlink saya rusak ketika menginstal versi OpenSSL yang lebih baru. Untuk memperbaiki situasi ini, saya memperbaiki symlink saya di / usr / lib64. Misalnyasudo ln -sf libssl.so.0.9.8e libssl.so.10

Michael Fayad
sumber
0

Mengenai file-apt, pertama Anda harus menginstalnya

sudo apt install apt-file

dan perbarui cache-nya

sudo apt-file update

Maka pencarian file apt beberapa file harus bekerja.

Mengenai instalasi paket, saya pikir Anda tidak perlu libssl-dev, Anda hanya perlu libssl1.0.0 - ini adalah pustaka runtime. Yang kedua adalah untuk pembangunan

Michel Samia
sumber