MinGWでRubyをビルドした時のメモ
Ruby 1.9を試してみようと思い立ち、ついでにRubyのビルドも試してみようとしたら結構時間がかかってしまったので、後々のために手順を書いておく。あちこちに現在のバージョンが入ったファイル名が出てくるが適当に読みかえてほしい。
ビルド環境の構築
まずはMinGWとMSYSをインストールする。
MinGW
MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.netから Automated MinGW Installer のMinGW-5.1.6.exeをダウンロードしてインストール。
MSYS
次に、MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.netから MSYS Base System のMSYS-1.0.11.exeをダウンロードしてインストール。
インストール後「Do you wish to continue with the post install?」と聞かれるので y と入力。「Do you have MinGW installed?」にも y と入力。その後「Where is your MinGW installation?」と聞かれるのでMinGWをインストールしたパスを入力。
さらに MSYS Supplementary Tools のmsysDTK-1.0.1.exeもインストールする。がRubyのビルドには不要かもしれない。
その後、MinGWとMSYSにパスを通す。
ライブラリ
これでとりあえずビルドが出来るようになったが、拡張ライブラリの一部がビルド出来ない。それを解決するためにライブラリを調達する。
Porting Libraries to Win32から下記のファイルをダウンロード。
- gdbm-1.8.3-1-mingw32.zip
- pdcurses-2.60-1-mingw32.zip
- readline-4.3-2-mingw32.zip
- zlib-1.1.4-1-mingw32.zip
IconvとOpenSSLについてはLibIconv for WindowsとOpenSSL for Windowsから Binaries と Developer files をダウンロード。
Tcl/Tkについては今回はビルドしない。
それぞれを展開してinclude, libをMinGWのディレクトリにコピー。bin/*.dllはパスの通った所へコピー。
Rubyのビルド
Ruby 1.8
いよいよRubyのビルドに入る。まずはRuby 1.8をビルドする。
ダウンロードからRuby 1.8のソースコードをダウンロードして、コマンドプロンプトでダウンロードしたディレクトリに移動後、tarで展開する。
$ tar xjf ruby-1.8.7-p249.tar.bz2
$ cd ruby-1.8.7-p249
次に./configureを実行する*2。--prefixにはインストール先のディレクトリを指定する。
$ sh ./configure --enable-shared --with-winsock2 --prefix=D:/ruby
そしてmake*3。
$ mingw32-make
$ mingw32-make test
あとはmingw32-make install-all
すればRubyのインストールが完了する。RDocをインストールしたくない場合はmingw32-make install-nodoc
。
参考にしたページ - お世話になりました
*1:私はg++ compilerも選択した。
*2:./configureのオプションの意味はrubyビルドガイドやプログラミング言語 Ruby リファレンスマニュアルを参照。
*3:MSYSのmakeではなくmingw32-makeを使っているのはMSYSのmakeでRubyのビルドが失敗したことがあるから。MSYSのmakeでも大丈夫かもしれない。追記: MSYSのmakeでも大丈夫です。