RubyInstallerのRuby DevKitを使ってRuby2.1.0をコンパイルする方法
DevKitはRubyのコンパイルにも使えます! DevKitの64-32版を使うのがベストです。
Ruby DevKit(32bit版)を使う方法
・環境: Windows7 32bit または 64bit
・RubyInstallerが配布しているDevKitはMingw/MSYSそのものです。
・まずはDevKit-tdm-32-4.5.2-20111229-1559-sfx.exe 使います。
・32bit版はTDM版のMinGWを使っている模様です。コンパイラはmingw32のgcc version 4.5.2 (tdm-1)です。ちょっと古いですね。
・c:\DevKit\msys.batのリンクを作り、プロパティのリンク先に -mintty を追加します。ついでに名前とアイコンも変えておきましょう。
c:\DevKit\msys.bat -mintty
・fstabファイルとかいじる必要はありません。
・入手してある拡張ライブラリのbin\,lib\,include\フォルダをc:\DevKit\mingw\にコピーします。
・minttyが起動したら透過率、文字サイズ、ウインドウサイズを変更しておきましょう。
・Ruby2.1.0のソースをc:\DevKit\home\ユーザー名 の下にコピーします。
・後の手順は前の日記のMinGW/MSYSと同じでOKです。もしかしたらbuildとかhostの指定は不要かもしれませんが、試していません。
・TDM版のMinGWによるビルドは外部のdllを要求しません。
・このビルドはUTF-8の日本語の扱いに問題があります!
・DevKitにパスを設定して、Railsのインストールまで問題なく行えます。
set Path=%Path%;C:\DevKit\mingw\bin;C:\DevKit\bin
・パスの順番は重要です。DevKitにもいろいろ入っているので配慮が必要です! 間違えるとRubyの気が狂う可能性があります。
Ruby DevKit(64→32bit版)を使う方法
・環境: WIndows7 32bit
・64bit環境ではopensslがうまく機能しません。また、VM上の32bit環境でもopensslに問題が残ります。
・今度はDevKit-mingw64-32-4.7.2-20130224-1151-sfx.exeを使います。
・このコンパイラはi686-w64-mingw32でgcc version 4.7.2 (rubenvb-4.7.2-release)となっています。
・特にコンパイルオプションを気にしなくても32bitバイナリにコンパイルしてくれます!
・拡張用ライブラリはRubyのソースディレクトリ下に入れます。あとでlibとbinの環境変数の設定をします。
・旧版のopensslはインストールしてくれません!
・OpennSSLから最新版を持ってきて、DevKitでコンパイルしたものを使います。
cd openssl configure mingw64 no-asm shared --prefix=/home/openssl make depend make make install
・あとは以下の手順でコンパイルできます。
PATH=/c/Ruby200/bin:$PATH export LIBRARY_PATH BINARY_PATH LIBRARY_PATH=/home/ユーザ名/ruby210c/lib BINARY_PATH=/home/ユーザ名/ruby210c/bin cd ruby210c configure --enable-shared --prefix=/Ruby210d6432 --disable-install-rdoc --build=x86_64-w64-mingw32 --host=i686-w64-mingw32 make make install
・最初に環境変数の設定をしています。
・configureではRdocをインストールしないように指示しています。
・このビルドは外部のdllを要求しません。
・このビルドはUTF-8の日本語表示が正常です!
・この方法が最も簡単に正常なRubyをコンパイルする方法だと思います。