MacVim, Command-T: SEGV

MacVim, Command-T: SEGV

세부:

  • OSX 10.7.4

Homebrew를 통해 최신 MacVim을 설치했습니다.

$ 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이 여기에서 열립니다. 하지만 Command-T를 열면 MacVim이 충돌하고 명령줄에 다음이 표시됩니다.

$  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.

내가 가진 문제는 다음과 매우 유사합니다.이것, Ruby 시스템으로 전환했지만 여전히 오류가 발생한다는 점을 제외하면.

답변1

설치/구성이 끝날 무렵 아키텍처 불일치로 인해 세 개의 개체 파일이 무시되는 것처럼 보입니다.

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

해당 파일이 이전에 있었거나 시스템에 의해 구축되지 않았지만 어떤 방식으로든 아카이브 번들에 의해 운반되었을 가능성이 있습니까?

아마도 개체 파일을 제거하고(make clean?) 다시 빌드하는 것이 도움이 될 수 있을까요?

그러나 게으른 링크 실패로 인해 시스템이 무언가를 찾을 수 없음을 알 수 있듯이 분명히 문제가 있습니다. 아마도 해당 개체 파일일 것입니다.

관련 정보