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. python - 請問這兩個地方是為什么呢?2. sql語句 - 如何在mysql中批量添加用戶?3. javascript - 按鈕鏈接到另一個網址 怎么通過百度統計計算按鈕的點擊數量4. mysql - 數據庫建字段,默認值空和empty string有什么區別 1105. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。6. 事務 - mysql共享鎖lock in share mode的實際使用場景7. mysql 非主鍵做范圍查找實現原理的一點困惑8. java - jdbc如何返回自動定義的bean9. mysql - JAVA怎么實現一個DAO同時實現查詢兩個實體類的結果集10. mysql 可以從 TCP 連接但是不能從 socket 鏈接
