ruby のupdateをしたらvimが動かなくなった

brewのrubyのバージョンを上げた。何も考えずにコメントに出てきた通りに何かしてしまった。 でvim開いたら下な感じ。

1
2
3
4
5
$ vim
dyld: Library not loaded: /usr/local/lib/libruby.2.0.0.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
Trace/BPT trap: 5
1
2
3
4
5
6
7
$ uname -a
Darwin air-trout.local 13.2.0 Darwin Kernel Version 13.2.0: Thu Apr 17 23:03:13 PDT 2014; root:xnu-2422.100.13~1/RELEASE_X86_64 x86_64
$ sw_vers
[No write since last change]
ProductName:    Mac OS X
ProductVersion: 10.9.3
BuildVersion:   13D65

メッセージ的に/usr/local/lib//libruby.2.0.0.dylibが無いだけ。 似たファイル見つけた結果brewにあるけどリンクが消えているだけと判断した。 バージョン変えてリンク切れってだけなので作り解決した。

1
2
3
4
$ ls -la /usr/local/lib/libruby.2.1.0.dylib
lrwxr-xr-x  1 masumi  admin  46 Jun 22 00:42 /usr/local/lib/libruby.2.1.0.dylib -> ../Cellar/ruby/2.1.2_1/lib/libruby.2.1.0.dylib
$ ln -s /usr/local/Cellar/ruby/2.0.0-p0/lib/*.dylib /usr/local/lib/
ln: /usr/local/lib//libruby.dylib: File exists

ついでな話しだけれど何か動かなくてリンクが駄目そうな時にOSXでは以下のコマンドが使える。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ otool -L `which vim`
/usr/local/bin/vim:
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
        /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
        /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
        /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 20.0.0)
        /usr/local/lib/libruby.2.0.0.dylib (compatibility version 2.0.0, current version 2.0.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.14.0)
        /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 59.0.0)
        /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1265.19.0)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.13.0)

lddな感じで、ときどき頼る。ottolはオプションでシンボリックテーブル見たりテキスト領域読めたりとバイナリ解析でお世話になるであろうツールです。

comments powered by Disqus