libssl.so.10: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

44

Estoy tratando de usar twoBitToFa, que es un pequeño programa lanzado por la Universidad de California Santa Cruz, que descomprime archivos genómicos grandes y aparece este error:

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

Intenté buscar qué paquete lo proporciona. Cambié de Fedora, que tenía yum providespero cuando busqué el equivalente de Ubuntu, me encontré, apt-file searchpero cuando intenté eso recibí un error de comando no encontrado.

¿Cómo puedo obtener este archivo libssl y, en general, cómo puedo buscar qué paquete proporciona un archivo para poder hacerlo yo mismo en el futuro?

von Mises
fuente
Necesita instalar apt-filecon sudo apt-get install apt-filey luego tiene que ejecutar sudo apt-get updatey sudo apt-get install apt-filee sudo apt-file update.
mchid

Respuestas:

52

Vamos a asegurarnos de que tienes tu SSL instalado y actualizado:

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

Ahora arreglemos el nombre del archivo creando un enlace:

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

Y finalmente, informemos al desarrollador sobre este defecto para que pueda solucionarlo :)

Hugo Vieira
fuente
3
En mi caso (bedToBigBed de UCSC) también tuve que ejecutar un comando similar para "libcrypto" además de la respuesta anterior: sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 / usr / lib / libcrypto.so.10
user2821352
2
En mi caso, necesitaba reinstalllos paquetes. sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Edward Wilde
Gracias @EdwardWilde, reinstallparece la más fácil! sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Stéphane Bruckert
Después de los comandos apt-get, todavía no veo ningún archivo libssl * en / lib / x86_64-linux-gnu. (Ubuntu 18)
MiloDC
2
el 18.04, la biblioteca se instaló en / usr / lib / x86_64-linux-gnu
Sa'ad
10

Parece que Mongo espera archivos libssl en /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
fuente
# 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
¿Son estos 2 iguales? Parecen ser de diferentes versiones.
Yixing Liu
8

Soy uno de los desarrolladores de estas herramientas. Nuestros binarios no son compatibles con Ubuntu oficialmente (todavía). La forma oficial de solucionar este problema es volver a compilar desde la fuente, que se ha vuelto extremadamente simple (consulte https://github.com/NullModel/kentUtils ). Actualmente estamos tratando de construir binarios estáticos sin la dependencia de libssl.

Max
fuente
¿Hay un nuevo enlace? El enlace de arriba dice que ahora está obsoleto.
Ryuu
6

En mi caso, estaba usando tontamente una aplicación compilada para Red Hat Enterprise Linux en mi máquina Ubuntu. Simplemente usar la versión de Ubuntu resolvió el problema.

Esto es similar a la falta de soporte para Ubuntu que describe Max.

John McGehee
fuente
Igual que aquí. No estoy absolutamente seguro de que esta sea la razón principal, pero podría serlo. Fyi: el software era RoyalRender.
bossi
Sí, en mi caso descargué mongo tar.gzpara no ubuntu (otro Linux). Cuando descargue mongo, vea la lista desplegable en el sitio de mongo y elija ubuntu.
Maxim Yefremov
1
lo mismo aquí ... Nuevo en Ubuntu ... esta respuesta me salvó después de unos 45 minutos de googlear y
probar
Igual que aquí. 1¿Cómo lograron los demás hacer que funcionara? ¿Quizás se perdieron la referencia de "Ubuntu" en el OP? 2¿Por qué sería importante una distribución? ¿No se compila contra la misma arquitectura?
Ryuu
0

De alguna manera, mis enlaces simbólicos se corrompieron al instalar una versión más nueva de OpenSSL. Para solucionar esta situación, arreglé mis enlaces simbólicos en / usr / lib64. P.ejsudo ln -sf libssl.so.0.9.8e libssl.so.10

Michael Fayad
fuente
0

En cuanto a apt-file, primero debes instalarlo

sudo apt install apt-file

y actualizar su caché

sudo apt-file update

Entonces apt-file search some-file debería funcionar.

Con respecto a las instalaciones del paquete, creo que no debería necesitar libssl-dev, solo necesita libssl1.0.0, esta es la biblioteca de tiempo de ejecución. El segundo es para el desarrollo.

Michel Samia
fuente