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