Java 1.6.0 update 16を実行している64ビットRHEL5では、rootはJavaプログラムを正常に実行できますが、libjli.so
おそらく見つかりません。 SELinuxはオフになっており、プログラムを実行する前の環境は同じです。入れてみましたlibjli.so
の中に LD_LIBRARY_PATH
ですが、違いはありません。
このエラーを修正するにはどうすればよいですか?
最初に思い浮かぶ最初の可能性は、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つの出力は同じになります。それらがどのように異なるのかにより、これが失敗する理由がよくわかります。