From: WATANABE Tetsuya Date: 2003-07-24T14:13:23+09:00 Subject: [ruby-dev:20861] ext/openssl ゆうぞうさんへ 渡辺哲也です。 ほんとは 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 のいつのバージョンからサポートなのか確認がとれなかったの ですいません。多くのプラットフォームでコンパイルできるように対応お 願いします。