外で開発する場合に、マウスがないと不便なので、 vimouseをMacに移植するためにMacRubyをインストールしてみる事にしました。 最初はインストーラを以下のサイトから落としてきて普通にインストールしました。
インストール自体は非常に簡単に終了したのですが、 macirbを実行しようとすると以下のようなエラーが出て、 入力をいっさい受け付けなくなるという悲しい状況に。
1 % macirb 2 dyld: lazy symbol binding failed: Symbol not found: _rb_enc_find_index 3 Referenced from: /Library/F rameworks/ MacRuby.fr amework/Ve rsions/0.3 /usr/lib/r uby/1.9.0/ universal- darwin9.0/ nkf.bundle 4 Expected in: flat namespace 5 6 dyld: Symbol not found: _rb_enc_fi nd_index 7 Referenced from: /Library/F rameworks/ MacRuby.fr amework/Ve rsions/0.3 /usr/lib/r uby/1.9.0/ universal- darwin9.0/ nkf.bundle 8 Expected in: flat namespace
どうやら今のバージョン(0.3.1)のMacRubyには、 NKFに問題があって、日本語環境でmacirbを実行しようとすると問題があるようでした。
という事で、最新版なら直ってるかもしれないという望みにかけて、 trunkから切り出してきたMacRubyも試してみました。
1 % git svn clone http://svn.macosforg e.org/repo sitory/rub y/MacRuby -T trunk 2 % cd MacRuby 3 % rake 4 % sudo rake install 5 % macruby -v 6 MacRuby version 0.4 (ruby 1.9.0 2008-06-03 ) [universal- darwin9.0]
しかし残念ながら、上記の問題はまだ直っていないようです。
posted by
genki
on Mon 22 Sep 2008
at 15:18
with
3 comments
LANG=C macirb ではいかが?
LANGを指定すればOkですね。しかし気になる。 どうやら encoding.c の中に rb_enc_find_index の定義が無いのが原因のような気がしますね。
rb_enc_find_indexに加えて、rb_enc_*系の関数で存在してないものがいくつかある感じですね。 Ticketを見ると、MacRuby-0.4のリリース時には用意される予定なのかも。
とりあえずはLANG=Cで対処したら良いですね。