【发布时间】:2012-09-05 22:40:05
【问题描述】:
我正在尝试使用 python 支持 cygwin 构建 vim:
./configure --enable-pythoninterp --enable-gui=no --without-x \
--enable-multibyte --prefix=/usr
但无法绕过错误:
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.
我确实安装了 libncurses-devel(所以这与 SO 问题 Building Vim from Source in Cygwin 不同)
我也尝试添加 --with-tlib=ncurses 标志,结果相同。
有人对让 vim 识别 libncurses 库有什么建议吗?
+++++++++++++++可能相关信息++++++++++++++++
auto\config.log 的摘录:
configure:9897: result: no
configure:9903: checking --with-tlib argument
configure:9938: result: empty: automatic terminal library selection
configure:9946: checking for tgetent in -ltinfo
configure:9971: gcc -o conftest.exe -g -O2 -L/usr/local/lib conftest.c -ltinfo >&5
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -ltinfo
collect2: ld returned 1 exit status
configure:9971: $? = 1
configure: failed program was:
...
configure:9981: result: no
configure:9946: checking for tgetent in -lncurses
configure:9971: gcc -o conftest.exe -g -O2 -L/usr/local/lib conftest.c -lncurses >&5
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -lncurses
collect2: ld returned 1 exit status
configure:9971: $? = 1
configure: failed program was:
configure:9981: result: no
...
configure:9946: checking for tgetent in -ltermlib
configure:9971: gcc -o conftest.exe -g -O2 -L/usr/local/lib conftest.c -ltermlib >&5
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -ltermlib
collect2: ld returned 1 exit status
configure:9971: $? = 1
configure: failed program was:
...
configure:9981: result: no
configure:9946: checking for tgetent in -ltermcap
configure:9971: gcc -o conftest.exe -g -O2 -L/usr/local/lib conftest.c -ltermcap >&5
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -ltermcap
collect2: ld returned 1 exit status
configure:9971: $? = 1
configure: failed program was:
...
configure:9981: result: no
configure:9946: checking for tgetent in -lcurses
configure:9971: gcc -o conftest.exe -g -O2 -L/usr/local/lib conftest.c -lcurses >&5
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -lcurses
collect2: ld returned 1 exit status
configure:9971: $? = 1
configure: failed program was:
...
configure:9981: result: no
configure:10027: result: no terminal library found
configure:10033: checking for tgetent()
configure:10046: gcc -o conftest.exe -g -O2 -L/usr/local/lib conftest.c >&5
C:\cygwin\tmp\cc4wgcbm.o: In function `main':
C:\Temp\vim\src/conftest.c:46: undefined reference to `tgetent'
collect2: ld returned 1 exit status
configure:10046: $? = 1
configure: failed program was:
configure:10052: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
ls /usr/lib/libncurses.*
/usr/lib/libncurses.a /usr/lib/libncurses.dll.a /usr/lib/libncurses.la
【问题讨论】:
-
糟糕!看起来我没有安装一些 libncurses 源(尽管我认为我有)。不幸的是,我采用了霰弹枪方法并为所有 ncurses/libncurses 包安装了源代码(还添加了一些 gcc 包),所以我不能 100% 确定需要哪个,但我认为它是 libncurses-devel 源代码。现在配置和制作工作正常。