apache2.4起動時にlibphp5.soを読み込めないエラー

Linux

古いサーバー(Fedora Core11)をメンテナンス中にエラーに遭遇した記録です。
同様の事象に詰まった方がサクっと解決できたら良いな~。

エラーの経緯と現象


apache2.4
php5.6
をソースからインストール

libxml2-v2.9.13
zlib-1.2.12

などの依存関係にあるライブラリもインストール。


その後apacheを起動しようとしたら下記エラーメッセージが表示された。

Cannot load modules/libphp5.so into server:
/usr/lib/libxml2.so.2: symbol gzopen64, version ZLIB_1.2.3.3 not defined in file libz.so.1 with link time reference

原因の究明

libxml2.9.13確かに手動インストールしたが何か間違っていただろうか?といろいろ追いかけた結果、zlib-1.2.12をインストールした時に古いバージョンのものが残っており、libxml2.so.2が古い方のzlibライブラリを参照していたのが原因。

[root@mackii usr]# find / -name libz.so.1*
/lib/libz.so.1
/lib/libz.so.1.2.3
/usr/lib/libz.so.1
/usr/lib/libz.so.1.2.12
/usr/src/zlib-1.2.12/libz.so.1
/usr/src/zlib-1.2.12/libz.so.1.2.12

/usr/libにあるもんだと思い込んでいたら、/libにあった。。。

/lib/libz.so.1
/lib/libz.so.1.2.3
を削除して対応、起動が確認できた。

結論

旧バージョンはRPM、新バージョンをソースからインストールしたので遭遇したのだと思われる。古いサーバーでyumも何も使えないので苦肉の策で全部手動でやっているのだ。アップデート方法の事前調査が不十分でした。。。(検証機で同じことやってるのだが・・・なぜ。。。)

タイトルとURLをコピーしました