block_given?

ジャングル ブロック ナイ アルノハ jump ダケ。CC-BY-SA 3.0

MRIを読む (2) 環境構築: Rubyをビルドする

Rubyを読むためには、実際にRubyを動かして試せた方が便利です。 また、ソースコードに手を加えたり、デバッガで止めるのをCの世界(Rubyより下の世界)でやるために、Rubyを自分でビルド出来た方が捗ります。

ソースコードを入手

Rubyは更新が早いです。trunkを追いかけたい場合もあるので、常に最新のソースコードを入手したいです。

リポジトリガイドによると、svnで開発されていますが、Gitを使っている人はGitHubruby/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

動いている。

基本的なビルドの仕方を学んだので次はデバッグ方法を調べる。