linux - Ubuntu下編譯Vim8(+python)無數次編譯失敗
問題描述
因為想用YouCompleteMe,又希望vim帶python2,所以ubuntu軟件庫里的默認的vim就不合適了,就找到了github上的vim源文件下載了下來,按照YouCompleteMe里的一片文章來編譯,不知道是不是欺負我不懂Makefile,總之就報些全(stackoverflow)世(baidu)界(bing)都說不對的錯誤;幾乎崩潰的我只想說:我就只是想用個喜歡的編輯器……
這是YouCompleteMe推薦我看的源碼編譯vim攻略
以上都只是前因,現在感覺已經不是這個問題了。我為了自己編譯安裝vim已經花了一天時間了,然而問題出在哪里都不知道。之前用
export CFLAGS='-pthread'
解決過下面這個問題
/usr/bin/ld: /usr/local/lib/libpython2.7.a(thread.o): undefined reference to symbol ’sem_post@@GLIBC_2.2.5’
這個時候我的./configure只設置了--enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config,之前成功安裝后發現沒有成功把python編譯進去,所以裝第二次,又出現這個問題的時候,之前那個辦法已經不管用了,也不知道是為啥;后來只把python3有關的選項去掉,其他的全都編譯進vim,又出現了如下問題:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libgio-2.0.so: undefined reference to symbol ’inflateInit2_’
stackoverflow、segmentfault和少部分csdn博客都翻過了,自己嘗試解決問題然而解決不了。這個問題怎么辦才好?增加gcc參數可以用export CFLAGS這種形式嗎?還是要改Makefile?我已經完全暈了因為根本就不知道這個問題到底是哪里出來的……
問題解答
回答1:我的編譯是成功的,我用的./configure 的命令行是
./configure --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7
然后用了 make 成功了,
中間提示,我沒有一個可以支持函數tgetenv這個函數,查找了是在libncurses5-dev
sudo apt-get install libncurses5-dev
這些就成功了。
從你的錯誤來看,你真正的原因是系統里沒有libz 的開發都包,建議你安裝 zlib1g-dev這個包。
還有提醒一下,你搜索了半天,沒有用google,這個才是正道。那兩個搜索引擎真的不行。我解決都是google,雖然被墻了,但找梯子是碼農的必要技能。
相關文章:
1. mysql - 這條聯合sql語句哪里錯了2. webpack - vuejs+java前后臺分離實現及部署問題3. docker容器呢SSH為什么連不通呢?4. docker鏡像push報錯5. 網站在移動的環境下手機,pc打不開6. javascript - 微信h5發送圖文信息,部分設備點擊“發送”按鈕時沒反應,問題較難重現,如何能找到可能存在問題的點?7. python - pip install出現下面圖中的報錯 什么原因?8. python - 用Mac自帶的Apache服務器開發CGI,在瀏覽器直接輸出純文本了?求解9. linux pdo 安裝配置中 make 遇到問題,請大家指教!10. python - 這句是什么錯誤?
