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

どうでもいい記事100選

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

先日のですが。
とりあえず、PHPのビルドだけでも挑戦してみるか。。。という事で。
不要なパッケージは入れたく無かったのですが、ソースからインストールする気力もなかったので仕方なくパッケージを導入。
で、挑戦した結果。。。案の定、撃沈。このエラーメッセージだけだと何が悪いのか分からん。_| ̄|○
(なんとなく分かってはいたけれど)先は長そう。とほほ。

% su
% apt-get install ocaml ocaml-native-compilers ocaml-findlib libextlib-ocaml-dev libgc-dev libgdbm-dev
% cd /usr/local/src
% gzip -dc ./FailSafeC-1.0.0.1662.tar.gz | tar xf -
% cd ./FailSafeC-1.0.0.1662
% make
% make install
% cd ../
% gzip -dc ./php-5.2.5.tar.gz | tar xf -
% cd ./php-5.2.5
% env CC=fscc \
./configure \
--disable-all \
--enable-mbstring \
--without-iconv

% cat ./Makefile | grep fscc
CC = fscc
CPP = fscc -E
% make
/bin/sh /usr/local/src/php-5.2.5/libtool --silent --preserve-dup-deps --mode=compile fscc -Iext/date/lib -Iext/date/ -I/usr/local/src/php-5.2.5/ext/date/ -DPHP_ATOM_INC -I/usr/local/src/php-5.2.5/include -I/usr/local/src/php-5.2.5/main -I/usr/local/src/php-5.2.5 -I/usr/local/src/php-5.2.5/ext/date/lib -I/usr/local/src/php-5.2.5/ext/mbstring/oniguruma -I/usr/local/src/php-5.2.5/ext/mbstring/libmbfl -I/usr/local/src/php-5.2.5/ext/mbstring/libmbfl/mbfl -I/usr/local/src/php-5.2.5/TSRM -I/usr/local/src/php-5.2.5/Zend    -g  -c /usr/local/src/php-5.2.5/ext/date/php_date.c -o ext/date/php_date.lo
Fatal error: exception Failure("/usr/local/src/php-5.2.5/main/streams/php_stream_filter_api.h(63): parse error")
+ /usr/local/lib/fsc/default/compiler/trans.nc ---sysinclude /usr/local/lib/fsc/default/include -f multi-module -I ext/date/lib -I ext/date/ -I /usr/local/src/php-5.2.5/ext/date/ -I /usr/local/src/php-5.2.5/include -I /usr/local/src/php-5.2.5/main -I /usr/local/src/php-5.2.5 -I /usr/local/src/php-5.2.5/ext/date/lib -I /usr/local/src/php-5.2.5/ext/mbstring/oniguruma -I /usr/local/src/php-5.2.5/ext/mbstring/libmbfl -I/usr/local/src/php-5.2.5/ext/mbstring/libmbfl/mbfl -I /usr/local/src/php-5.2.5/TSRM -I /usr/local/src/php-5.2.5/Zend -D PHP_ATOM_INC ---output-file /tmp/fsc-0-DsyL3ppF/php_date.safe.c ---input-file /usr/local/src/php-5.2.5/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
% less -N /usr/local/src/php-5.2.5/main/streams/php_stream_filter_api.h

        〜 省略 〜

     62 typedef enum {
     63         PSFS_ERR_FATAL, /* error in data stream */
     64         PSFS_FEED_ME,   /* filter needs more data; stop processing chain until more is available */
     65         PSFS_PASS_ON,   /* filter generated output buckets; pass them on to next in chain */
     66 } php_stream_filter_status_t;

        〜 省略 〜

% 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