[PHP-users 9943] Re: Call to undefined function: xslt_create()

ITO Akihiro php-users@php.gr.jp
Mon, 09 Sep 2002 23:13:24 +0900


伊藤です.
#再度,php関連のリコンパイル等も試していて遅くなってしまいました.

> 正常にモジュールが読み込まれていないとのことですが、ロードパスの設定に誤
> りがない場合、リンクエラーなどが考えられます。
> Apacheのエラーログには何かエラーがでていないですか?
>
エラーログにはなにもありませんでした.

> この場合は、コマンドライン版のPHPでXSLTを静的に組み込んでみることです。
>
これも試していたのですが,コンパイルエラーになっていました.原因が特
定できなかったので,書かなかったのですが.

それで,また何度かトライしてみましたが,
下記の通りに実行して,

> cd php-4.2.2
> 
> ./configure --enable-xslt --with-xslt-sablot=DIR --with-iconv-dir=DIR
> --with-expat-dir=DIR --with-sablot-js=DIR
> 
> make
> 

やはりコンパイルエラーでした.

./.libs/libphp4.a(main.o): In function `php_hash_environment':
/usr/local/src/php-4.2.2/main/main.c:1149: undefined reference to `mbstr_treat_data'
/usr/local/src/php-4.2.2/main/main.c:1156: undefined reference to `mbstr_treat_data'
/usr/local/src/php-4.2.2/main/main.c:1163: undefined reference to `mbstr_treat_data'
/usr/local/lib/libsablot.so: undefined reference to `libiconv_open'
/usr/local/lib/libsablot.so: undefined reference to `libiconv_close'
/usr/local/lib/libsablot.so: undefined reference to `libiconv'
collect2: ld returned 1 exit status
make[1]: *** [php] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.2.2'


清末さんご指摘の下記パッチも当ててみましたが,変わらずです.
> Sablot-0.95 には、sablot-0.95-PHP.patch と PHP-sablot-0.95.patch

libiconvのコンパイルはちゃんとできているようです.
Sablot のconfigure で,--enable-iconv --with-iconv-dir=DIR を追加し
てみましたが,Sablotのコンパイルはできたものの,上記エラーは変わらず.

廣川さんのサイトの,sablot-iconv のパッチが必要かと思ったのですが,
バージョン違いで当たらなかったので,ソース内の必要と思われる部分を抜
き出して追加してみたりしたのですが結局コンパイルを通せませんでした.
enc1250.hを作らないとだめなのですね.
#ここで詰まったので,このパッチはとりあえず無しでもう一度最初からや
り直しておりました.

PHP関連のコンパイルでここまでてこずるのは初めて...なにかつまらな
い見落としをしているのでしょうね...
--
ITO Akihiro / Nagoya Japan
akit@d-tv.co.jp
http://www.d-tv.co.jp/
http://www.d-tv.co.jp/~akit/seven/