ます’s Blog - どうでもいい記事100選

どうでもいい記事100選

Fail-Safe C: 安全なC言語コンパイラ(続きの続きの続きの続き)

放置しまくりのですが。
Fail-Safe C version 1.5.0 (revision 1797)) がリリースされていたのでPHPのビルドに再び挑戦。
今回は5.2.10RC2と5.3.0RC3が対象。

今回からFail-Safe Cのビルドには ./configure が必要になっているようでした。その他、ビルドに必要な条件は配布物の中にあるREADMEを参照してください。


5.3.0RC3で(またしても)enumリストの一番最後の定義が「,」で終わっていてビルドできませんでしたが、それ以外では特に修正の必要はありませんでした。ただし(またしても)メモリ絡みで撃沈です。_| ̄|○
うーん。。。メモリは2Gも積んでいるし、サーバの状況からしてみてもメモリが枯渇しているとは(到底)考えにくい。。。本当にメモリ不足なのだろうか。なんか怪しい。
メモリもキャッシュに乗っかってるのが多いので、アプリケーションを落とすだけ落としてみてOS起動直後に再チャレンジしてみるか。。。

% su
% uname -a
Linux **** 2.6.18-6-686 #1 SMP Tue May 5 00:40:20 UTC 2009 i686 GNU/Linux

% gcc -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-5)

% ocaml -version
The Objective Caml toplevel, version 3.09.2

% perl -v

This is perl, v5.8.8 built for i686-linux

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

% cd /usr/local/src
% gzip -dc ./FailSafeC-1.5.0.1797.tar.gz | tar xf -
% cd ./FailSafeC-1.5.0.1797
% ./configure --prefix=/usr/local
% make
% make install
% cd ../
% gzip -dc ./php-5.2.10RC2.tar.gz | tar xf -
% cd ./php-5.2.10RC2
% env CC=fscc \
./configure \
--disable-all \
--without-iconv \
--with-regex=system

% cat ./Makefile | grep fscc
CC = fscc
CPP = fscc -E

% make
/bin/sh /usr/local/src/php-5.2.10RC2/libtool --silent --preserve-dup-deps --mode=compile fscc -Iext/date/lib -Iext/date/ -I/usr/local/src/php-5.2.10RC2/ext/date/ -DPHP_ATOM_INC -I/usr/local/src/php-5.2.10RC2/include -I/usr/local/src/php-5.2.10RC2/main -I/usr/local/src/php-5.2.10RC2 -I/usr/local/src/php-5.2.10RC2/ext/date/lib -I/usr/local/src/php-5.2.10RC2/TSRM -I/usr/local/src/php-5.2.10RC2/Zend    -g  -c /usr/local/src/php-5.2.10RC2/ext/date/lib/parse_date.c -o ext/date/lib/parse_date.lo
cc1: out of memory allocating 387232664 bytes after a total of 7385088 bytes
+ gcc -I/usr/local/lib/fsc/default/runtime -g -O0 -fno-strict-aliasing -Wall -Wno-unused -DFSC_DEBUG_RUNTIME -o ext/date/lib/parse_date.o -c -xc /tmp/fsc-0-07i2gBkq/parse_date.safe.c
fscc: command gcc returned status 1
make: *** [ext/date/lib/parse_date.lo] Error 1

% cd ../
% gzip -dc ./php-5.3.0RC3.tar.gz | tar xf -
% cd ./php-5.3.0RC3
% env CC=fscc \
./configure \
--disable-all \
--without-iconv \
--with-regex=system

% cat ./Makefile | grep fscc
CC = fscc
CPP = fscc -E

