|
View:
New views
17 Messages
—
Rating Filter:
Alert me
|
|
|
[PHP-dev 1295] PHPにバンドルしているonigurumaについてこんばんわ、桝形です。
PHP_5_2 Branchにonigurumaの最新バージョンを適用しようと考えています。 いくつか不明な点があるので、知っている方は教えて下さい。 小迫さんから「3.7.2」のアーカイブを頂いたので、比較してみたところ バグ修正とは違うかな。。。と思われる差分がありました。 「oniguruma.h」の「#include "php_onig_compat.h"」は、恐らくPHP側で 修正したと思いますが「oniggnu.h」の変更は、どちらが修正したのか 分かりませんでした。 mbstringのソース内では利用されていないようなので「oniggnu.h」への 修正は除外しても問題ないでしょうか。 変更点を少なくして(なるべく)そのまま適用したいので。 他に使っている人がいた場合、最悪「onigcmpt200.h」内に定義したいと 思っています。 #define MBCTYPE_ASCII RE_MBCTYPE_ASCII #define MBCTYPE_EUC RE_MBCTYPE_EUC #define MBCTYPE_SJIS RE_MBCTYPE_SJIS #define MBCTYPE_UTF8 RE_MBCTYPE_UTF8 みたいな。 ちなみに「onigcmpt200.h」も、mbstringのソース内では何処にも定義 されていないようでした。 ------------------------------------------------------------------------------- --- /usr/local/src/php5.2-200606170630/ext/mbstring/oniguruma/oniggnu.h Sat Mar 19 17:52:22 2005 +++ /usr/local/src/oniguruma/oniggnu.h Thu Mar 10 16:29:00 2005 @@ -35,10 +35,10 @@ extern "C" { #endif -#define MBCTYPE_ASCII 0 -#define MBCTYPE_EUC 1 -#define MBCTYPE_SJIS 2 -#define MBCTYPE_UTF8 3 +#define RE_MBCTYPE_ASCII 0 +#define RE_MBCTYPE_EUC 1 +#define RE_MBCTYPE_SJIS 2 +#define RE_MBCTYPE_UTF8 3 /* GNU regex options */ #ifndef RE_NREGS ------------------------------------------------------------------------------- --- /usr/local/src/php5.2-200606170630/ext/mbstring/oniguruma/oniguruma.h Sat Mar 19 17:52:22 2005 +++ /usr/local/src/oniguruma/oniguruma.h Fri Mar 25 11:02:33 2005 @@ -29,8 +29,6 @@ * SUCH DAMAGE. */ -#include "php_onig_compat.h" - #ifdef __cplusplus extern "C" { #endif @@ -38,7 +36,7 @@ #define ONIGURUMA #define ONIGURUMA_VERSION_MAJOR 3 #define ONIGURUMA_VERSION_MINOR 7 -#define ONIGURUMA_VERSION_TEENY 1 +#define ONIGURUMA_VERSION_TEENY 2 #ifdef __cplusplus # ifndef HAVE_PROTOTYPES @@ -484,6 +482,7 @@ OnigOptionType options; /* default option */ } OnigSyntaxType; +ONIG_EXTERN OnigSyntaxType OnigSyntaxASIS; ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixBasic; ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixExtended; ONIG_EXTERN OnigSyntaxType OnigSyntaxEmacs; @@ -494,6 +493,7 @@ ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby; /* predefined syntaxes (see regsyntax.c) */ +#define ONIG_SYNTAX_ASIS (&OnigSyntaxASIS) #define ONIG_SYNTAX_POSIX_BASIC (&OnigSyntaxPosixBasic) #define ONIG_SYNTAX_POSIX_EXTENDED (&OnigSyntaxPosixExtended) #define ONIG_SYNTAX_EMACS (&OnigSyntaxEmacs) @@ -560,6 +560,7 @@ #define ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT (1<<17) /* \p{^..}, \P{^..} */ #define ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS (1<<18) /* \p{IsXDigit} */ #define ONIG_SYN_OP2_ESC_H_XDIGIT (1<<19) /* \h, \H */ +#define ONIG_SYN_OP2_INEFFECTIVE_ESCAPE (1<<20) /* \ */ /* syntax (behavior) */ #define ONIG_SYN_CONTEXT_INDEP_ANCHORS (1<<31) /* not implemented */ ------------------------------------------------------------------------------- --- /usr/local/src/php5.2-200606170630/ext/mbstring/oniguruma/reggnu.c Sat Mar 19 17:52:23 2005 +++ /usr/local/src/oniguruma/reggnu.c Thu Mar 10 16:29:29 2005 @@ -151,16 +151,16 @@ OnigEncoding enc; switch (mb_code) { - case MBCTYPE_ASCII: + case RE_MBCTYPE_ASCII: enc = ONIG_ENCODING_ASCII; break; - case MBCTYPE_EUC: + case RE_MBCTYPE_EUC: enc = ONIG_ENCODING_EUC_JP; break; - case MBCTYPE_SJIS: + case RE_MBCTYPE_SJIS: enc = ONIG_ENCODING_SJIS; break; - case MBCTYPE_UTF8: + case RE_MBCTYPE_UTF8: enc = ONIG_ENCODING_UTF8; break; default: ------------------------------------------------------------------------------- -- Seiji Masugata <s.masugata@...> _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1296] Re: PHPにバンドルしているonigurumaについて小迫です。
oniggnu.hで、MBCTYPE_をRE_MBCTYPE_に変えたのは、 私が3.7.2で変更したものです。 理由は、プレフィックスが何もないのは良くない と思ったからだったと思います。 元がMBCTYPE_だったのは、Rubyがそうしていた から同じ名前にしていただけです。 -- 小迫 Seiji Masugata wrote: > PHP_5_2 Branchにonigurumaの最新バージョンを適用しようと考えています。 > いくつか不明な点があるので、知っている方は教えて下さい。 > > > 小迫さんから「3.7.2」のアーカイブを頂いたので、比較してみたところ > バグ修正とは違うかな。。。と思われる差分がありました。 > > > 「oniguruma.h」の「#include "php_onig_compat.h"」は、恐らくPHP側で > 修正したと思いますが「oniggnu.h」の変更は、どちらが修正したのか > 分かりませんでした。 > > > mbstringのソース内では利用されていないようなので「oniggnu.h」への > 修正は除外しても問題ないでしょうか。 > > 変更点を少なくして(なるべく)そのまま適用したいので。 > > 他に使っている人がいた場合、最悪「onigcmpt200.h」内に定義したいと > 思っています。 > > #define MBCTYPE_ASCII RE_MBCTYPE_ASCII > #define MBCTYPE_EUC RE_MBCTYPE_EUC > #define MBCTYPE_SJIS RE_MBCTYPE_SJIS > #define MBCTYPE_UTF8 RE_MBCTYPE_UTF8 > > みたいな。 > > ちなみに「onigcmpt200.h」も、mbstringのソース内では何処にも定義 > されていないようでした。 _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1297] Re: PHPにバンドルしているonigurumaについてこんばんわ、桝形です。
> 小迫です。 度々お世話になります。(w 以下、了解しました。 これで安心して作業できます。 取り急ぎ、お礼まで。 > oniggnu.hで、MBCTYPE_をRE_MBCTYPE_に変えたのは、 > 私が3.7.2で変更したものです。 > 理由は、プレフィックスが何もないのは良くない > と思ったからだったと思います。 > 元がMBCTYPE_だったのは、Rubyがそうしていた > から同じ名前にしていただけです。 > -- > 小迫 > > Seiji Masugata wrote: > > PHP_5_2 Branchにonigurumaの最新バージョンを適用しようと考えています。 > > いくつか不明な点があるので、知っている方は教えて下さい。 > > > > > > 小迫さんから「3.7.2」のアーカイブを頂いたので、比較してみたところ > > バグ修正とは違うかな。。。と思われる差分がありました。 > > > > > > 「oniguruma.h」の「#include "php_onig_compat.h"」は、恐らくPHP側で > > 修正したと思いますが「oniggnu.h」の変更は、どちらが修正したのか > > 分かりませんでした。 > > > > > > mbstringのソース内では利用されていないようなので「oniggnu.h」への > > 修正は除外しても問題ないでしょうか。 > > > > 変更点を少なくして(なるべく)そのまま適用したいので。 > > > > 他に使っている人がいた場合、最悪「onigcmpt200.h」内に定義したいと > > 思っています。 > > > > #define MBCTYPE_ASCII RE_MBCTYPE_ASCII > > #define MBCTYPE_EUC RE_MBCTYPE_EUC > > #define MBCTYPE_SJIS RE_MBCTYPE_SJIS > > #define MBCTYPE_UTF8 RE_MBCTYPE_UTF8 > > > > みたいな。 > > > > ちなみに「onigcmpt200.h」も、mbstringのソース内では何処にも定義 > > されていないようでした。 -- Seiji Masugata <s.masugata@...> _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1311] Re: PHPにバンドルしているonigurumaについて廣川です。 Mac OS X環境でのPHP 5.2のmakeがonigurumaのところで 失敗するケースがバグデータベースに報告されています。 http://bugs.php.net/bug.php?id=38452 報告した人の環境のせいかもしれませんが,以前のバージョンでは 問題なかったようなので,Onigurumaのバージョン更新が関係しているのかと 思いました。 私自身がMac OS Xユーザではないので,よくわからないのですが, varargsの仕様判別が正常にできていないようです。 何か問題となりそうなところがあるでしょうか? K.Kosako wrote: > 小迫です。 > > oniggnu.hで、MBCTYPE_をRE_MBCTYPE_に変えたのは、 > 私が3.7.2で変更したものです。 > 理由は、プレフィックスが何もないのは良くない > と思ったからだったと思います。 > 元がMBCTYPE_だったのは、Rubyがそうしていた > から同じ名前にしていただけです。 > -- > 小迫 > > Seiji Masugata wrote: >> PHP_5_2 Branchにonigurumaの最新バージョンを適用しようと考えています。 >> いくつか不明な点があるので、知っている方は教えて下さい。 >> >> >> 小迫さんから「3.7.2」のアーカイブを頂いたので、比較してみたところ >> バグ修正とは違うかな。。。と思われる差分がありました。 >> >> >> 「oniguruma.h」の「#include "php_onig_compat.h"」は、恐らくPHP側で >> 修正したと思いますが「oniggnu.h」の変更は、どちらが修正したのか >> 分かりませんでした。 >> >> >> mbstringのソース内では利用されていないようなので「oniggnu.h」への >> 修正は除外しても問題ないでしょうか。 >> >> 変更点を少なくして(なるべく)そのまま適用したいので。 >> >> 他に使っている人がいた場合、最悪「onigcmpt200.h」内に定義したいと >> 思っています。 >> >> #define MBCTYPE_ASCII RE_MBCTYPE_ASCII >> #define MBCTYPE_EUC RE_MBCTYPE_EUC >> #define MBCTYPE_SJIS RE_MBCTYPE_SJIS >> #define MBCTYPE_UTF8 RE_MBCTYPE_UTF8 >> >> みたいな。 >> >> ちなみに「onigcmpt200.h」も、mbstringのソース内では何処にも定義 >> されていないようでした。 > > _______________________________________________ > PHP-dev mailing list > PHP-dev@... > http://ns1.php.gr.jp/mailman/listinfo/php-dev > > PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1312] Re: PHPにバンドルしているonigurumaについてOn Fri, 15 Sep 2006 14:47:15 -0900 Rui Hirokawa <rui_hirokawa@...> wrote: > Mac OS X環境でのPHP 5.2のmakeがonigurumaのところで > 失敗するケースがバグデータベースに報告されています。 > > http://bugs.php.net/bug.php?id=38452 > > 報告した人の環境のせいかもしれませんが,以前のバージョンでは > 問題なかったようなので,Onigurumaのバージョン更新が関係しているのかと > 思いました。 PHP 5.1.6もコンパイルできません。 Xcode 2.4のgcc4が問題なのだと思います。 Xcode 2.3のときにはコンパイルできたPHP5.1.4がXcode 2.4ではコンパイルでき ませんでした。(5.1.6のコンパイルに失敗したので5.1.4のテストをしてみまし た) PHP側のonigurumaまわりのコードをちょっと追っかけてみたのですが、よくわか りませんでした。 とりあえずの回避策としてはgcc 3.3 (/usr/bin/gcc-3.3)を使うとコンパイル できます。後ろ向きですけど。 gcc 3.3もXcode 2.4に入っています。 ●Macの環境 macmini:~ kanai$ uname -a Darwin macmini 8.7.0 Darwin Kernel Version 8.7.0: Fri May 26 15:20:53 PDT 2006; root:xnu-792.6.76.obj~1/RELEASE_PPC Power Macintosh powerpc macmini:~ kanai$ cc -v Using built-in specs. Target: powerpc-apple-darwin8 Configured with: /private/var/tmp/gcc/gcc-5363.obj~28/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8 Thread model: posix gcc version 4.0.1 (Apple Computer, Inc. build 5363) ●PHPのconfigure './configure' '--prefix=/sw' '--with-apxs2=/sw/sbin/apxs' '--with-zlib' '--with-zlib-dir=/usr' '--with-bz2' '--enable-ftp' '--with-freetype-dir=/sw/lib/freetype2' '--with-jpeg-dir=/sw' '--with-png-dir=/sw' '--with-ttf=/sw' '--with-t1lib-dir=/sw' '--with-xpm-dir=/sw' '--with-gd=/sw' '--enable-gd-native-ttf' '--enable-gd-jis-conv' '--enable-mbstring' '--with-mcrypt=/sw' '--with-mhash=/sw' '--with-pgsql=/sw' '--enable-sockets' '--with-libxml-dir=/sw' '--with-libexpat-dir=/sw' '--with-iconv-dir=/sw' '--with-xsl=/sw' '--with-pdo-pgsql=/sw' '--enable-zend-multibyte' '--enable-maintainer-zts' ●コンパイルの状況 PHP5.1.4 PHP5.1.6 Xcode 2.3(gcc4.0) ○ (未テスト) Xcode 2.4(gcc4.0) × × gcc 3.3 ○ ○ ●回避策(shellがbashの場合) $ CC=/usr/bin/gcc-3.3 $ ./configure (引数省略) $ make ------ 金井/y_kanai@... _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1313] Re: PHPにバンドルしているonigurumaについて廣川です。
やはり,環境(Xcode)依存の問題なんですね。 金井さんの環境で現れたエラーもvarginがらみだったのでしょうか。 main/php_config.h のHAVE_STDARG_PROTOTYPESは どのように設定されていますか? configureにより生成されたconfig.logの "length prototypes and stdarg.h"直後に エラーが発生していますか? main/php_config.hに以下の行があった場合, #undef HAVE_STDARG_PROTOTYPES これを #define HAVE_STDARG_PROTOTYPES 1 に変えるとコンパイルがとおりますか? KANAI Yasunori wrote: > On Fri, 15 Sep 2006 14:47:15 -0900 > Rui Hirokawa <rui_hirokawa@...> wrote: > >> Mac OS X環境でのPHP 5.2のmakeがonigurumaのところで >> 失敗するケースがバグデータベースに報告されています。 >> >> http://bugs.php.net/bug.php?id=38452 >> >> 報告した人の環境のせいかもしれませんが,以前のバージョンでは >> 問題なかったようなので,Onigurumaのバージョン更新が関係しているのかと >> 思いました。 > > PHP 5.1.6もコンパイルできません。 > Xcode 2.4のgcc4が問題なのだと思います。 > > Xcode 2.3のときにはコンパイルできたPHP5.1.4がXcode 2.4ではコンパイルでき > ませんでした。(5.1.6のコンパイルに失敗したので5.1.4のテストをしてみまし > た) > PHP側のonigurumaまわりのコードをちょっと追っかけてみたのですが、よくわか > りませんでした。 > > > とりあえずの回避策としてはgcc 3.3 (/usr/bin/gcc-3.3)を使うとコンパイル > できます。後ろ向きですけど。 > gcc 3.3もXcode 2.4に入っています。 > > > > ●Macの環境 > > macmini:~ kanai$ uname -a > Darwin macmini 8.7.0 Darwin Kernel Version 8.7.0: Fri May 26 15:20:53 PDT 2006; root:xnu-792.6.76.obj~1/RELEASE_PPC Power Macintosh powerpc > > macmini:~ kanai$ cc -v > Using built-in specs. > Target: powerpc-apple-darwin8 > Configured with: /private/var/tmp/gcc/gcc-5363.obj~28/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8 > Thread model: posix > gcc version 4.0.1 (Apple Computer, Inc. build 5363) > > > > ●PHPのconfigure > > './configure' '--prefix=/sw' '--with-apxs2=/sw/sbin/apxs' '--with-zlib' '--with-zlib-dir=/usr' '--with-bz2' '--enable-ftp' '--with-freetype-dir=/sw/lib/freetype2' '--with-jpeg-dir=/sw' '--with-png-dir=/sw' '--with-ttf=/sw' '--with-t1lib-dir=/sw' '--with-xpm-dir=/sw' '--with-gd=/sw' '--enable-gd-native-ttf' '--enable-gd-jis-conv' '--enable-mbstring' '--with-mcrypt=/sw' '--with-mhash=/sw' '--with-pgsql=/sw' '--enable-sockets' '--with-libxml-dir=/sw' '--with-libexpat-dir=/sw' '--with-iconv-dir=/sw' '--with-xsl=/sw' '--with-pdo-pgsql=/sw' '--enable-zend-multibyte' '--enable-maintainer-zts' > > > > ●コンパイルの状況 > PHP5.1.4 PHP5.1.6 > Xcode 2.3(gcc4.0) ○ (未テスト) > Xcode 2.4(gcc4.0) × × > gcc 3.3 ○ ○ > > > ●回避策(shellがbashの場合) > $ CC=/usr/bin/gcc-3.3 > $ ./configure (引数省略) > $ make > > > > ------ > 金井/y_kanai@... > > _______________________________________________ > PHP-dev mailing list > PHP-dev@... > http://ns1.php.gr.jp/mailman/listinfo/php-dev > > PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1314] Re: PHPにバンドルしているonigurumaについて小山です。
こちらにも macosx-ppc があるので調べてみました。 On 9/16/06, Rui Hirokawa <rui_hirokawa@...> wrote: > 廣川です。 > > やはり,環境(Xcode)依存の問題なんですね。 > 金井さんの環境で現れたエラーもvarginがらみだったのでしょうか。 > > main/php_config.h のHAVE_STDARG_PROTOTYPESは > どのように設定されていますか? > > configureにより生成されたconfig.logの > "length prototypes and stdarg.h"直後に > エラーが発生していますか? > > main/php_config.hに以下の行があった場合, > #undef HAVE_STDARG_PROTOTYPES > これを > #define HAVE_STDARG_PROTOTYPES 1 > に変えるとコンパイルがとおりますか? 廣川さんの予想通り configure の stdarg.h のチェックに失敗しているせいでした。 #define HAVE_STDARG_PROTOTYPES 1 にするとコンパイルは通ります。 で、なぜ configure の stdarg.h チェックに失敗するかですが、どうも Xcode 2.4 の gcc-4.0.1 の最適化のバグのようです。 config.m4 の該当部分のチェックコード #include <stdarg.h> int foo(int x, ...) { va_list va; va_start(va, x); va_arg(va, int); va_arg(va, char *); va_arg(va, double); return 0; } int main() { return foo(10, "", 3.14); } を -O2 でコンパイルしたバイナリを実行すると Bus Error に なります。最適化なしだと無事に実行できます。 -- 小山哲志@ビート・クラフト koyama@... koyama@... _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1315] Re: PHPにバンドルしているonigurumaについてこんばんわ。 普段PHPを飯の種にしてますので、何かお返ししたいと思ってました。これくら いなら、なんとか協力できます。ほかにもテストしたほうがいいものがあれば、 お知らせください。 On Sat, 16 Sep 2006 02:46:41 -0900 Rui Hirokawa <rui_hirokawa@...> wrote: > やはり,環境(Xcode)依存の問題なんですね。 > 金井さんの環境で現れたエラーもvarginがらみだったのでしょうか。 puttyでログを採ったので、以下に置きました。(メールに添付したらrejectされ ちゃいましたんで) ttp://park8.wakwak.com/~kanai/php-make-errorlog.zip (ファイルはしばらくしたら消すかもしれません) tar.gzを展開してconfigure、makeと進むと、6188行目でエラーでmakeが止まり ました 6189行から、cat main/php_config.h 9139行から、cat config.log 11181行から、main/php_config.hで#define HAVE_STDARG_PROTOTYPES 1に書き換 えて、make cleanしないで、6188行で止まった続きからmakeを仕掛けました 12160行、make完了 >main/php_config.h のHAVE_STDARG_PROTOTYPESは >どのように設定されていますか? /* Define if stdarg.h is available */ /* #undef HAVE_STDARG_PROTOTYPES */ となっていました。 >"length prototypes and stdarg.h"直後に >エラーが発生していますか? failedになっています。 configure:52940: checking for variable length prototypes and stdarg.h configure:52974: gcc -o conftest -I/usr/include -g -O2 -no-cpp-precomp -liconv -L/usr/lib -L/sw/lib -L/sw/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/sw/lib/freetype2/lib -L/sw/lib/freetype2/lib conftest.c -liconv -lgd -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -lbz2 -lz -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm 1>&5 configure: failed program was: #line 52959 "configure" #include "confdefs.h" #include <stdarg.h> int foo(int x, ...) { va_list va; va_start(va, x); va_arg(va, int); va_arg(va, char *); va_arg(va, double); return 0; } int main() { return foo(10, "", 3.14); } >main/php_config.hに以下の行があった場合, >#undef HAVE_STDARG_PROTOTYPES >これを >#define HAVE_STDARG_PROTOTYPES 1 >に変えるとコンパイルがとおりますか? 通りました。とりあえず、-vは動くようです。(-iも動きました) macmini:~/work1/php/php-5.1.6 kanai$ sapi/cli/php -v PHP 5.1.6 (cli) (built: Sep 16 2006 22:17:36) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with the ionCube PHP Loader v3.1.22, Copyright (c) 2002-2006, by ionCube Ltd. ------ 金井/y_kanai@... _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1316] Re: PHPにバンドルしているonigurumaについて廣川です。 小山さん,金井さん,調査頂きありがとうございました。 やはり,PHP/onigurumaの問題ではなく,開発環境(Xcodeのgcc)のバグの ようですね。 gccがbus errorとなるようではしょうがありません。 1.gcc-4.0.1以外(gcc-3.3)を使用する 2.最適化オプションを外す 3.Xcodeの他のバージョンを試す 4.php_config.h生成後にHAVE_STDARG_PROTOTYPESを書き換える などを推奨しておくことにします。 (Xcodeの修正を促すのがより前向きですね。) KANAI Yasunori wrote: > こんばんわ。 > > 普段PHPを飯の種にしてますので、何かお返ししたいと思ってました。これくら > いなら、なんとか協力できます。ほかにもテストしたほうがいいものがあれば、 > お知らせください。 > > > On Sat, 16 Sep 2006 02:46:41 -0900 > Rui Hirokawa <rui_hirokawa@...> wrote: > >> やはり,環境(Xcode)依存の問題なんですね。 >> 金井さんの環境で現れたエラーもvarginがらみだったのでしょうか。 > > puttyでログを採ったので、以下に置きました。(メールに添付したらrejectされ > ちゃいましたんで) > ttp://park8.wakwak.com/~kanai/php-make-errorlog.zip > (ファイルはしばらくしたら消すかもしれません) > > tar.gzを展開してconfigure、makeと進むと、6188行目でエラーでmakeが止まり > ました > 6189行から、cat main/php_config.h > 9139行から、cat config.log > 11181行から、main/php_config.hで#define HAVE_STDARG_PROTOTYPES 1に書き換 > えて、make cleanしないで、6188行で止まった続きからmakeを仕掛けました > 12160行、make完了 > > > >> main/php_config.h のHAVE_STDARG_PROTOTYPESは >> どのように設定されていますか? > > /* Define if stdarg.h is available */ > /* #undef HAVE_STDARG_PROTOTYPES */ > > となっていました。 > PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1317] Re: PHPにバンドルしているonigurumaについて小山です。
On 9/17/06, Rui Hirokawa <rui_hirokawa@...> wrote: > 小山さん,金井さん,調査頂きありがとうございました。 > やはり,PHP/onigurumaの問題ではなく,開発環境(Xcodeのgcc)のバグの > ようですね。 > gccがbus errorとなるようではしょうがありません。 細かいですが念のため。Bus Error になるのは gcc ではなく ext/mbstring/config.m4 の stdarg.h チェックコードを抜き出して gcc -O2 でコンパイルしたバイナリです。 > 1.gcc-4.0.1以外(gcc-3.3)を使用する > 2.最適化オプションを外す > 3.Xcodeの他のバージョンを試す > 4.php_config.h生成後にHAVE_STDARG_PROTOTYPESを書き換える > > などを推奨しておくことにします。 > (Xcodeの修正を促すのがより前向きですね。) とりあえず他の修正案を。 configure の stdarg.h のチェックって本当に必要でしょうか。 ext/standard/array.c を見ると、特にチェックもなく普通に #include <stdarg.h> しているので、mbstring のみチェックを行ってもあまり意味はないような 気がしています。 -- 小山哲志@ビート・クラフト koyama@... koyama@... _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1318] Re: PHPにバンドルしているonigurumaについて小迫です。
どこで対処するのが適切なのか、私には分かりませんが、 鬼車でも対処したいと思います。 条件としてどのように記述すればよいのか、 どなたか教えていただけないでしょうか? 条件として考えられるのは、 MacOS Xであれば あるいは GCC 4.0以上なら という感じでしょうか? #ifdef 条件 #ifndef HAVE_STDARG_PROTOTYPES #define HAVE_STDARG_PROTOTYPES #endif #endif -- 小迫 KOYAMA Tetsuji wrote: > On 9/17/06, Rui Hirokawa <rui_hirokawa@...> wrote: >> 小山さん,金井さん,調査頂きありがとうございました。 >> やはり,PHP/onigurumaの問題ではなく,開発環境(Xcodeのgcc)のバグの >> ようですね。 >> gccがbus errorとなるようではしょうがありません。 > > 細かいですが念のため。Bus Error になるのは gcc ではなく > ext/mbstring/config.m4 の stdarg.h チェックコードを抜き出して > gcc -O2 でコンパイルしたバイナリです。 > >> 1.gcc-4.0.1以外(gcc-3.3)を使用する >> 2.最適化オプションを外す >> 3.Xcodeの他のバージョンを試す >> 4.php_config.h生成後にHAVE_STDARG_PROTOTYPESを書き換える >> >> などを推奨しておくことにします。 >> (Xcodeの修正を促すのがより前向きですね。) > > とりあえず他の修正案を。 > configure の stdarg.h のチェックって本当に必要でしょうか。 > > ext/standard/array.c を見ると、特にチェックもなく普通に > > #include <stdarg.h> > > しているので、mbstring のみチェックを行ってもあまり意味はないような > 気がしています。 > _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1319] Re: PHPにバンドルしているonigurumaについて小山です。
On 9/17/06, K.Kosako <sndgk393@...> wrote: > どこで対処するのが適切なのか、私には分かりませんが、 > 鬼車でも対処したいと思います。 ありがとうございます。 > 条件としてどのように記述すればよいのか、 > どなたか教えていただけないでしょうか? > > 条件として考えられるのは、 > MacOS Xであれば あるいは GCC 4.0以上なら > という感じでしょうか? 同じ MacOS X でも、Intel アーキテクチャならばこの問題は起こらない ようです。 % gcc --version i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5250) 上記の環境で、例のチェックコードを -O2 付でコンパイル/実行したところ 無事に動作しました。 ということで、条件は MacOS X かつ PowerPC かつ gcc-4.0.1 ならば、というところだと思います。 # 一応、Apple にはバグレポートを送っておきました。 -- 小山哲志@ビート・クラフト koyama@... koyama@... _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1321] Re: PHPにバンドルしているonigurumaについて小山です。
On 9/17/06, KOYAMA Tetsuji <koyama@...> wrote: > > 条件としてどのように記述すればよいのか、 > > どなたか教えていただけないでしょうか? > > > > 条件として考えられるのは、 > > MacOS Xであれば あるいは GCC 4.0以上なら > > という感じでしょうか? > > ということで、条件は > MacOS X かつ PowerPC かつ gcc-4.0.1 > ならば、というところだと思います。 ちょっと勘違いしていました。 #define HAVE_STDARG_PROTOTYPES を決めうちしちゃう条件ですよね。それなら MacOS X ならば stdarg.h を持ってると考えてよさそうなので、 #if defined(__APPLE__) && defined(__GNUC__) あたりでよいかもしれません。 -- 小山哲志@ビート・クラフト koyama@... koyama@... _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1326] Re: PHPにバンドルしているonigurumaについて小迫です。
ありがとうございます。 その線で変更します。 -- 小迫 KOYAMA Tetsuji wrote: >>> 条件として考えられるのは、 >>> MacOS Xであれば あるいは GCC 4.0以上なら >>> という感じでしょうか? >> ということで、条件は >> MacOS X かつ PowerPC かつ gcc-4.0.1 >> ならば、というところだと思います。 > > ちょっと勘違いしていました。 > > #define HAVE_STDARG_PROTOTYPES > > を決めうちしちゃう条件ですよね。それなら > MacOS X ならば stdarg.h を持ってると考えてよさそうなので、 > > #if defined(__APPLE__) && defined(__GNUC__) > > あたりでよいかもしれません。 > _______________________________________________ PHP-dev mailing list PHP-dev@... http://ns1.php.gr.jp/mailman/listinfo/php-dev |
|
|
[PHP-dev 1332] Re: PHPにバンドルしているonigurumaについて廣川です。 早速対応頂きありがとうございます。 最新の Oniguruma (4.4.4)に修正を反映いただきましたが, PHP 5.2.0はりリース直前で試験の期間がないため,下記検出部のみ (#if... #endif) 反映させました。 http://bugs.php.net/bug.php?id=38892&edit=1 が新たに報告されましたが,上記コミット後に解消が確認されました。 PHP 5.2.0リリース後にPHP 5.2.1に向けて Onigurumaの更新を行うことに なると思います。 K.Kosako wrote: > 小迫です。 > > ありがとうございます。 > その線で変更します。 > -- > 小迫 > > KOYAMA Tetsuji wrote: >>>> 条件として考えられるのは、 >>>> MacOS Xであれば あるいは GCC 4.0以上なら >>>> という感じでしょうか? >>> ということで、条件は >>> MacOS X かつ PowerPC かつ gcc-4.0.1 >>> ならば、というところだと思います。 >> ちょっと勘違いしていました。 >> >> #define HAVE_STDARG_PROTOTYPES >> >> を決めうちしちゃう条件ですよね。それなら >> MacOS X ならば stdarg.h を持ってると考えてよさそうなので、 >> >> #if defined(__APPLE__) && defined(__GNUC__) >> >> あたりでよいかもしれません。 >> > > > _______________________________________________ > PHP-dev mailing list > PHP-dev@... > http://ns1 |