尝试构建vim时未找到ncurses

尝试构建vim时未找到ncurses,vim,build,configure,ncurses,fedora-23,Vim,Build,Configure,Ncurses,Fedora 23,在最近升级到Fedora23之后,我正在尝试在我的用户目录中构建vim 我有课程和课程发展 [root@statquant-laptop lib]# dnf install ncurses Last metadata expiration check performed 1:09:48 ago on Sat Jan 9 10:33:06 2016. Package ncurses-5.9-21.20150214.fc23.x86_64 is already installed, skippin

在最近升级到Fedora23之后,我正在尝试在我的用户目录中构建vim

我有课程和课程发展

[root@statquant-laptop lib]# dnf install ncurses
Last metadata expiration check performed 1:09:48 ago on Sat Jan  9 10:33:06 2016.
Package ncurses-5.9-21.20150214.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!

[root@statquant-laptop lib]# dnf install ncurses-devel
Last metadata expiration check performed 1:09:58 ago on Sat Jan  9 10:33:06 2016.
Package ncurses-devel-5.9-21.20150214.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
这是证据:

[root@statquant-laptop lib]# ll /usr/lib/libncurs*
lrwxrwxrwx. 1 root root     17 Jun 17  2015 /usr/lib/libncurses.so.5 -> libncurses.so.5.9
lrwxrwxrwx. 1 root root     19 Jun 17  2015 /usr/lib/libncurses++.so.5 -> libncurses++.so.5.9
-rwxr-xr-x. 1 root root 154448 Jun 17  2015 /usr/lib/libncurses.so.5.9
-rwxr-xr-x. 1 root root  68176 Jun 17  2015 /usr/lib/libncurses++.so.5.9
lrwxrwxrwx. 1 root root     20 Jun 17  2015 /usr/lib/libncurses++w.so.5 -> libncurses++w.so.5.9
lrwxrwxrwx. 1 root root     18 Jun 17  2015 /usr/lib/libncursesw.so.5 -> libncursesw.so.5.9
-rwxr-xr-x. 1 root root  68176 Jun 17  2015 /usr/lib/libncurses++w.so.5.9
-rwxr-xr-x. 1 root root 216000 Jun 17  2015 /usr/lib/libncursesw.so.5.9
[root@statquant-laptop lib]# ll /usr/lib64/libncurs*
-rw-r--r--. 1 root root 330362 Jun 17  2015 /usr/lib64/libncurses.a
-rw-r--r--. 1 root root 183214 Jun 17  2015 /usr/lib64/libncurses++.a
-rw-r--r--. 1 root root 473398 Jun 17  2015 /usr/lib64/libncurses_g.a
-rw-r--r--. 1 root root 183214 Jun 17  2015 /usr/lib64/libncurses++_g.a
-rw-r--r--. 1 root root     31 Jun 17  2015 /usr/lib64/libncurses.so
lrwxrwxrwx. 1 root root     17 Jun 17  2015 /usr/lib64/libncurses++.so -> libncurses++.so.5
lrwxrwxrwx. 1 root root     17 Jun 17  2015 /usr/lib64/libncurses.so.5 -> libncurses.so.5.9
lrwxrwxrwx. 1 root root     19 Jun 17  2015 /usr/lib64/libncurses++.so.5 -> libncurses++.so.5.9
-rwxr-xr-x. 1 root root 155056 Jun 17  2015 /usr/lib64/libncurses.so.5.9
-rwxr-xr-x. 1 root root  76968 Jun 17  2015 /usr/lib64/libncurses++.so.5.9
-rw-r--r--. 1 root root 183214 Jun 17  2015 /usr/lib64/libncurses++w.a
-rw-r--r--. 1 root root 433400 Jun 17  2015 /usr/lib64/libncursesw.a
-rw-r--r--. 1 root root 183214 Jun 17  2015 /usr/lib64/libncurses++w_g.a
-rw-r--r--. 1 root root 593812 Jun 17  2015 /usr/lib64/libncursesw_g.a
lrwxrwxrwx. 1 root root     18 Jun 17  2015 /usr/lib64/libncurses++w.so -> libncurses++w.so.5
-rw-r--r--. 1 root root     32 Jun 17  2015 /usr/lib64/libncursesw.so
lrwxrwxrwx. 1 root root     20 Jun 17  2015 /usr/lib64/libncurses++w.so.5 -> libncurses++w.so.5.9
lrwxrwxrwx. 1 root root     18 Jun 17  2015 /usr/lib64/libncursesw.so.5 -> libncursesw.so.5.9
-rwxr-xr-x. 1 root root  76968 Jun 17  2015 /usr/lib64/libncurses++w.so.5.9
-rwxr-xr-x. 1 root root 208400 Jun 17  2015 /usr/lib64/libncursesw.so.5.9
当我运行
/configure
时:

