• 追加された行はこの色です。
  • 削除された行はこの色です。
**PHPビルド時のエラー [#ge88e2fa]
**Index[#ge88e2fa]
#Contents

**undefined reference to `libiconv' [#oab3c8e1]
***環境 [#u3961324]
-バージョン:5.x~
-発生状況:make実行時~
***原因 [#u64c8b2a]
***環境 [#n828039b]
バージョン:5.x~
発生状況:make実行時~

***原因[#k00db179]
標準外のiconvをインストールした場合に発生する問題。~
PHPはビルド時にglibcを使うかlibiconvを使うかの判定処理が2系統あり、一方が/usr/local/includeのiconv.hをサーチしてiconv使用有無の判定する処理になっている。~
標準外のiconvをインストールしている場合はconfigureオプションでwith-iconv-dir=DIRを指定しても/usr/local/include/iconv.hがサーチされ、コンパイルエラーとなる
***対策 [#wc8f29d7]

***対策1. [#j68c3bb7]
/usr/local/include/iconv.hをリネームするなどの対策を行い参照されないようにする。

***対策2. [#nc37219c]

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: [#b313a8c9]
***環境 [#x364ea1d]
バージョン:5.x~
発生状況:Apacheの設定チェック・起動時~

***原因 [#pa616014]
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

***対策 [#ae0101d6]
以下のコマンドで対処可能

 chcon -c -v -R -u system_u -r object_r -t lib_t /usr/local/apache/modules/libphp5.so


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS