2005年 09月 02日 ( 3 )
[エラー]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環境を作る(前)

[全体の手順]
1.Apachインストール/設定
2.J2SDKのインストール/設定
3.TOMCATのインストール/設定
4.TOMCATとApacheを関連付けるmod_jk2のインストール/設定

***

1Apacheはすでにインストール済みのため省略
2.J2SDKのインストール

2-1.RPMパッケージの入手

Sunのダウンロードページから「jdk-1_5_0_04-linux-i586.rpm.bin」をDLし、/usr/java/内に置く。


2-2.パーミッションの変更

[root@~]chmod a+x jdk-1_5_0_04-linux-i586.rpm.bin




2-3.バイナリファイルを実行、ライセンスに同意

[root@~]./jdk-1_5_0_04-linux-i586.rpm.bin




2-4.RPMを実行。パッケージのインストール

[root@~]rpm -iv jdk-1_5_0_04-linux-i586.rpm


rpm -i インストール
rpm -v 情報表示


2-5.設定

・/etc/profile.d/に、java.shを作成。
・パーミッションの変更 chmod a+x java.sh。
・java.shを下記のとおり編集。

JAVA_HOME="/usr/java/jdk1.5.0_04"
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH



2-6.確認
下記が実行されればOK

java -version



明日はTomCatにチャレンジ
[PR]
by p0210029 | 2005-09-02 04:00 | 自宅サーバー導入メモ
[エラー]Apacheが起動しない
[環境]
FedoraCore2
Apache2.0
PHP4.3


[現象]
Apacheが、restart時にうまくいかなかった。
エラーメッセージ:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
Pre-configuration failed\n

[原因]
前回、Apacheを設定した際に、下記を設定した。


[root@・・]vi /etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd.worker



workerはマルチスレッド機能をもたせるものだが、PHP側が、preforkでないと対応していなかったため、エラーが出た模様。
この設定を


[root@・・]vi /etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd


と、設定しなおして、無事起動した。


[疑問]
前回、設定時にApacheを起動したが、その際は、なんらエラーが発生せずにうまくいった。
今更なぜ?と思う。。
[PR]
by p0210029 | 2005-09-02 01:08 | 自宅サーバー導入メモ[エラー]