% make
/bin/sh /usr/local/src/php-5.3.0RC3/libtool --silent --preserve-dup-deps --mode=compile fscc -Iext/date/lib -Iext/date/ -I/usr/local/src/php-5.3.0RC3/ext/date/ -DPHP_ATOM_INC -I/usr/local/src/php-5.3.0RC3/include -I/usr/local/src/php-5.3.0RC3/main -I/usr/local/src/php-5.3.0RC3 -I/usr/local/src/php-5.3.0RC3/ext/date/lib -I/usr/local/src/php-5.3.0RC3/TSRM -I/usr/local/src/php-5.3.0RC3/Zend    -g  -c /usr/local/src/php-5.3.0RC3/ext/date/php_date.c -o ext/date/php_date.lo
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(37): parse error before '}'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(62): parse error before 'zend_stream_type'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(71): parse error before '}'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(75): parse error before 'zend_file_handle'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(76): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(76): parse error before 'char'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(76): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(77): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(78): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_stream.h(78): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend.h(502): parse error before 'zend_file_handle'
/usr/local/src/php-5.3.0RC3/Zend/zend.h(505): parse error before '}'
/usr/local/src/php-5.3.0RC3/Zend/zend.h(552): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend.h(552): parse error before 'char'
/usr/local/src/php-5.3.0RC3/Zend/zend.h(552): parse error before ')'
/usr/local/src/php-5.3.0RC3/Zend/zend.h(644): parse error before 'zend_file_handle'
/usr/local/src/php-5.3.0RC3/Zend/zend_globals.h(262): parse error before 'zend_file_handle'
/usr/local/src/php-5.3.0RC3/Zend/zend_globals.h(264): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_globals.h(279): parse error before '}'
/usr/local/src/php-5.3.0RC3/Zend/zend_globals.h(282): parse error before 'zend_file_handle'
/usr/local/src/php-5.3.0RC3/Zend/zend_globals.h(284): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_globals.h(293): parse error before '}'
/usr/local/src/php-5.3.0RC3/Zend/zend_compile.h(349): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_compile.h(349): parse error before 'int'
/usr/local/src/php-5.3.0RC3/Zend/zend_compile.h(557): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_compile.h(557): parse error before 'int'
/usr/local/src/php-5.3.0RC3/Zend/zend_compile.h(561): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_compile.h(564): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_ini.h(199): parse error before '*'
/usr/local/src/php-5.3.0RC3/Zend/zend_ini.h(199): parse error before 'unbuffered_errors'
/usr/local/src/php-5.3.0RC3/Zend/zend_ini.h(199): parse error before 'ini_parser_cb'
/usr/local/src/php-5.3.0RC3/Zend/zend_ini.h(199): parse error before ')'
/usr/local/src/php-5.3.0RC3/main/fopen_wrappers.h(28): parse error before '*'
/usr/local/src/php-5.3.0RC3/main/php_main.h(41): parse error before '*'
/usr/local/src/php-5.3.0RC3/main/php_main.h(42): parse error before '*'
/usr/local/src/php-5.3.0RC3/main/php_main.h(42): parse error before '*'
/usr/local/src/php-5.3.0RC3/main/php_main.h(42): parse error before ')'
/usr/local/src/php-5.3.0RC3/main/php_main.h(44): parse error before '*'
/usr/local/src/php-5.3.0RC3/main/php_main.h(50): parse error before 'zend_file_handle'
/usr/local/src/php-5.3.0RC3/main/php_main.h(50): parse error before 'int'
Fatal error: exception Failure("parser: stopped by syntax error")
+ /usr/local/lib/fsc/default/compiler/trans.nc ---systemdir /usr/local/lib/fsc/default -f multi-module -I ext/date/lib -I ext/date/ -I /usr/local/src/php-5.3.0RC3/ext/date/ -I /usr/local/src/php-5.3.0RC3/include -I /usr/local/src/php-5.3.0RC3/main -I /usr/local/src/php-5.3.0RC3 -I /usr/local/src/php-5.3.0RC3/ext/date/lib -I /usr/local/src/php-5.3.0RC3/TSRM -I /usr/local/src/php-5.3.0RC3/Zend -D PHP_ATOM_INC ---output-file /tmp/fsc-0-t0VE4bvb/php_date.safe.c ---input-file /usr/local/src/php-5.3.0RC3/ext/date/php_date.c
fscc: command /usr/local/lib/fsc/default/compiler/trans.nc returned status 2
make: *** [ext/date/php_date.lo] Error 1

