搜尋

首頁  >  問答  >  主體

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?我已经完全晕了因为根本就不知道这个问题到底是哪里出来的……

ringa_leeringa_lee2778 天前739

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-18 10:25:01

    我的編譯是成功的,我用的./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,雖然被牆了,但找梯子是碼農的必要技能。

    回覆
    0
  • 取消回覆