MRIを読む (2) 環境構築: Rubyをビルドする
Rubyを読むためには、実際にRubyを動かして試せた方が便利です。 また、ソースコードに手を加えたり、デバッガで止めるのをCの世界(Rubyより下の世界)でやるために、Rubyを自分でビルド出来た方が捗ります。
ソースコードを入手
Rubyは更新が早いです。trunkを追いかけたい場合もあるので、常に最新のソースコードを入手したいです。
リポジトリガイドによると、svnで開発されていますが、Gitを使っている人はGitHubのruby/rubyから入手することも可能なようです。
Ubuntu TrustyにはデフォルトでGitは入っていません。
$ git The program 'git' is currently not installed. To run 'git' please ask your administrator to install the package 'git'
provisioningのシェルスクリプトに以下を追記します。(sudo
つけて手動実行でも可)
apt-get update apt-get install -y git
ビルドに必要なライブラリを整える
ruby-buildのSuggested build environmentに記載されているものを一通り入れます。
apt-get install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev
ビルドする
rubyビルドガイドを参考にする
まずはvagrantでたてたマシンに接続
$ vagrant ssh
自分でビルドしたrubyは、$HOME/rubies
以下にインストールしようと思う。
$ mkdir rubies
Rubyのディレクトリへ移動
$ cd ruby
この記事を執筆時点で最新のRubyをビルドするためv2_1_4をcheckoutする
$ git checkout v2_1_4
cloneしてきたばかりだとconfigure
がないので、autoconf
でconfigureを作成する。
$ autoconf
configureを実行する際に、prefixを指定し、/home/vagrant/rubies
以下にインストールするするようにする。また、ruby-2.1.4
のような実行ファイルを作るためprogram-suffixオプションも指定する。
$ ./configure --prefix=/home/vagrant/rubies --program-suffix=-2.1.4
つくるぞ。
$ make
チェックしとく
$ make check
通ったら
make install
とりあえずRubyがビルドできた。
確認してみよう
$ cd $ rubies/bin/ruby-2.1.4 -e 'puts RUBY_VERSION' 2.1.4
動いている。
基本的なビルドの仕方を学んだので次はデバッグ方法を調べる。