わたなべさん情報ありがとうございます。 おかげさまで Make は無事通るようになりました。 ところが make test で以下のようなエラーが発生してまともに 動作しません。 環境は NT4+SP5, VC++5 or cygwin1.dll B20.1+gcc egcs-2.91.57 です。 もし助言があればよろしくお願いします。 エラーは cygwin では make 後の、make test から、 win32 では nmake 後2回は正常でその後の実行から発生します。 ruby.exe -e 'p "hello!"' のような簡単なプログラムでは起きませんが、make test の実行 や、Ctrl+C による中断で発生します。 エラー内容はメモリアクセス違反で 「"0x6105afaa" の命令が "0x0a031004" のメモリを参照しました。…」 のメッセージ後、DevStudio でデバグに入ると 「ハンドルされていない例外は ruby.exe (CYGWIN1.DLL) にあります:…」 と出ます。 この時のスタックコールは下の通りです。 CYGWIN1! 6105afaa() (省略) CYGWIN1! 6100b36b() RUBYCW! 6d107923() (省略) RUBYCW! 6d0cc201() RUBY! 00401061() CYGWIN1! 61004402() CYGWIN1! 61004420() RUBY! 004011a2() RUBY! 0040103a() KERNEL32! 77eebd15() make test 実行でエラーが発生した後で、プロンプトを Ctrl+C で停止 させると以下のメッセージが表示されます。 /ruby/ruby-1.4.0/sample/test.rb:764: Interrupt (RuntimeError) from /ruby/ruby-1.4.0/sample/test.rb:764:in `call' from /ruby/ruby-1.4.0/sample/test.rb:892:in ``' from /ruby/ruby-1.4.0/sample/test.rb:892 ./rubytest.rb:26:in ``': Interrupt from ./rubytest.rb:26 make: *** [test] Error 1 ここまで書いて気が付きましたが、win32 版で cygwin1.dll にアクセス しているのは変ですね。私の環境に問題があるのでしょうか。 とにかく週末に家で勉強後もう一度トライしてみます。 At 00:14 99/8/20 +0900, WATANABE Hirofumi wrote: > わたなべです. > > Hoshino Hitoshi <zin / ffm.canon.co.jp> writes: > > :手順として > : c:/ruby/ruby-1.4.0> sh configure > :は問題なさそうですが、 > > いや実は問題ありです. > > この場合は拡張ライブラリは静的にしかリンクできません. > ext/Setup を編集して静的にリンクしたいライブラリを選びます. > > 拡張ライブラリを DLL にするには ruby 自体も DLL 化し ruby が > 提供している機能を export しないと拡張ライブラリが作れません. > つまり ./configure --enable-shared する必要があります. > > すべて --enable-shared として扱ったほうがいい気もするなあ. > > -- > わたなべひろふみ --------- Zin