山本といいます。

php の Zend Lucene のインデックスを作る際に、iconv で盛大にエラーが出る
ので php の iconv.so だけ GNU libiconv を使うように再コンパイルして解決
してみました。もっともそもそも php の Zend Lucene は今のところ日本語があ
まり使えないようですけど。

参考:
http://stackoverflow.com/questions/4743080/how-can-i-force-php-to-use-the-libiconv-version-of-iconv-instead-of-the-centos-in
iconv_impl_name="" を加えて、
checking if using GNU libiconv... yes を確認しろとあります。が、
両方とも不要です。下記では checking if using GNU libiconv... no になりま
す。でも、ldd で確認するとうまくいっています。

0. 症状 (xdebug を入れています)

元から入っている iconv は ASCII//TRANSLIT がない
http://opensolaris.org/jive/thread.jspa?threadID=138898

[yamachan@osol test]$ cat iconv.php
<?php
echo iconv('utf-8', 'ASCII//TRANSLIT', 'Lorem ipsum dolor sit amet, 
consectetur adipisicing elit.');
?>
[yamachan@osol test]$ php iconv.php
PHP Notice:  iconv(): Unknown error (22) in test/iconv.php on line 2
PHP Stack trace:
PHP   1. {main}() test/iconv.php:0
PHP   2. iconv('utf-8', 'ASCII//TRANSLIT', 'Lorem ipsum dolor sit amet, 
consectetur adipisicing elit.')
 test/iconv.php:2

1. インストール状況

[yamachan@osol libiconv-1.14]$ pkg list | grep php
web/php-52                     5.2.12-0.151.0.1 インストール済み -----
web/php-52/extension/php-apc   3.0.19-0.151.0.1 インストール済み -----
web/php-52/extension/php-mysql 5.2.12-0.151.0.1 インストール済み -----
web/php-52/extension/php-pear  5.2.12-0.151.0.1 インストール済み -----
web/server/apache-22/module/apache-php5 5.2.12-0.151.0.1 インストール済
み -----
[yamachan@osol libiconv-1.14]$ pkg list | grep iconv
system/library/iconv/utf-8     0.5.11-0.151.0.1 インストール済み -----

2. GNU libiconv のコンパイル http://www.gnu.org/s/libiconv/

[yamachan@osol src]$ cd libiconv-1.14
[yamachan@osol libiconv-1.14]$ cat myconfig.sh
#!/bin/sh
CFLAGS="-xO3 -xtarget=generic -xspace -Xa -xildoff -xCC" 
./configure CC=/opt/SUNWspro/bin/cc \
 "CFLAGS=$CFLAGS" \
 "LDFLAGS=-M /usr/lib/ld/map.noexstk" \
 --prefix=/usr/local/32
[yamachan@osol libiconv-1.14]$ ./myconfig.sh
[yamachan@osol libiconv-1.14]$ make
[yamachan@osol libiconv-1.14]$ pfexec make install

3. php モジュールだけのコンパイル

[yamachan@osol iconv]$ pwd
/usr/local/src/php-5.2.12/ext/iconv
[yamachan@osol iconv]$ pfexec phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
[yamachan@osol iconv]$ cat myconfig.sh
#!/bin/sh
export CC=/opt/SUNWspro/bin/cc
export CXX=/opt/SUNWspro/bin/CC
export F77=/opt/SUNWspro/bin/f77
CFLAGS="-xO3 -xtarget=generic -xspace -Xa -xildoff -xCC" 
./configure \
 "CFLAGS=$CFLAGS" \
 "LDFLAGS=-M /usr/lib/ld/map.noexstk" \
 --with-iconv=/usr/local/32
[yamachan@osol iconv]$ ./myconfig.sh
[yamachan@osol iconv]$ make
[yamachan@osol iconv]$ ldd modules/iconv.so
        libiconv.so.2 =>         /usr/local/32/lib/libiconv.so.2
        libc.so.1 =>     /lib/libc.so.1
        libm.so.2 =>     /lib/libm.so.2

4. php モジュールのインストール

# cd /usr/php/modules/
# mv iconv.so iconv.so.orig
# cp /usr/local/src/php-5.2.12/ext/iconv/modules/iconv.so .
# svcadm disable apache22
# svcadm enable apache22

5. 実行

[yamachan@osol test]$ php iconv.php
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
_______________________________________________
ug-jposug mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/ug-jposug

メールによる返信