読者です 読者をやめる 読者になる 読者になる

Snow Leopard + ruby で ruby-debugが使えない

ruby

ちょっとハマったのでメモ。
LeopardSnow Leopardにアップグレードしたmacbookを使ってたんだけど、rubyのdebugger(ruby-debug)が使えないことに気がつきました。
普通にrequire 'ruby-debug'すると

mach-o, but wrong architecture

とか表示されうまく動きません。
ちょうどここあたりで発生している現象と同じような感じ。

ruby gemsだけでなく他にもいろいろなシーンで上記のエラーが発生することがあるようです。
原因はruby-debug-baseインストール時に作成されたバイナリが64bitだったためのようです。
ruby gemでインストール時にARCHFLAGSで32bitを指定してみたり、gccとg++のシンボリック先をVer4.2から4.0に変更してみたりしたんだけど状況は変わらず。

結局
mach-o, but wrong architecture. を解決する
を参考にしてMacPortsから入れなおしました。

ruby -v

すると、darwin9からdarwin10にバージョンアップされてるみたい。

早速ruby-debugをインストールしてみましたが今度はOK!

MacPortsでインストールしていたImageMagickやらruby gemsでインストールしていたrailsやらを再インストールしなければならず、ちょっとめんどくさかったですがLeopardからSnow Leopardにアップグレードした人はMacPortsも入れ直した方がよさそうですよ。