编译Vim时找不到终端库


31

我正在运行Ubuntu 12.04。

我正在尝试获取一个特定的插件来使vim工作,并且它要求vim启用ruby支持(该插件为command-t)。

人们告诉我,我必须进入我的vim目录并运行

./configure --enable-rubyinterp

当我这样做时,出现以下错误:

    no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with --with-tlib.

现在,我已经检查并安装了ncurses-base。

我需要做什么?


4
我认为您应该安装一个ncurses-dev图书馆
epsilonhalbe

您能否提供src/auto/config.log
epsilonhalbe 2012年

谢谢你epsilon,解决了它。也许你认为到答案,所以我可以给你的信用
Fawkes5

Answers:


47

我认为您应该安装一个ncurses-dev库。

你可以通过运行 sudo apt-get install libncurses5-dev libncursesw5-dev


1
我正在运行ubuntu 16.10,找不到软件包“ ncurses-dev”。我终于发现安装libtinfo-dev可以解决问题。
Marnix A. van Ammers

3
在Ubuntu 16.04上: sudo apt-get install ncurses-dev
Gary

最新Apt库选择libncurses5-devncurses-dev
NerdOfCode

17

运行sudo apt-get build-dep vim以安装所有用于从存储库构建vim软件包的软件包。


+ 1用于build-dep命令
rookiepig

13

如果您没有 sudo访问权限,则解决方法如下:

ncurseshttp://ftp.gnu.org/pub/gnu/ncurses/下载最新版本(或任何版本)

运行以下bash命令:

mkdir ~/usr/local
cd <path_to_ncurses>
tar xzvf <ncurses>.tar.gz # change the tar command if it is not a tar.gz
cd <ncurses>
./configure --prefix=$HOME/usr/local
make
make install
cd <path_to_vim>
LDFLAGS=-L$HOME/usr/local/lib ./configure # then add any options e.g. --prefix=$HOME/usr/local
make
make install

然后你去。人们通常不具有对计算机的sudo访问权限,但这是我的情况,并且该线程未提供我所需的信息:)现在,它可以


1
就我而言,上述步骤仍然不够好。我需要添加$HOME/usr/local/libLD_LIBRARY_PATH为好。
Geng

1

我正在运行ubuntu 16.10,无法获取vim 8.0进行编译。谷歌搜索问题告诉我要安装软件包,ncurses-dev但找不到该软件包。我终于发现安装软件包libtinfo-dev可以解决问题,并且能够编译vim。


0

根据我的经验,我做到了sudo apt-get install libncurses5-dev libncursesw5-dev

我使用的是Ubuntu 14.04。有效。


它会为接受的答案添加任何内容吗?
安瓦尔

#sudo apt-get install libncurses5-dev libncursesw5-dev正在读取包列表...已完成构建依赖关系树正在读取状态信息...已完成libncurses5-dev已是最新版本(6.0 + 20160213-1ubuntu1)。libncursesw5-dev已经是最新版本(6.0 + 20160213-1ubuntu1)。0已升级,0新安装,0已删除和40未升级。............................仍然出错:/ usr / bin / ld:help.o:未定义对符号'delwin @的引用@ NCURSES_5.0.19991023'
阿希什Karpe

//usr/local/lib/libncurses.so.5:添加符号时出错:命令行collect2中缺少DSO:错误:ld返回了1退出状态Makefile:18:目标'omnitty'的配方失败make:*** [omnitty ]错误1
Ashish Karpe
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.