web-dev-qa-db-ja.com

開いている共有オブジェクトファイルlibjli.soが見つかりません-そのようなファイルまたはディレクトリはありません

Java 1.6.0 update 16を実行している64ビットRHEL5では、rootはJavaプログラムを正常に実行できますが、libjli.soおそらく見つかりません。 SELinuxはオフになっており、プログラムを実行する前の環境は同じです。入れてみましたlibjli.so の中に LD_LIBRARY_PATHですが、違いはありません。

このエラーを修正するにはどうすればよいですか?

8
joeforker

最初に思い浮かぶ最初の可能性は、libjli.soがrootだけが読み取ることができることです。したがって、ステップ1:

ls -l $(locate libjli.so)

奇妙な場所(/usr/libまたは/libではない)にある場合は、/etc/ld.so.conf.d/Java.confを含むディレクトリへのパスを含むファイルlibjli.soを作成し、ルートとして/sbin/ldconfigを実行します。 。

トラブルシューティングの詳細については、次のコマンドを1回はrootとして、もう1回は非rootユーザーとして実行してください。

ldd Java

健全な世界では、2つの出力は同じになります。それらがどのように異なるのかにより、これが失敗する理由がよくわかります。

9
Insyte