./configure --with-features=huge \
            --enable-fail-if-missing \
            --enable-luainterp=yes \
            --enable-mzschemeinterp \
            --enable-perlinterp \
            --enable-pythoninterp=yes \
            --with-python-config-dir=/usr/lib64/python2.7/config \
            --enable-python3interp=yes \
            --enable-tclinterp=yes \
            --enable-rubyinterp=yes \
            --enable-cscope \
            --enable-multibyte \
            --enable-gui=gtk2 \
            --prefix=$HOME/Build/vim
我明白了


我能做什么?

您显然没有安装ncurses开发包。在Fedora23上,这将是
ncurses-devel
,例如
ncurses-devel-5.9-21.20150214.fc23.x86_64

没有这些,您只有运行库(这是必需的)

一旦具备了该功能,vim 7.4的配置将显示如下内容:

checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking whether we talk terminfo... yes
checking what tgetent() returns for an unknown terminal... zero
checking whether termcap.h contains ospeed... yes
checking whether termcap.h contains UP, BC and PC... yes
checking whether tputs() uses outfuntype... no
进一步阅读:


我在Fedora23上遇到了同样的问题。以下是我的解决方案:

  • 确保已安装
    ncurses-devel
  • CFLAGS=-fPIC./configure--with tlib=ncurses和您的_选项

  • 我检查了config.log,发现gcc抱怨缺少“-fPIC”

    您是否尝试了使用tlib的
    ?我应该放什么--使用tlib=/usr/lib/libncurses.so?这不是说你不应该在你的主目录中构建vim,但是你有没有理由不只是使用vim Fedora?你有没有检查过我是否安装了ncurses-devel?我明白了-但是你没有提到你正在尝试构建的vim版本,您也没有提到src/auto/config.log对配置的说明。您也没有显示开发包的结果,只是列出了运行时的一部分。配置脚本将需要libtinfo.so for vim-not libncurses.soIt工作,但现在我无法
    make install
    ,尽管我想问题是答案我安装了
    ncurses devel
    ,我的问题已经解决了,升级帮助程序包ncurses-devel-5.7-4.20090207.14.amzn1.x86_64已安装,最新版本无需任何操作……。仍然收到错误:#make gcc-fPIC-I/usr/local/include-Wall-domnity_version=\'0.3.0\'-o omnitty minibuf.o machine.o menu.o machmgr.o help.o main.o curutil.o-L/usr/local/lib-lrote/usr/bin/ld:menu.o:对符号“delwin”/lib64/libncurses的未定义引用。so.5:添加符号时出错:命令行集合中缺少DSO 2:错误:ld返回1退出状态make:**[omnitty]错误1
    checking --with-tlib argument... empty: automatic terminal library selection
    checking for tgetent in -ltinfo... yes
    checking whether we talk terminfo... yes
    checking what tgetent() returns for an unknown terminal... zero
    checking whether termcap.h contains ospeed... yes
    checking whether termcap.h contains UP, BC and PC... yes
    checking whether tputs() uses outfuntype... no