目前,我正在尝试将 YouCompleteMe 扩展安装到我的 vim 设置中,但它要求我的 vim 版本为 7.3.584 或更高。我的 Ubuntu 12.10 附带的 vim 是 7.3.547,因此我不得不按照以下方法从源代码重新编译 vim本指令。
按照说明,我执行了:
sudo apt-get 安装 libncurses5-dev libgnome2-dev libgnomeui-dev \ libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial
这应该会给我编译所需的所有软件包。然而,当我克隆 vim 源代码并即将开始调整编译配置时,我得到了
... 在 -lcurses 中检查 tgetent...是的 termcap 库不可用 未找到终端库 检查 tgetent()...配置:错误:未找到! 您需要安装一个终端库;例如 ncurses。 或者使用 --with-tlib 指定库的名称。
我做了一些研究,并普遍认为我应该指定 ncurses 作为我的终端库。但当我这样做时
./configure --with-tlib=ncurses
它回喊
... 检查 --with-tlib 参数... ncurses 检查与 ncurses 库的链接...确定 检查 tgetent()...configure:错误:未找到! 您需要安装一个终端库;例如 ncurses。 或者使用 --with-tlib 指定库的名称。
我不知道我是否遗漏了什么,或者是否有其他方法可以获取最新版本的 vim?非常感谢!
答案1
我一直在使用那家伙的 PPA使 Vim 在 Ubuntu 11.04 上保持最新。最新版本是 7.3.854,我相信它可以与 YouCompleteMe 兼容。
答案2
这是因为系统缺少ncurses库,可以通过安装libncurses5-dev解决。
sudo apt-get install libncurses5-dev
我通过这篇文章解决了这个问题。 在此处输入链接描述
答案3
我遇到了完全相同的问题(重新编译 vim 以使用 YCM),我通过删除src/auto/config.cache
(在 vim 树中)并重新运行来修复它./configure
。似乎过时的configure
缓存仍然存在。
答案4
在 Ubuntu(和其他基于 Debian 的发行版)上,您可以通过以下方式获取所有必需的先决条件:
$ sudo apt-get build-dep vim-gnome
我不知道这是否能解决依赖问题,但值得一试。