OS X LionでLLVMではなくGCCを使ってRubyをビルドする

いい加減RVMの行儀の悪さにうんざりしてきて、rbenv + ruby-buildに移行しようと思い立ったものの、cassandra_object.gem 0.6.0 preの組み合わせでCassandraObject::Persistence.multi_getを叩くと落ちる (bundle exec rails cがzsh.c: abortとか言う) のでけっきょくRVMのままでいた。

今日になってふと「RVMでビルドしたRuby」と「ruby-buildでビルドしたRuby」のビルドオプションなどをrbconfigを使って調べてみようと思い立った。もちろんビルド時のログ出力は既に調べていたけど、なにか発見があるかもしれないとおもってdiffをとってみた。

するとRVMでは環境変数 CC/usr/bin/gcc-4.2 を指定していた。これか!!! とおもってruby-buildで CONFIGURE_OPTS--with-gcc=/usr/bin/gcc-4.2 を指定してビルドしたらなにごともなく動いた。

というわけで configure スクリプトを走らせるときに --with-gcc=/usr/bin/gcc-4.2 するか環境変数 CC をいじってビルドすれば問題なさげ。