Rubyことはじめ(苦闘編) - 1.4.4をコンパイルした。という話 - at 2000.6 環境:Windows 95 OSR2 1.Ruby本家サイト(http://www.ruby-lang.org/ja/)から1.4.4を落とす  …対象OSに付いてサイトには何も書いてない。しかも*.tar.gzしかないみたい。  これってUNIX Onlyってこと?(とっても不安)  @補足:実際はマルチプラットフォームのソースでした。さらにバイナリは   http://www.ruby-lang.org/en/download.html   ftp://ftp.iij.ad.jp/pub/lang/ruby/pc/rbdj144.zip  とかにあるとのこと。しかし、これ書いた当時は知らなかったの(;_;)。  探したけど見付からなかったんだい。 2.展開  DOS/Winな一般人は先ず展開できないはず。tarとかgzipが実行パスにある人って、  ほとんどいないと思うから。  で、私の誤解でなければWin32環境では、cygwinか、VC++が必要らしい。lccとかBCC、  mingw32ではだめ。まぁ、個人でその全てをカバーせよ。などとは言わないけど。  @補足:mingw32でコンパイルできる版もあるらしい  しょうがないので、VC++を入れる。しかし、普通の人はVC++がコマンドラインで  実行できるようなインストールはしないぞ。とか思ったりもする。  (デフォルトで入れると、くそ深いフォルダを作るでしょ?「環境変数が足りません」   攻撃を受けると思うのだが……。受けない?私はC:\VSの下に入れたから良く   分かりませんが)  #実はWin98をWin95に戻したので、gccとかはなくなっていたのである 3.VC++ 6.0 SP3でnmake ・configure.batを実行。直後にnmakeとやると、「'{'って何?」とか文句を   言われるんで、win32の下のntsetup.batを野生の勘で実行。で、nmake。   #あのぉ。バッチファイルの中でsedとかcutとかをいきなり実行って、    どーゆーこと?    わたしゃ、sedはもってたけど、cutは知らなかったので、Linuxマシンで    思わずman cutしてからバッチを変更しましたが……(cutって、cygwinにも    入っていないんだよなぁ)    ちなみに1.4.4をばらして1と4と4にする。というのがcutの目的。   @補足:どうやら最初にconfigure.batしたのが間違いだったみたい(未確認) ・一杯ワーニングが出る(戻り値が必要。とか、コントロールパスがどーたら。  とか、型が違う。といったもの。とっても不安[;_;]) ・miniruby.exeがない。とか言ってnmakeがこける(Stop)  どっかから拾ってきた(きていた)古いruby.exeをリネームしてminiruby.exeに  する。  #ここを乗り切ると、確かにminiruby.exeというのが新規に作成されるみたい   が、作るより前にminiruby.exeがないとだめって、そんな因果律を無視した   makefileはうちでは実行できまっせん!  @補足:聞くところによれば、単に当方のrmがタコなだけだそうな。   cygwinを入れてからやればOKだったのかも ・rmがファイルがない。とか言ってこける。けど、再度nmakeすると先に進む  (何故にrm?まぁ、うちの環境では幸いにあるけど) ・conftest*というファイルかフォルダがない。と一杯怒られる(;_;) ・rubymw.dllがない。でnmakeが止まる(;_;)  (正確にはextmk.rbの実行中にこけている) ・こけたのはrmなので、適当にrubymw.dllを作成(って、copy conして中身なしの  ファイルを作っただけ)してから再度nmakeしてみる  #rmってことは単に消せれば良いので、何でも良いはず ・…処理は先に進んだけど、何か前と同じことをしているような? ・mvが見付からない。だと。(;_;)。。。またしてもStop。 ・ほとんど「馬鹿ヤロー!」の思いを抱きつつ、cygwin B20のfull.exeを  豪快に展開。そこからmv.exeをカレントディレクトリに移動。nmakeする ・で、ようやくruby.exeが完成  G:\ARCHIVES\Ruby\Tmp\ruby-1.4.4> ruby --version  ruby 1.4.4 (2000-04-14) [i386-mswin32] @これより後のバージョン(開発版)だとこんなに苦労しなくてもコンパイル  できるらしい  …ということでバイナリは完成(したと思う)。だけどここまでで疲れ果てた  ので、全然使ってないとゆー。。。(爆) (EOF)