monthly gimite

試験運用中。

Ruby 1.8.4 on MacOS Xで'undefined method for Fixnum'

Mac上のRuby 1.8.4でsqlite3-rubyを使っていて、

undefined method `[]=' for 46070335:Fixnum

みたいなエラーが頻発する症状が発生。「どう考えてもオブジェクトが入ってるはずの変数に何故かFixnumが入ってる」のが原因っぽいんですが、エラー箇所より後の(実行されてないはずの)コードをちょっといじると起きなくなったりして、かなり謎です。とりあえず関係ありそうな記事をメモ。

1番目の記事には「gcc 3.3でRubyをビルドしたら直った」とか「gccのオプションを-O0にしたら直った」とか言う情報があるんですが、どっちをやっても(エラーになるタイミングは変わるものの)相変わらずでした。

ちなみに

追記: 後日一応解決