尝试构建时找不到 ncurses vim
ncurses not found when trying to build vim
最近升级到 Fedora 23
后,我正在尝试在我的用户目录中构建 vim
我有 ncurses 和 ncurses-devel
[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
我明白了
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.
我能做什么?
您显然没有安装 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 和 your_options
我检查了 config.log,发现 gcc 抱怨缺少“-fPIC”
最近升级到 Fedora 23
后,我正在尝试在我的用户目录中构建 vim我有 ncurses 和 ncurses-devel
[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
我明白了
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.
我能做什么?
您显然没有安装 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 和 your_options
我检查了 config.log,发现 gcc 抱怨缺少“-fPIC”