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. sql語句 - 如何在mysql中批量添加用戶?2. php - 數據庫表如果是null怎么替換為其他字段的值3. SQLAlchemy 訪問Mysql數據庫彈出Warning,VARIABLE_VALUE,如何解決?4. mysql建表報錯,查手冊看不懂,求解?5. mysql - JAVA怎么實現一個DAO同時實現查詢兩個實體類的結果集6. shell - Update query wrong in MySQL7. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。8. mysql - 數據庫建字段,默認值空和empty string有什么區別 1109. mysql - SQL語句可以提供“查詢表,并至第100條結果為止”嗎?10. javascript - mysql插入數據時怎樣避免與庫中的數據重復?
