繼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