:ruby puts RUBY_VERSIONするとSEGVでVimが落ちてしまう現象が発生。
Mac標準の /usr/bin/vim だと落ちないのでどうやら自分でビルドしたのが問題みたい。
原因がbrewなのかrbenvなのかruby-buildなのかrubyなのかVimなのか分からなかったけれど一応解決したので。
環境
- OS X Mountain Lion
- XCode 4.6.2
- Homebrew 0.9.4
- gcc 4.7.2
- rbenv 0.4.0
- ruby-build 20130208
- Vim 7.3.822
- ruby 1.9.3-p385
こちら の記事を見ると、どうやら ruby のdylibが無いのが問題の様子。
rbenv global の ruby を見ると確かに無い 。
$ ls ~/.rbenv/versions/1.9.3-p374/lib/
libruby-static.a
libyaml-0.2.dylib
libyaml.a
libyaml.dylib
libyaml.la
pkgconfig
ruby
ruby をビルドする時に オプションを指定 すると良いらしく、渡し方は こうらしい 。
今回は --enable-shared のみを有効化してみる。
なので
$ env CONFIGURE_OPTS="--enable-shared" rbenv install 1.9.3-p385したけれどmakeに失敗。どうやら cc が問題らしい。
XCode 4.6 の Command Line Tools の gcc 4.2.1 じゃ make できない様子。
brew を使って gcc 4.7.2 を gcc-4.7 という名前で入れていたのでそっちを使ってみる。
Web 見てると env があるのと無いのがあるので消している方でも試す。
$ CC="gcc-4.7" CONFIGURE_OPTS="--enable-shared" rbenv install 1.9.3-p385これだと通った。
ライブラリを見るとちゃんとdylibがある。
$ ls ~/.rbenv/versions/1.9.3-p385/lib/そっちを使うようにしてから
libruby.1.9.1-static.a
libruby.1.9.1.dylib
libruby.1.9.dylib
libruby.dylib
libyaml-0.2.dylib
libyaml.a
libyaml.dylib
libyaml.la
pkgconfig
ruby
$ rbenv global 1.9.3-p385最新のVimをbrewでビルド。ちゃんと通った。
$ brew install --HEAD vimそして確認
:ruby puts RUBY_VERSION動いてる。やたー。
#=> 1.9.3
今のところオムニ補完とかで文句も出ていない。
CONFIGURE_OPTS を自分で指定した ruby は始めて使うけれど、大丈夫かなー。
Vim の rubyinterp が 1.9系に対応してるのかとかも気になるけれど、とりあえずビルドできたのでこれで良いかな、とか。
ちなみに最初のlsが 1.9.3-p374 なのは p385 のlsを取る前にp385を消してしまって、ブログのログ用にp374で代替したからだったり。
一応p385の時点でもdylibは無かったです。
0 件のコメント:
コメントを投稿