プログラムのインストール後の共有ライブラリの読み込みエラー

プログラムのインストール後の共有ライブラリの読み込みエラー

インストール中です。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プログラムはそのライブラリーがどこにあるかを知らせます。

おすすめ記事