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

1

Ao tentar executar o Cloud9 IDE localmente após a instalação, recebo este erro:

# bin/cloud9.sh
Linux 64 bit
support/node-builds-v4/node-linux64: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory

Parece estranho, porque a biblioteca está em /lib , /usr/lib e outros locais através de links simbólicos.

Para verificar, aqui está o arquivo principal:

# ls -l /usr/lib | grep libssl
-r-xr-xr-x. 1 root root   319816 Oct  6  2014 libssl.so.0.9.8

Por que ele não encontra o arquivo, ele precisa ser incluído em qualquer outra variável $PATH ou qual pode ser a causa?

Atualizações:

Parece ser um problema mais amplo com o ssl:

# git submodule update --init --recursive
Cloning into 'support/sass'...
fatal: remote error:
  Repository not found.
Clone of 'git://github.com/visionmedia/sass.js.git' into submodule path 'support/sass' failed
Failed to recurse into submodule path 'support/connect'

O módulo com falha precisa de ssl para baixar, enquanto os outros que baixaram não:

# cat .gitmodules
[submodule "support/socket.io-client"]
    path = support/socket.io-client
    url = http://github.com/ajaxorg/socket.io-client.git
[submodule "support/uglify-js"]
    path = support/uglify-js
    url = http://github.com/ajaxorg/UglifyJS.git
[submodule "support/connect"]
    path = support/connect
    url = https://github.com/ajaxorg/connect.git

Verifique a versão openssl:

# yum list installed openssl
Loaded plugins: refresh-packagekit, security, ulninfo
Installed Packages
openssl.x86_64                      1.0.1e-42.el6                      

64 bits instalados openssl bibliotecas:

# ls -l /usr/lib64 | grep libssl
-rwxr-xr-x.  1 root root   261248 Nov  4 10:37 libssl3.so
lrwxrwxrwx.  1 root root       16 Dec  1 10:30 libssl.so -> libssl.so.1.0.1e
-rwxr-xr-x.  1 root root   324680 Jun  5  2014 libssl.so.0.9.8e
lrwxrwxrwx.  1 root root       16 Dec  1 10:29 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x.  1 root root   444184 Jul 23 09:43 libssl.so.1.0.1e
lrwxrwxrwx.  1 root root       16 Dec  3 11:29 libssl.so.6 -> libssl.so.0.9.8e
    
por Peter Gerhat 03.12.2015 / 12:16

1 resposta

2

Como você pode ver procurando por um RPM com libssl.so.0.9 .8 , este é um arquivo antigo e provavelmente não faz parte do RPM que você listou para o openssl. Você pode ver quais arquivos fazem parte do RPM usando

rpm -ql openssl.x86_64

e, além disso, você pode ver qual RPM esse arquivo pode pertencer a

rpm -qf /usr/lib/libssl.so.0.9.8

e também o que arquitetura o arquivo usa por

file /usr/lib/libssl.so.0.9.8

A explicação mais provável é (uma ou mais de):

  • o arquivo foi copiado de outra máquina
  • é uma biblioteca de 32 bits
  • o caminho ldconfig para bibliotecas de 64 bits usa /usr/lib64 (não /usr/lib ).

Um aplicativo de 64 bits não pode carregar uma biblioteca compartilhada de 32 bits e só encontrará suas bibliotecas onde ldconfig diz que pode.

    
por 03.12.2015 / 12:39