Erro ao carregar bibliotecas compartilhadas após instalar um programa

3

Eu estava instalando o rfc5766-turn-server . Mas falha ao iniciar com um erro:

error while loading shared libraries: libevent_core-2.0.so.5: cannot open shared object file: No such file or directory

Aqui está um copiar e colar de como eu fiz a instalação:

$ cd /var/tmp;
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz; tar xvfz libevent-2.0.21-stable.tar.gz; cd libevent-2.0.21-stable; ./configure; make; make install;
wget http://rfc5766-turn-server.googlecode.com/files/turnserver-1.8.6.3.tar.gz ; tar xvfz turnserver-1.8.6.3.tar.gz; cd turnserver-1.8.6.3; ./configure; make; make install;
/var/tmp/turnserver-1.8.6.3/bin/turnserver;

Eu tentei isso, mas não ajudou (mesmo erro):

$ ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5;
/var/tmp/turnserver-1.8.6.3/bin/turnserver ;

EDITAR: (sem alterações se eu executar como abaixo ele é executado, mas quando eu testo com cliente ele não mostra nenhum tipo de logs que a TURN está atingindo ou foi atingida pelo cliente)

$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/; 
PATH="bin:../bin:../../bin:${PATH}" turnserver -L 176.34.x.x -a -b /usr/local/etc/turnuserdb.conf -f -r 176.34.x.x
1371111272: RFC 5389/5766/5780/6062/6156 STUN/TURN Server, version Citrix-1.8.6.3 'Black Dow'
1371111272: Config file found: /usr/local/etc/turnserver.conf
1371111272: Listener address to use: 176.34.x.x
1371111272: Config file found: /usr/local/etc/turnserver.conf
1371111272: WARNING: cannot find certificate file: turn_server_cert.pem (1)
1371111272: WARNING: cannot start TLS and DTLS listeners because certificate file is not set properly
1371111272: WARNING: cannot find private key file: turn_server_pkey.pem (1)
1371111272: WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
1371111272: Relay address to use: 176.34.x.x
1371111272: IO method (listener thread): epoll
1371111272: WARNING: I cannot start alternative services of RFC 5780 because only one IP address is provided
1371111272: IO method: epoll
1371111272: IPv4. UDP listener opened on : 0.0.0.0:0
1371111272: IPv4. TCP listener opened on : 0.0.0.0:39227
1371111272: IO method (auth thread): epoll
1371111272: IO method (relay thread): epoll
    
por YumYumYum 12.06.2013 / 22:21

1 resposta

3

Primeiro, a pergunta óbvia: essa biblioteca está instalada?

Além disso, ele está instalado para a arquitetura correta ? (Por exemplo, um executável de 32 bits requer uma biblioteca de 32 bits, um executável de 64 bits requer uma biblioteca de 64 bits.)

Se você acabou de adicionar uma biblioteca a um diretório no caminho da biblioteca do sistema, será necessário executar ldconfig como root. Há um cache de bibliotecas instaladas e ldconfig reconstrói esse cache. Se uma biblioteca estiver presente em um diretório, mas não no cache, ela não será usada.

Vejo que você adicionou a biblioteca a /usr/local/lib . A maioria das distribuições o inclui no caminho da biblioteca padrão, mas a Red Hat não. Adicione-o a /etc/ld.so.conf e, em seguida, execute ldconfig .

Execute ldd /path/to/excecutable para ver onde um executável encontra suas bibliotecas. Quando uma biblioteca não for encontrada, strace /path/to/executable dirá onde o programa está procurando.

    
por 13.06.2013 / 01:57