PHP ビルド時のエラー
http://extstrg.asabiya.net/pukiwiki/index.php?PHP%20%A5%D3%A5%EB%A5%C9%BB%FE%A4%CE%A5%A8%A5%E9%A1%BCIndex †
undefined reference to `libiconv' †
環境 †
バージョン:5.x
発生状況:make実行時
原因 †
標準外のiconvをインストールした場合に発生する問題。
PHPはビルド時にglibcを使うかlibiconvを使うかの判定処理が2系統あり、一方が/usr/local/includeのiconv.hをサーチしてiconv使用有無の判定する処理になっている。
標準外のiconvをインストールしている場合はconfigureオプションでwith-iconv-dir=DIRを指定しても/usr/local/include/iconv.hがサーチされ、コンパイルエラーとなる
対策1. †
/usr/local/include/iconv.hをリネームするなどの対策を行い参照されないようにする。
対策2. †
configureの以下の行を変更する
【対象】 GDLIB_CFLAGS = 【追加】 -DHAVE_LIBICONV
【対象】 EXTRA_LIBS = 【追加】 -liconv
ライブラリのリンクを確認し、コンパイルを行う。
ln -s /usr/local/lib/libiconv.so.2.4.0 /usr/lib/libiconv.so.2 make make test
libphp5.so: cannot restore segment prot after reloc: †
環境 †
バージョン:5.x
発生状況:Apacheの設定チェック・起動時
原因 †
SE Linuxを有効化した状態でコンパイルした場合に発生する。
# /etc/init.d/apachectl configtest httpd: Syntax error on line 85 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
対策 †
以下のコマンドで対処可能
chcon -c -v -R -u system_u -r object_r -t lib_t /usr/local/apache/modules/libphp5.so
Last-modified: 2010-09-30 (木) 17:32:50 (5101d)