MacVim, Befehl-T: SEGV

MacVim, Befehl-T: SEGV

Einzelheiten:

  • OSX 10.7.4

Ich habe das neueste MacVim über Homebrew installiert:

$ command-t  brew install macvim
==> Downloading https://github.com/b4winckler/macvim/tarball/snapshot-64
Already downloaded: /Library/Caches/Homebrew/macvim-7.3-64.tgz
==> ./configure --with-features=huge --with-tlib=ncurses --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-t
==> make getenvy
==> make
==> Caveats
MacVim.app installed to:
  /usr/local/Cellar/macvim/7.3-64

To link the application to a normal Mac OS X location:
    brew linkapps
or:
    ln -s /usr/local/Cellar/macvim/7.3-64/MacVim.app /Applications
==> Summary
/usr/local/Cellar/macvim/7.3-64: 1733 files, 27M, built in 53 seconds
$  command-t  brew linkapps
Linking /usr/local/Cellar/macvim/7.3-64/MacVim.app
Finished linking. Find the links under ~/Applications.
$  command-t  ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]
$  command-t  rvm list

rvm rubies

   ree-1.8.7-2012.02 [ i686 ]
   ruby-1.8.7-p358 [ i686 ]
   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.2-p320 [ x86_64 ]
   ruby-1.9.3-p194 [ x86_64 ]

# Default ruby not set. Try 'rvm alias create default <ruby>'.

# => - current
# =* - current && default
#  * - default

$  command-t  cd ~/.vim/bundle/vim-command-t/ruby/command-t
ruby extconf.rb
$  command-t  ruby extconf.rb
checking for ruby.h... yes
creating Makefile
$  command-t  make
cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup -o ext.bundle ext.o match.o matcher.o -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L. -arch i386 -arch x86_64     -lruby  -lpthread -ldl -lobjc
ld: warning: ignoring file ext.o, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: ignoring file match.o, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: ignoring file matcher.o, file was built for unsupported file format which is not the architecture being linked (i386)
$  command-t  mvim

MacVim öffnet sich dann hier. Aber wenn ich Command-T öffne, stürzt MacVim ab und ich sehe dies in der Befehlszeile:

$  command-t  dyld: lazy symbol binding failed: Symbol not found: _rb_intern2
  Referenced from: /Users/ramon/.vim/bundle/vim-command-t/ruby/command-t/ext.bundle
  Expected in: flat namespace

dyld: Symbol not found: _rb_intern2
  Referenced from: /Users/ramon/.vim/bundle/vim-command-t/ruby/command-t/ext.bundle
  Expected in: flat namespace

Vim: Caught deadly signal TRAP
Vim: Finished.

Das Problem, das ich habe, ist sehr ähnlichDas, außer dass ich zum System Ruby gewechselt bin und immer noch der Fehler aufgetreten ist.

Antwort1

Gegen Ende Ihrer Installation/Konfiguration scheinen drei Objektdateien aufgrund einer Architekturfehlanpassung ignoriert zu werden.

cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup -o ext.bundle ext.o match.o matcher.o -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L. -arch i386 -arch x86_64     -lruby  -lpthread -ldl -lobjc
ld: warning: ignoring file ext.o, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: ignoring file match.o, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: ignoring file matcher.o, file was built for unsupported file

Ist es möglich, dass diese Dateien vorher schon da waren und vielleicht nicht von Ihrem System erstellt, sondern irgendwie vom Archivpaket mitgeführt wurden?

Vielleicht hilft ein Entfernen der Objektdateien (Make Clean?) und ein Neuaufbau?

Aber auf jeden Fall etwas, da Ihr Lazy-Link-Fehler zeigt, dass Ihr System etwas nicht finden kann ... vielleicht sind es diese Objektdateien.

verwandte Informationen