linux - Ubuntu下编译Vim8(+python)无数次编译失败

 铁打的岳小野 发布于 2022-10-25 10:19

因为想用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,虽然被墙了,但找梯子是码农的必要技能。

    2022-10-26 23:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有