继this writeup ...试图在OS X上编译vim?
编译的二进制看起来做工精细,但安装的二进制失败(运行make install
时)。
这似乎是对这一步骤失败:
...
generating help tags
/usr/local/bin/vim -u NONE -esX -c "helptags ++t ." -c quit
dyld: Symbol not found: _environ
Referenced from: /Users/neezer/.rvm/rubies/ruby-1.9.2-p0/lib/libruby.1.9.1.dylib
Expected in: flat namespace
in /Users/neezer/.rvm/rubies/ruby-1.9.2-p0/lib/libruby.1.9.1.dylib
make[2]: *** [vimtags] Trace/BPT trap
make[1]: [installrtbase] Error 2 (ignored)
我用这个来配置:
./configure --prefix=/usr/local --enable-rubyinterp --enable-gui=no --disable-gpm
就像我说的,我认为它正确编译,因为我可以make
后运行./src/vim
很好(没有错误)。但是,当我尝试在/usr/local/bin/vim
make install
后运行安装的版本,我得到这个(上述镜):
dyld: Symbol not found: _environ
Referenced from: /Users/neezer/.rvm/rubies/ruby-1.9.2-p0/lib/libruby.1.9.1.dylib
Expected in: flat namespace
in /Users/neezer/.rvm/rubies/ruby-1.9.2-p0/lib/libruby.1.9.1.dylib
[1] 13175 trace trap vim
运行which vim
验证它试图加载新的二进制在/usr/local/bin/vim
。
我目前的Ruby版本是ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]
,通过RVM。
这里发生了什么?
和NO:我不想只是使用的MacVim,而不是...
啊,好的。在编译或版本检查过程中,我没有遇到过这个错误,但是尝试在新编译的二进制文件中运行Command-T时抛出了它。由于“二进制发布没有任何错误”,我已经开始以“我自己的迷人的欣喜”而不是认为这适用于我,但运行Command-T证明这是一个过早的庆祝。采取这些额外步骤解决了这个问题。稍微不太清楚的博客文章...将写给作者。谢谢。 – neezer 2011-05-24 18:05:57
谢谢。同样的问题 - 尽管感谢RVM,我能够简单地切换到1.8.7安装的红宝石,一切都很好。 – 2011-07-04 16:46:10
我没有开关与$ rvm使用1.8.7,仍然得到这个:$ ruby -v ruby 1.8.7(2011-06-30 patchlevel 352)[i686-darwin10.8.0] Coltrane:ggspree joe $ brew install https ://raw.github.com/adamv/homebrew-alt/master/duplicates/vim.rb $ which ruby /Users/joe/.rvm/rubies/ruby-1.8.7-p352/bin/ruby Coltrane: ggspree joe $ vim --version | grep的红宝石 使dyld:找不到符号:_environ 从引用:/Users/joe/.rvm/rubies/ruby-1.9.2-p290/lib/libruby.1.9.1.dylib 预期:平面命名空间 在/用户/ joe/.rvm/rubies/ruby-1.9.2-p290/lib/libruby.1.9.1.dylib ---不知道该怎么办? – 2011-11-09 15:44:16