Vim的建设从源代码中的Cygwin [英] Building Vim from Source in Cygwin

查看:145
本文介绍了Vim的建设从源代码中的Cygwin的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从源码包编译Vim时,在Cygwin下,使Python支持。我下面给这里 的指示,但我打这个错误当我运行配置脚本:

I am trying to build Vim from the source packages, under Cygwin, to enable Python support. I am following the instructions given here, but I'm hitting this error when I run the configure script:

checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -lncurses... no
checking for tgetent in -ltermlib... no
checking for tgetent in -ltermcap... no
checking for tgetent in -lcurses... no
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.

Vim的源代码包被下载为 /usr/src/vim-7.3.tar.gz ,这是我解压,然后尝试使用建:

The Vim source package gets downloaded as /usr/src/vim-7.3.tar.gz, which I extract and then attempt to build using:

./configure --prefix=/usr/local --enable-multibyte --without-x --enable-gui=no --enable-pythoninterp

preFIX 选项建议在此的 SO帖子,其中OP是有完全相同的问题。但是,我安装的是的ncurses Cygwin包(也 ncursesw ),以及他们的图书馆等价物,所以我不能确定什么错,我(即为什么配置脚本不能找到它们)。我试着明确地设置 - 与-tlib 参数(例如, - 与-tlib = / bin中/ cygncurses-10.dll 的ncurses libncurses10 的libncurses ),但它在同一个地方失败的东西,如:

The prefix option was suggested in this SO post, where the OP is having the exact same problem. However, I installed the ncurses Cygwin package (and also ncursesw), as well as their library equivalents, so I'm not sure what's going wrong for me (i.e., why the configure script can't find them). I've tried explicitly setting the --with-tlib argument (e.g., --with-tlib=/bin/cygncurses-10.dll, ncurses, libncurses10 and libncurses), but it fails in the same place with something like:

checking for linking with libncurses10 library... configure: error: FAILED

我已经安装了的ncurses 包是:


  • libncursesw10(5.7-18)

  • libncurses10(5.7-18)

  • libncurses9(5.7-16)

  • libncurses8(5.5-10)

  • 的ncurses(5.7-18)

  • ncursesw(5.7-18)

所有建议表示欢迎!

推荐答案

我想你缺少必需的包。冗长的解释如下:跳转到最后的答案。

I think you're missing a required package. Lengthy explanation follows; jump to the end for the answer.

我跑完全相同的 ./配置... 命令我自己的系统(Windows 7中,Cygwin的)上。其输出的部分是:

I ran the exact same ./configure ... command on my own system (Windows 7, Cygwin). Part of its output was:

checking for tgetent in -lncurses... yes

这表明我没有你有同样的问题。

which indicates that I don't have the same problem you have.

配置脚本编写更详细的日志的src /自动/的config.log 。在我的系统,那就说明:

The configure script writes a more verbose log to src/auto/config.log. On my system, that shows:

configure:9777: checking for tgetent in -lncurses
configure:9802: gcc -o conftest.exe -g -O2   -L/usr/local/lib conftest.c -lncurses  -lelf   >&5
configure:9802: $? = 0
configure:9812: result: yes

-lncurses 选项告诉链接看看 / usr / lib目录/的libncurses。的,其中包含.foo 的可 .A 的.so ,或的.dll ,根据不同的系统,无论您正在做的动态链接。在Cygwin中, cygcheck 命令可以告诉你哪个软件包拥有一个指定的文件或文件。在我的系统:

The -lncurses option tells the linker to look at /usr/lib/libncurses.foo, where .foo can be .a, or .so, or .dll, depending on the system and whether you're doing dynamic linking. On Cygwin, the cygcheck command can tell you which package owns a specified file or files. On my system:

$ ls /usr/lib/libncurses.*
/usr/lib/libncurses.a  /usr/lib/libncurses.dll.a  /usr/lib/libncurses.la
$ cygcheck -f /usr/lib/libncurses.*
libncurses-devel-5.7-18
libncurses-devel-5.7-18
libncurses-devel-5.7-18

我相信,在安装的libncurses-DEVEL (通过Cygwin的 SETUP.EXE )应该解决您的问题。

I believe that installing libncurses-devel (via the Cygwin setup.exe) should fix your problem.

这篇关于Vim的建设从源代码中的Cygwin的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