やつです. In message "[ruby-list:18494] `make test' failure on Cygwin build w/ --enable-shared" on 99/11/09, Mimpei MORISHITA <mimpei / cac.co.jp> writes: | で、付属の CD-ROM の ruby-1.4.2.tar.gz をソースから make しよ |うとしているのですが、どうもうまくいかないところがあるので、どな |たかご教授いただければ幸いです。m(__;)m 1.4.2をcygwinでsourceからcompileしたことないのですが, | 環境は以下の通りです。 |・OS: Windows NT 4.0 Workstation SP5 |・Cygwin: Cygwin B20.1、というかたぶん B20.1 だと思います。(^^; | 正確なバージョンチェックの仕方を知らないのですが、cygcheck -v -r -s | すると、HKEY_LOCAL_MACHINE\Software\Cygnus Solution\Cygwin B20\B20.1 | というキーがあること、cygwin1.dll の日付が 1998/12/04 になって このcygwin1.dllって,古いですね. とりあえず,cygwin1-19990115.dll.gzってのがあるので, こいつにしといたほうが(rubyだけに限らず)いいです. # 詳しいことはcygwin関係のWebPageなんかを見てください. |では Ruby 本の CD-ROM に入っていた rbcw142.zip はどうなん |だろうと思い、こちらは展開しただけの状態で、展開したディレクトリ |に CD-ROM 内に入っていた cygwin1.dll を置き、 | |$ ./ruby.exe rubytest.rb | | とすると、 | |タイトル: ruby.exe アプリケーションエラー |内容: "0x610199f8" の命令が "0x000001c4" のメモリを参照しました。 | メモリが "read" になることはできませんでした。 |というメッセージボックスが出てきます(先ほどとアドレスは違います |が)。ここで「キャンセル」ボタンを押して VC++ 6.0 を立ち上げると、 |「ハンドルされていない例外は ruby.exe(CYGWIN1.DLL)にあります: |0xC0000005: Access Violation。」というメッセージボックスが出ます。 |同様にコールスタックを見ると、 この時,参照されているcygwin1.dllはどれでしょう? rbcw142.zipなruby.exeは,cygwin1-19990115.dllでないと動かな い(と思う)ので,とりあえず $(PATH) を確認してはどうでしょう か. ちなみに,手元の WindowsNT 4.0 + SP5 Cygwin B20.1(cygwin1-19990115.dll.gzを利用) な環境で,rbcw142.zipのruby.exeはきちんと動いています. # というわけで,以前inetd経由でruby.exeを使うと,CPUパワー # を馬鹿喰いして動かないっす と騒いだのは, # cygwin1-19990115.dllより古いcygwin1.dllが参照されていたせ # いでした.ごめんなさい(_o_) # 現在はきちんとinetd経由で動いてますです. -- 谷津昌樹 yatsu / ele.kimmon.co.jp