こんにちは。須貝ともうします。

ruby 1.2.5 を Debian GNU/Linux 上で自分でコンパイルしようと
したのですが、エラーがでて、そのままではコンパイルできませんでした。

そのエラーというのは、たとえば、
dln.c:t9: macro `strdup' used without args
というもので、strdup() の宣言? をしている部分ででているようでした。

とりあえず自分の環境で、strdup() が使えるのを確認して、
エラーがでる行を全てコメントアウトしました。
それから make すると、うまくコンパイルできて、
make test も通りました。

でも、こうゆう報告はほかにないみたいなので、
たいていは、こんなエラーは出ずにコンパイルできているように
思うのですが、どうなのでしょうか。

環境は、

Debian GNU/Linux 2.2 potato
kernel 2.2.1
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release)

ライブラリのバージョンは
 libc-2.1.1.so
 libc.so.6 -> libc-2.1.1.so
あたりから、2.1.1 でしょうか。

環境が特殊なのかもしれませんが、これはどうすべきものなのでしょうか。

いちおう、エラーの部分だけ、抜き出しておきます。
dln.c:t9: macro `strdup' used without args
io.c:1317: macro `strdup' used without args
parse.y:1592: macro `strdup' used without args
parse.y:2194: macro `strdup' used without args
ruby.c:60: macro `strdup' used without args
socket.c:65: macro `strdup' used without args

あと、下のようなエラーも出たので、ndbm.h を
db1/ndbm.h にしてしのぎました。
dbm.c:15: ndbm.h: No such file or directory

--
須貝 典彦
sugai / be.mbn.or.jp