libssl.so.10: não é possível abrir o arquivo de objeto compartilhado: Esse arquivo ou diretório não existe

44

Estou tentando usar o twoBitToFa, que é um pequeno programa lançado pela Universidade da Califórnia em Santa Cruz, que descompacta grandes arquivos do genoma e recebo este erro:

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

Eu tentei procurar o pacote que o fornece. Eu mudei do Fedora, que tinha, yum providesmas ao procurar o equivalente do Ubuntu, me deparei, apt-file searchmas quando tentei obter um comando não encontrei erro.

Como posso obter esse arquivo libssl e, de maneira mais geral, como posso pesquisar qual pacote fornece um arquivo para que eu possa fazer isso sozinho no futuro?

von Mises
fonte
Você precisa instalar apt-filecom sudo apt-get install apt-filee, em seguida, você precisa executar sudo apt-get updatee sudo apt-get install apt-filee sudo apt-file update.
mchid 6/02

Respostas:

52

Vamos garantir que você tenha seu SSL instalado e atualizado:

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

Agora vamos corrigir o nome do arquivo criando um 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

E, finalmente, vamos informar o desenvolvedor sobre essa falha para que ele possa corrigi-la :)

Hugo Vieira
fonte
3
No meu caso (bedToBigBed da UCSC), também tive que executar um comando semelhante para "libcrypto", além da resposta acima: sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 / usr / lib / libcrypto.so.10
user2821352 25/10
2
No meu caso, eu precisava reinstalldos pacotes. sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Edward Wilde
Obrigado @EdwardWilde, reinstallparece o mais fácil! sudo apt-get install libssl1.0.0 libssl-dev --reinstall
Stéphane Bruckert
Após os comandos apt-get, ainda não vejo nenhum arquivo libssl * em / lib / x86_64-linux-gnu. (Ubuntu 18)
MiloDC
2
em 18.04, a biblioteca foi instalada em / usr / lib / x86_64-linux-gnu
Sa'ad
10

Parece que o mongo está esperando arquivos libssl em /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
fonte
# 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 12/07
Estes 2 são iguais? Eles parecem ser de versões diferentes.
Yixing Liu
8

Eu sou um dos desenvolvedores dessas ferramentas. Nossos binários não suportam oficialmente o Ubuntu (ainda). A maneira oficial de corrigir esse problema é recompilar a partir da fonte, que ficou extremamente simples (consulte https://github.com/NullModel/kentUtils ). Atualmente, estamos tentando construir binários estáticos sem a dependência da libssl.

Máx.
fonte
Existe um novo link? O link acima diz que agora está obsoleto.
Ryuu 25/10
6

No meu caso, eu estava usando tolamente um aplicativo compilado para o Red Hat Enterprise Linux na minha máquina Ubuntu. O simples uso da versão Ubuntu resolveu o problema.

Isso é semelhante à falta de suporte ao Ubuntu que Max descreve.

John McGehee
fonte
O mesmo aqui. Não tenho certeza absoluta de que este é o principal motivo, mas pode ser apenas. Fyi - software era RoyalRender.
Bossi
sim, no meu caso eu baixei o mongo tar.gzpara não o ubuntu (outro Linux). Ao baixar o mongo, veja a lista suspensa no site mongo e escolha o ubuntu.
Maxim Yefremov
1
mesmo aqui ... Novo para o Ubuntu ... esta resposta me salvou após cerca de 45min de googling e ensaios
CodeBurner
O mesmo aqui. 1Como os outros conseguiram fazê-lo funcionar? Talvez eles tenham perdido a referência "Ubuntu" no OP? 2Por que uma distro importa? Não é compilado contra a mesma arquitetura?
Ryuu 8/01
0

De alguma forma, meus links simbólicos foram corrompidos ao instalar uma versão mais recente do OpenSSL. Para corrigir essa situação, corrigi meus links simbólicos em / usr / lib64. Por exemplosudo ln -sf libssl.so.0.9.8e libssl.so.10

Michael Fayad
fonte
0

Em relação ao arquivo apt, primeiro você precisa instalá-lo

sudo apt install apt-file

e atualize seu cache

sudo apt-file update

Em seguida, a pesquisa de arquivos apt-algum arquivo deve funcionar.

Em relação às instalações do pacote, acho que você não deve precisar do libssl-dev, apenas do libssl1.0.0 - esta é a biblioteca de tempo de execução. O segundo é para o desenvolvimento

Michel Samia
fonte