[PHP-users 10121] PHP4.2.3のインストール時の内部エラーについて。

Koji Yamauchi php-users@php.gr.jp
Sun, 15 Sep 2002 08:53:20 +0900


4.2.3がでてきたので、ソロソロPHPをインストールしようと思っておりましたが、

環境はFreeBSDを使用しておりまして、Apache2.0.39です。
mysqlは3.23.52です。

ソースから(apache2用のapsxの設定とwith-mysql=/usr/local等)と、
別に/usr/ports/www/mod_php4からと
両方試してみたのですが、エラーがでます。
ポーツで経過を説明しますと、。


まずMakefile (ports特有ですね。)を訂正して、without-mysqlとなっているので、
これをwith-mysql=/usr/local
と代えます。

次に
#make WITH_APACHE2=yes
ですね。

途中
mysql~.c found
となり最後には Thankyouとなり、
---------------------------
| mysqlを指定してください  |
---------------------------
のWarningメッセージが出ていないので
with-mysql=/usr/local
でconfigureまでは成功しています。

要は次ですが、
portsの場合、makeすると.configureからぶっ続けで
makeに入るので、上記のthankyouも表示されたら間もなく
すぐに次に入ります。

でコンパイルしている途中に
〜〜〜〜
sapi_apache2.c: In function `php_register_hook':
sapi_apache2.c:567: too many arguments to function `ap_register_output_filter'
sapi_apache2.c:568: too many arguments to function `ap_register_input_filter'
*** Error code 1
以下エラーで、make が中断。
となるわけです。
で、

/usr/ports/www/mod_php4/work/php-4.2.3/sapi/apache2filter/sapi_apache2.c
(portsもソースも/usr/ports/www/mod_php4/work以降は
普段ソース解凍したあとと同じディレクトリ構造と思って頂いて結構かと思います。)

をviで開いて
: set number で行番号(私lessで行番号を表示する方法を知らないので(;´_`;)
として上記の567 568行目を確認しましたら、

 561 static void php_register_hook(apr_pool_t *p)
 562 {
 563  ap_hook_pre_config(php_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
 564  ap_hook_post_config(php_apache_server_startup, NULL, NULL, APR_HOOK_MIDDLE);
 565  ap_hook_insert_filter(php_insert_filter, NULL, NULL, APR_HOOK_MIDDLE);
 566  ap_hook_post_read_request(php_post_read_request, NULL, NULL, APR_HOOK_MIDDLE);
 567  ap_register_output_filter("PHP", php_output_filter, NULL, AP_FTYPE_RESOURCE);
 568  ap_register_input_filter("PHP", php_input_filter, NULL, AP_FTYPE_RESOURCE);
 569 }
とありまして、上記のエラーでは出力フィルタと入力フィルタを動かすのに
too many arguments to function `ap_register_output_filter'
ですので、引数が多すぎるらしいのです。

でもこの時点で、私の理解を超えております。beyond my description!
皆様方、先達にお任せ致します。
時期リリースを待たなくてはいけないのでしょうか。


ちなみ./configure時のオプションを添加しておきます。
--with-apxs2=/usr/local/sbin/apxs
--with-tsrm-pth
--with-config-file-path=/usr/local/etc
--enable-versioning
--with-regex=system
--without-gd
--with-mysq=/usr/locall
今回ports上でインストールした場合このようになっております。


ソースでインストールしたときは一度オプション最小限でやってみたのですが、
同じでした。
without-mysqlでやったことは一度もありませんが、
もしそれでインストールが正常になるとしても
mysqlが動かないと困りますので。

果たして今回のリリースではインストールできないのでしょうか。
宜しくお願いします。(¢_・)