% cat ../php-5.3.0RC3-zend_stream.h.diff
--- ../php-5.3.0RC3,orig/Zend/zend_stream.h	2009-03-12 07:11:53.000000000 +0900
+++ Zend/zend_stream.h	2009-06-16 15:04:33.000000000 +0900
@@ -38,7 +38,7 @@
 	ZEND_HANDLE_FD,
 	ZEND_HANDLE_FP,
 	ZEND_HANDLE_STREAM,
-	ZEND_HANDLE_MAPPED,
+	ZEND_HANDLE_MAPPED
 } zend_stream_type;
 
 typedef struct _zend_mmap {
% patch -p0 < ../php-5.3.0RC3-zend_stream.h.diff
patching file Zend/zend_stream.h

% make
/bin/sh /usr/local/src/php-5.3.0RC3/libtool --silent --preserve-dup-deps --mode=compile fscc -Iext/date/lib -Iext/date/ -I/usr/local/src/php-5.3.0RC3/ext/date/ -DPHP_ATOM_INC -I/usr/local/src/php-5.3.0RC3/include -I/usr/local/src/php-5.3.0RC3/main -I/usr/local/src/php-5.3.0RC3 -I/usr/local/src/php-5.3.0RC3/ext/date/lib -I/usr/local/src/php-5.3.0RC3/TSRM -I/usr/local/src/php-5.3.0RC3/Zend    -g  -c /usr/local/src/php-5.3.0RC3/ext/date/lib/parse_date.c -o ext/date/lib/parse_date.lo
cc1: out of memory allocating 441645840 bytes after a total of 7966720 bytes
+ gcc -I/usr/local/lib/fsc/default/runtime -g -O0 -fno-strict-aliasing -Wall -Wno-unused -DFSC_DEBUG_RUNTIME -o ext/date/lib/parse_date.o -c -xc /tmp/fsc-0-5wXoPbkq/parse_date.safe.c
fscc: command gcc returned status 1
make: *** [ext/date/lib/parse_date.lo] Error 1

% limit
cputime      unlimited
filesize     unlimited
datasize     unlimited
stacksize    8192 kbytes
coredumpsize 0 kbytes
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  1024
memorylocked unlimited
maxproc      unlimited

% limit -h
cputime      unlimited
filesize     unlimited
datasize     unlimited
stacksize    unlimited
coredumpsize unlimited
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  1024
memorylocked unlimited
maxproc      unlimited

% id
uid=0(root) gid=0(root) groups=0(root)

無茶を承知で「ext/date」を削除してトライしてみたのですが、違う場所でエラーになってました。前進したのか後退したのか、よく分からん状況です。

% cd ../php-5.2.10RC2
% make distclean
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp5.la sapi/cli/php sapi/cgi/php-cgi modules/* libs/*
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
grep -E define'.*include/php' /usr/local/src/php-5.2.10RC2/configure | /bin/sed 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f

% rm -rf ext/date
% rm ./configure
% ./buildconf --force
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
rebuilding configure
rebuilding main/php_config.h.in

% env CC=fscc \
./configure \
--disable-all \
--without-iconv \
--with-regex=system

% cat ./Makefile | grep fscc
CC = fscc
CPP = fscc -E

% make
/bin/sh /usr/local/src/php-5.2.10RC2/libtool --silent --preserve-dup-deps --mode=compile fscc  -Iext/standard/ -I/usr/local/src/php-5.2.10RC2/ext/standard/ -DPHP_ATOM_INC -I/usr/local/src/php-5.2.10RC2/include -I/usr/local/src/php-5.2.10RC2/main -I/usr/local/src/php-5.2.10RC2 -I/usr/local/src/php-5.2.10RC2/TSRM -I/usr/local/src/php-5.2.10RC2/Zend    -g  -c /usr/local/src/php-5.2.10RC2/ext/standard/basic_functions.c -o ext/standard/basic_functions.lo
Fatal error: exception Assert_failure("ctt_visitor.ml", 129, 26)
+ /usr/local/lib/fsc/default/compiler/trans.nc ---systemdir /usr/local/lib/fsc/default -f multi-module -I ext/standard/ -I /usr/local/src/php-5.2.10RC2/ext/standard/ -I /usr/local/src/php-5.2.10RC2/include -I /usr/local/src/php-5.2.10RC2/main -I /usr/local/src/php-5.2.10RC2 -I /usr/local/src/php-5.2.10RC2/TSRM -I /usr/local/src/php-5.2.10RC2/Zend -D PHP_ATOM_INC ---output-file /tmp/fsc-0-r45yggCk/basic_functions.safe.c ---input-file /usr/local/src/php-5.2.10RC2/ext/standard/basic_functions.c
fscc: command /usr/local/lib/fsc/default/compiler/trans.nc returned status 2
make: *** [ext/standard/basic_functions.lo] Error 1

% cd ../php-5.3.0RC3
% make distclean
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp5.la sapi/cli/php sapi/cgi/php-cgi modules/* libs/*
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
grep -E define'.*include/php' /usr/local/src/php-5.3.0RC3/configure | /bin/sed 's/.*>//'|xargs rm -f
find . -name Makefile | xargs rm -f

% rm -rf ext/date
% rm ./configure
% ./buildconf --force
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
rebuilding configure
rebuilding main/php_config.h.in

% env CC=fscc \
./configure \
--disable-all \
--without-iconv \
--with-regex=system

% cat ./Makefile | grep fscc
CC = fscc
CPP = fscc -E

% make
/bin/sh /usr/local/src/php-5.3.0RC3/libtool --silent --preserve-dup-deps --mode=compile fscc  -Iext/reflection/ -I/usr/local/src/php-5.3.0RC3/ext/reflection/ -DPHP_ATOM_INC -I/usr/local/src/php-5.3.0RC3/include -I/usr/local/src/php-5.3.0RC3/main -I/usr/local/src/php-5.3.0RC3 -I/usr/local/src/php-5.3.0RC3/TSRM -I/usr/local/src/php-5.3.0RC3/Zend    -g  -c /usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c -o ext/reflection/php_reflection.lo 
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(191): parse error before '}'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(199): parse error before 'reflection_type_t'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(203): parse error before '}'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(275): parse error before '='
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1118): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1124): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1132): parse error before 'zval'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1138): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1149): parse error before 'zval'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1165): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1178): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1192): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1209): parse error before 'zval'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1219): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1231): parse error before 'zval'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1243): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1256): parse error before 'zval'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1287): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1502): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1508): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1543): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1550): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1572): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1578): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1587): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1593): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1602): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1608): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1617): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1621): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1630): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1636): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1648): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1654): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1666): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1672): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1684): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1690): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1703): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1709): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1729): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1733): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1787): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1792): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1840): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1844): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1854): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1858): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1868): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1872): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1882): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1888): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1909): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1914): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1933): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1938): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1969): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(1981): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2141): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2148): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2170): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2176): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2190): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2196): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2208): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2215): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2265): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2271): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2281): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2287): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2297): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2303): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2313): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2319): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2329): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2335): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2345): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2352): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2373): parse error before 'parameter_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2380): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2420): parse error before 'char'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2450): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2518): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2525): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2539): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2548): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2641): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2652): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2869): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2875): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2887): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2893): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2902): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2908): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2918): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2922): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2932): parse error before 'zend_function'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2936): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2962): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(2976): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3021): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3029): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3060): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3070): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3092): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3104): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3128): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3136): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3184): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3191): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3213): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3219): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3228): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3234): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3243): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3249): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3261): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3267): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3279): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3285): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3297): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3303): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3315): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3321): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3335): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3345): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3361): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3372): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3435): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3450): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3468): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3479): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3502): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3513): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3612): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3627): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3643): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3653): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3667): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3673): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3684): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3695): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3709): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3715): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3724): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3730): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3773): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3779): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3789): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3797): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3807): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3811): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3879): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3886): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3958): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3964): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3986): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(3993): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4008): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4014): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4028): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4033): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4050): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4073): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4078): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4095): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4123): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4127): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4137): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4141): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4153): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4157): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4268): parse error before 'zend_class_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4279): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4366): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4373): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4393): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4399): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4447): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4453): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4463): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4469): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4511): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4521): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4582): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4592): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4621): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4627): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4639): parse error before 'property_reference'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4646): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4666): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4677): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4703): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4710): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4732): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4738): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4753): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4759): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4804): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4810): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4838): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4844): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4875): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4881): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4892): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4898): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4909): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4916): parse error before ')'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4963): parse error before 'zend_module_entry'
/usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c(4969): parse error before ')'
Fatal error: exception Failure("parser: stopped by syntax error")
+ /usr/local/lib/fsc/default/compiler/trans.nc ---systemdir /usr/local/lib/fsc/default -f multi-module -I ext/reflection/ -I /usr/local/src/php-5.3.0RC3/ext/reflection/ -I /usr/local/src/php-5.3.0RC3/include -I /usr/local/src/php-5.3.0RC3/main -I /usr/local/src/php-5.3.0RC3 -I /usr/local/src/php-5.3.0RC3/TSRM -I /usr/local/src/php-5.3.0RC3/Zend -D PHP_ATOM_INC ---output-file /tmp/fsc-0-RrVL3XF6/php_reflection.safe.c ---input-file /usr/local/src/php-5.3.0RC3/ext/reflection/php_reflection.c
fscc: command /usr/local/lib/fsc/default/compiler/trans.nc returned status 2
make: *** [ext/reflection/php_reflection.lo] Error 1

% cat ../php-5.3.0RC3-php_reflection.c.diff
--- ../php-5.3.0RC3,orig/ext/reflection/php_reflection.c	2009-05-22 01:01:37.000000000 +0900
+++ ext/reflection/php_reflection.c	2009-06-16 15:28:48.000000000 +0900
@@ -191,7 +191,7 @@
 	REF_TYPE_OTHER,      /* Must be 0 */
 	REF_TYPE_FUNCTION,
 	REF_TYPE_PARAMETER,
-	REF_TYPE_PROPERTY,
+	REF_TYPE_PROPERTY
 } reflection_type_t;
 
 /* Struct for reflection objects */
