[PHP-users 7595] php-4.2.1にXLIiconv関数が組み込めない( makeエラー)(

Mitsuharu Toda php-users@php.gr.jp
Mon, 20 May 2002 14:44:38 +0900


こんにちは、戸田と申します。

今回の質問は、
HP-UX11.11 で、php-4.2.1 の --with-iconv=/usr/local オプションが
コンパイル出来ません。
 
構成、
 OS:          HP-UX11.11 
  httpd:       apache_1.3.24
 PostgreSQL:  postgresql-7.2.1
 PHP:      php-4.2.1 
  GCC:          gcc-3.0.4
 GD:           gd-1.8.4
  Zlib:         zlib-1.1.4
  Libpng:       libpng-1.2.1
  JPEG:         jpegsrc_v6b
  TIFF:         tiff-v3.5.7
  FreeType:     freetype-2.0.9
  Libiconv:     libiconv-1.7
  Libmcrypt:    libmcrypt-2.4.17
  PDFlib:       pdflib-4.0.2 
  PHPlib:       phplib-7.2d

前回、PHP-users 7463で、大野様に教えて戴いた、libpq.so が
見つからない件は、configure ファイルの libpq.so のところを、
libpq.$SHLIB_SUFFIX_NAME に変更して configure&make して、
データベースが正常に動作しております。

本来なら、configure ファイル内で、
            SHLIB_SUFFIX_NAME=so
    case $host_alias in
    *hpux*)
         SHLIB_SUFFIX_NAME=sl
         ;;
    *darwin*)
         SHLIB_SUFFIX_NAME=dylib
         ;;
    esac
 HP-UX の場合、拡張子を、so から sl に変更しているが、
  libpq.so の個所は変更してない為でした。

今回は、XLIiconv関数(iconv)の組み込みの為、configure を以下の
オプションで実行すると、
 #./configure --without-mysql --with-apache=../apache_1.3.24 \
        --enable-track-vars --with-pgsql=/usr/local/pgsql \
        --enable-i18n --enable-versioning --enable-mbregex \
        --enable-jstring --enable-mbstring --enable-mbstr-enc-trans \
        --with-gd=../../GD/gd-1.8.4 --enable-trans-sid --without-mysql \
        --with-iconv=/usr/local --with-pdflib=/usr/local \
        --disable-posix-threads --with-mcrypt --sbindir=/usr/local/bin \
        --with-zlib=/usr/local --with-jpeg-dir=/usr/local \
        --with-tiff-dir=/usr/local --enable-gd-native-ttf \
        --with-freetype-dir=/usr/local --with-png-dir=/usr/local \
        --enable-zend-multibyte  --disable-xml
configure は正常に終了しますが、
make 実行で、以下のエラーメッセージを表示して異常終了します。

aking all in iconv
make[2]: Entering directory `/home/mtoda/DB/php-4.2.1/ext/iconv'
make[3]: Entering directory `/home/mtoda/DB/php-4.2.1/ext/iconv'
gcc -I. -I/home/mtoda/DB/php-4.2.1/ext/iconv
-I/home/mtoda/DB/php-4.2.1/main -I/
home/mtoda/DB/php-4.2.1 -I/home/mtoda/DB/apache_1.3.24/src/include
-I/home/mtoda
/DB/apache_1.3.24/src/os/unix -I/home/mtoda/DB/php-4.2.1/Zend
-I/usr/local/inclu
de -I/usr/local/include/freetype2/freetype -I/home/mtoda/GD/gd-1.8.4
-I/usr/loca
l/pgsql/include -I/home/mtoda/DB/php-4.2.1/ext/xml/expat 
-I/home/mtoda/DB/php-4
.2.1/TSRM -g -O2  -c iconv.c && touch iconv.lo
iconv.c:142: conflicting types for `php_iconv_string'
iconv.c:90: previous declaration of `php_iconv_string'
iconv.c: In function `php_iconv_string':
iconv.c:178: warning: passing arg 3 of `libiconv' from incompatible
pointer type
iconv.c:178: warning: passing arg 5 of `libiconv' from incompatible
pointer type
iconv.c: In function `php_if_iconv':
iconv.c:294: warning: passing arg 4 of `php_iconv_string' from
incompatible poin
ter type
iconv.c: In function `zif_ob_iconv_handler':
iconv.c:323: warning: passing arg 4 of `php_iconv_string' from
incompatible poin
ter type
make[3]: *** [iconv.lo] Error 1
make[3]: Leaving directory `/home/mtoda/DB/php-4.2.1/ext/iconv'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/mtoda/DB/php-4.2.1/ext/iconv'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mtoda/DB/php-4.2.1/ext'
make: *** [all-recursive] Error 1

liviconvライブラリは、/usr/local/にインストールしてあります。


configure オプションで、--with-iconv=/usr/local を除けは問題なく、
configure&make 出来ます。
php-4.1.2+postgresql-7.2.1 では問題なくconfigure&make 出来ています。

以上。よろしくお願いいたします。


--