ablog

不器用で落着きのない技術者のメモ

make: *** [sapi/cli/php] エラー 1

現象

PHP コンパイル時に以下のエラーが発生した。

# ./configure \
'--with-apxs2=/usr/local/apache228-php4/bin/apxs' \
'--enable-mbstring' \
'--enable-mbstr-enc-trans' \
'--enable-mbregex' \
'--enable-cli' \
'--enable-pcntl' \
'--enable-track-vars' \
'--with-oci8-instant-client=/opt/app/oracle/product/10.2.0/instantclient_1' \
'--with-expat=builtin'
# make

...

collect2: ld returned 1 exit status
make: *** [sapi/cli/php] エラー 1

対処

  • /usr/local/lib/libiconv がないので、libiconv をインストールする。
# mkdir -p /usr/local/src/libiconv
# cd /usr/local/src/libiconv
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.10.tar.gz
# wget http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.10-ja-1.patch.gz
# tar xzf libiconv-1.10.tar.gz
# cd libiconv-1.10
# gzip -dc ../libiconv-1.10-ja-1.patch.gz | patch -p1
# ./configure
# make
# make install
  • libiconv にリンクパスを通す。
# echo 'include /usr/local/lib/liconv.so' >> /etc/ld.so.conf
# /sbin/ldconfig
  • 「--with-iconv=/usr/local」をコンパイルオプションに追加する。
# cd /usr/local/src/php-4.4.8
# make distclean
# ./buildconf --force <-- この手順がないと、「make: *** [sapi/cli/php] エラー 1」が解消しない
# ./configure \
'--with-apxs2=/usr/local/apache228-php4/bin/apxs' \
'--enable-mbstring' \
'--enable-mbstr-enc-trans' \
'--enable-mbregex' \
'--enable-cli' \
'--enable-pcntl' \
'--enable-track-vars' \
'--with-oci8-instant-client=/opt/app/oracle/product/10.2.0/instantclient_1' \
'--with-expat=builtin' \
'--with-iconv=/usr/local'
# make
# make test
# make install