星野と申します。

Ruby の 1.4.0 を cygwin 上でコンパイルしたいのですが、
なかなかコンパイルできません。

どなたかヒントなどいただけないでしょうか。


手順として
  c:/ruby/ruby-1.4.0> sh configure
は問題なさそうですが、
  c:/ruby/ruby-1.4.0> make
はエラーで通りません。

どうやら etc.dll の作成でこけているようで、
  c:/ruby/ruby-1.4.0/ext/etc> make
を試してみると、上記と同じエラーがでます。

  
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/README.dllhelpers-0.2.5.txt
などを参考にして、
  c:/ruby/ruby-1.4.0/ext/etc> dllwrap -s -o etc.dll --def ruby.def etc.o
などと試したりもしましたが、やはり同じエラーになります。

なにぶん知識が乏しいので、環境変数など環境設定の問題な
のか conigure に失敗して Makefile がおかしいのか、ソー
スをいじる必要があるのか全く判断できません。

以下はエラー出力の内容です。

gcc -I/ruby/ruby-1.4.0 -I/ruby/ruby-1.4.0 -g -O2  -I/usr/local/include 
-DHAVE_GETLOGIN -DHAVE_GETPWENT -DHAVE_GETGRENT -DPW_GECOS -DPW_COMMENT   
-c etc.c -o etc.o
dllwrap --export-all -s  -L/ruby/ruby-1.4.0  -o etc.dll etc.o  
Warning: no export definition file provided
dllwrap will create one, but may not be what you want
etc.o: In function `etc_getlogin':
/ruby/ruby-1.4.0/ext/etc/etc.c:40: undefined reference to `rb_tainted_str_new2'
etc.o: In function `setup_passwd':
/ruby/ruby-1.4.0/ext/etc/etc.c:49: undefined reference to `rb_sys_fail'
/ruby/ruby-1.4.0/ext/etc/etc.c:50: undefined reference to `rb_tainted_str_new2'
/ruby/ruby-1.4.0/ext/etc/etc.c:50: undefined reference to `rb_tainted_str_new2'
/ruby/ruby-1.4.0/ext/etc/etc.c:50: undefined reference to `rb_tainted_str_new2'
/ruby/ruby-1.4.0/ext/etc/etc.c:50: undefined reference to `rb_tainted_str_new2'
/ruby/ruby-1.4.0/ext/etc/etc.c:50: undefined reference to `rb_tainted_str_new2'
(中略)
collect2: ld returned 1 exit status
dllwrap: gcc exited with status 1
make: *** [etc.dll] Error 1

---------
Zin