libssl.so.10: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy


44

Tôi đang cố gắng sử dụng haiBitToFa, đây là một chương trình nhỏ do Đại học California Santa Cruz phát hành, giải nén các tệp genome lớn và tôi gặp lỗi này:

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

Tôi đã cố gắng tìm kiếm những gì gói cung cấp nó. Tôi đã chuyển từ Fedora có yum providesnhưng khi tìm kiếm Ubuntu tương đương, tôi đã gặp apt-file searchnhưng khi tôi thử rằng tôi đã nhận được lệnh không tìm thấy lỗi.

Làm cách nào tôi có thể nhận được tệp libssl này và nói chung, làm cách nào tôi có thể tìm kiếm gói nào cung cấp một tệp để tôi có thể tự làm điều này trong tương lai?


Bạn cần cài đặt apt-filevới sudo apt-get install apt-filevà sau đó bạn cần phải chạy sudo apt-get updatesudo apt-get install apt-filesudo apt-file update.
mchid

Câu trả lời:


51

Hãy đảm bảo rằng bạn đã cài đặt và cập nhật SSL:

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

Bây giờ hãy sửa lỗi đặt tên tệp bằng cách tạo liên kết:

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

Và cuối cùng, hãy thông báo cho nhà phát triển về lỗ hổng này để anh ta có thể sửa nó :)


3
Trong trường hợp của tôi (bedToBigBed từ UCSC) tôi cũng đã phải chạy một lệnh tương tự cho "libcrypto" ngoài câu trả lời trên: sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 / usr / lib /
libcrypto.so.10

2
Trong trường hợp của tôi, tôi cần reinstallcác gói. sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Edward Wilde

Cảm ơn @EdwardWilde, reinstallcó vẻ dễ nhất! sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Stéphane Bruckert

Sau các lệnh apt-get, tôi vẫn không thấy bất kỳ tệp libssl * nào trong / lib / x86_64-linux-gnu. (Ubuntu 18)
MiloDC

2
vào ngày 18.04, thư viện đã được cài đặt vào / usr / lib / x86_64-linux-gnu
Sa'ad

10

Có vẻ như mongo đang mong đợi các tập tin libssl trong /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 - .1.1
waza123

Có phải 2 cái này giống nhau không? Chúng dường như là các phiên bản khác nhau.
Yi Liu

8

Tôi là một trong những nhà phát triển của các công cụ này. Các tệp nhị phân của chúng tôi không hỗ trợ Ubuntu chính thức (chưa). Cách chính thức để khắc phục vấn đề này là biên dịch lại từ nguồn, việc này đã trở nên cực kỳ đơn giản (xem https://github.com/NullModel/kentUtils ). Chúng tôi hiện đang cố gắng xây dựng các nhị phân tĩnh mà không phụ thuộc libssl.


Có một liên kết mới? Liên kết ở trên nói rằng nó đã lỗi thời.
Ryuu

6

Trong trường hợp của tôi, tôi đã dại dột sử dụng một ứng dụng được biên dịch cho Red Hat Enterprise Linux trên máy Ubuntu của mình. Chỉ sử dụng phiên bản Ubuntu đã giải quyết vấn đề.

Điều này tương tự như việc thiếu hỗ trợ cho Ubuntu mà Max mô tả.


Tương tự ở đây. Không hoàn toàn chắc chắn đây là lý do chính nhưng nó có thể chỉ là. Fyi - phần mềm là RoyalRender.
bossi

vâng, trong trường hợp của tôi, tôi đã tải xuống mongo tar.gzvì không phải Ubuntu (một Linux khác). Khi tải xuống mongo, xem danh sách thả xuống trên trang mongo và chọn ubfox.
Maxim Yefremov

1
tương tự ở đây ... Mới đối với Ubuntu ... câu trả lời này đã cứu tôi sau khoảng 45 phút thử nghiệm và thử nghiệm
CodeBurner

Tương tự ở đây. 1Làm thế nào mà những người khác quản lý để làm cho nó hoạt động? Có lẽ họ đã bỏ lỡ tài liệu tham khảo "Ubuntu" trong OP? 2Tại sao một vấn đề distro? Không phải nó được biên dịch theo cùng một kiến ​​trúc sao?
Ryuu

0

Bằng cách nào đó, tôi đã bị hỏng các liên kết tượng trưng khi cài đặt phiên bản OpenSSL mới hơn. Để khắc phục tình trạng này, tôi đã sửa các liên kết tượng trưng của mình trong / usr / lib64. Ví dụsudo ln -sf libssl.so.0.9.8e libssl.so.10


0

Về apt-file, trước tiên bạn phải cài đặt nó

sudo apt install apt-file

và cập nhật bộ đệm của nó

sudo apt-file update

Sau đó, apt-file tìm kiếm một số tập tin nên hoạt động.

Về cài đặt gói, tôi nghĩ bạn không cần libssl-dev, bạn chỉ cần libssl1.0.0 - đây là thư viện thời gian chạy. Cái thứ hai là để phát triển

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.