% patch -p0 < ../php-5.3.0RC3-php_reflection.c.diff
patching file ext/reflection/php_reflection.c

% make
/bin/sh /usr/local/src/php-5.3.0RC3/libtool --silent --preserve-dup-deps --mode=compile fscc  -Iext/standard/ -I/usr/local/src/php-5.3.0RC3/ext/standard/ -DPHP_ATOM_INC -I/usr/local/src/php-5.3.0RC3/include -I/usr/local/src/php-5.3.0RC3/main -I/usr/local/src/php-5.3.0RC3 -I/usr/local/src/php-5.3.0RC3/TSRM -I/usr/local/src/php-5.3.0RC3/Zend    -g  -c /usr/local/src/php-5.3.0RC3/ext/standard/basic_functions.c -o ext/standard/basic_functions.lo
warning: undeclared function "zm_shutdown_crypt" called.
Fatal error: exception Assert_failure("ctt_visitor.ml", 129, 26)
+ /usr/local/lib/fsc/default/compiler/trans.nc ---systemdir /usr/local/lib/fsc/default -f multi-module -I ext/standard/ -I /usr/local/src/php-5.3.0RC3/ext/standard/ -I /usr/local/src/php-5.3.0RC3/include -I /usr/local/src/php-5.3.0RC3/main -I /usr/local/src/php-5.3.0RC3 -I /usr/local/src/php-5.3.0RC3/TSRM -I /usr/local/src/php-5.3.0RC3/Zend -D PHP_ATOM_INC ---output-file /tmp/fsc-0-SmwYuBNG/basic_functions.safe.c ---input-file /usr/local/src/php-5.3.0RC3/ext/standard/basic_functions.c
fscc: command /usr/local/lib/fsc/default/compiler/trans.nc returned status 2
make: *** [ext/standard/basic_functions.lo] Error 1

%

ただ一つ確かな事は、間違いなく無駄な時間を過ごしている、という事です(ぉ