프로그램 설치 후 공유 라이브러리 로딩 오류

프로그램 설치 후 공유 라이브러리 로딩 오류

설치 중이에요rfc5766-전송 서버. 그러나 오류로 인해 시작되지 않습니다.

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

제가 설치한 방법을 복사하여 붙여넣으면 다음과 같습니다.

$ 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;

이것을 시도했지만 도움이 되지 않았습니다(같은 오류).

$ 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 ;

편집하다:(다음과 같이 실행하면 아무런 변화 없이 실행되는데, 클라이언트로 테스트해 보면 TURN이 히트되거나 클라이언트가 도착하는 로그가 전혀 표시되지 않습니다.)

$ 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

답변1

첫째, 분명한 질문: 라이브러리가 설치되어 있습니까?

아직 설치되지 않았나요?올바른 아키텍처를 위해? (예를 들어 32비트 실행 파일에는 32비트 라이브러리가 필요하고, 64비트 실행 파일에는 64비트 라이브러리가 필요합니다.)

방금 시스템 라이브러리 경로의 디렉터리에 라이브러리를 추가한 경우 다음을 실행해야 합니다.ldconfig루트로. 설치된 라이브러리의 캐시가 있고 ldconfig캐시가 재구축됩니다. 라이브러리가 디렉토리에 있지만 캐시에 없으면 사용되지 않습니다.

에 라이브러리를 추가하셨군요 /usr/local/lib. 대부분의 배포판에는 기본 라이브러리 경로에 포함되어 있지만 Red Hat은 그렇지 않습니다. 에 추가한 /etc/ld.so.conf후 실행하세요 ldconfig.

ldd /path/to/excecutable실행 파일이 라이브러리를 찾는 위치를 확인하려면 실행하세요 . 라이브러리를 찾을 수 없으면 strace /path/to/executable프로그램이 해당 라이브러리를 찾는 위치를 알려줍니다.

관련 정보