ゆうぞうさんへ

渡辺哲也です。

ほんとは ruby-ext とか専用の ML にだすべきかもしれませんけど...

ruby-1.8.0 2003-07-23 で ext/openssl (ruby 添付のもの)をコンパイル
すると次のエラーがでます。

------------------------------
$ make
gcc -fPIC -O -I. -I/t/src/ruby/1.8/2003/07/23 -I/t/src/ruby/1.8/2003/07/23 -I/t/src/ruby/1.8/2003/07/23/ext/openssl -DHAVE_OPENSSL_CRYPTO_H -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_RB_OBJ_INIT_COPY  -c ossl.c
In file included from ossl.c:11:
ossl.h:153: badly punctuated parameter list in `#define'
ossl.h:158: badly punctuated parameter list in `#define'
ossl.h:163: badly punctuated parameter list in `#define'
make: *** [ossl.o] Error 1
------------------------------

原因は、コンパイラにあるようです。

------------------------------
$ cc --version
egcs-2.91.66
------------------------------

では、C9X の #define の可変長引数がサポートされていないためです。

OS は Vine Linux 2.1 です。

# Vine Linux の version を上げる予定のまま...

で、

------------------------------
#if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
------------------------------

となっている場合 GCC ではすべて OK になってしまうので、GCC の 
VERSION 指定を入れたほうがいいように思います。

でで、GCC のいつのバージョンからサポートなのか確認がとれなかったの
ですいません。多くのプラットフォームでコンパイルできるように対応お
願いします。