[エラー]JAVA実行時のエラー


[現象]
javaを実行時にエラーが出る。
エラーメッセージ
java: error while loading shared libraries:
libstdc++-libc6.2-2.so.2: cannot open shared object file: No such file or directory

[原因]
JAVAが要求するライブラリのバージョンと、現在あるライブラリのバージョンとが違うことにより起こる。
[root@~]ls -la /usr/lib/ | grep libstdc
libstdc++-libc6.1-1.so.2 -> /usr/lib/libstdc++.so.5.0.5
libstdc++.so.5 -> libstdc++.so.5.0.5
libstdc++.so.5.0.5


ファイル内は、このように「libstdc++.so.5.0.5」なのだが、実際に要求されているのは、「libstdc++-libc6.2-2.so.2」



[対策]
3つくらいあるっぽい。
1.すでにあるライブラリのバージョンにシンボリックリンクを張る。
2.適切なバージョンのライブラリをインストールする。
3.JDKを一度アンインストールし、JDKのバージョンを変更してやり直す。

1.すでにあるライブラリのバージョンにシンボリックリンクを張る。
私は最初、1の方法で(一番楽そうだったから)乗り切ろうとしたのだが、失敗(*)したため3の方法をとった。が、たくさんの人が1の方法で成功しているようなので、いちをメモメモ。

「libstdc++.so.5.0.5」から「 libstdc++-libc6.1-1.so.2」へシンボリックリンクをはることによって、うまくいく場合がある。

ln -s /usr/lib/libstdc++.so.5.0.5 /usr/lib/ libstdc++-libc6.1-1.so.2



2.適切なバージョンのライブラリをインストールする。
おそらくここからRpmがダウンロードできる。ただ、試していない。


3.JJDKを一度アンインストールし、JDKのバージョンを変更してやり直す。
jdk1.3.1_16⇒jdk1.5.0_04に変更。今まで悩んでいたのが、馬鹿らしくなるくらい、すんなりと動作。





***
(*)たしかにエラーは吐き出されなくなったが、java -version が動作してくれなかった。(java -helpは動作したのでjavaのコマンド事態が反応しないわけではない)
[PR]
by p0210029 | 2005-09-02 04:19
<< JDK+TOMCATでJAVA... JDK+TOMCATでJAVA... >>