我无法在 fedora23 上安装 ncurses-devel

I can not install ncurses-devel on fedora23

我正在尝试从参考 的源代码在 Fedora23 上构建 vim, 但我仍然无法构建它。

这是我的结果。

$ sudo dnf install -y ncurses-devel
$ sudo dnf install -y gcc make autoconf ncurses-devel perl-devel perl-ExtUtils-Embed ruby-devel python-devel python3-devel lua-devel luajit-devel gtk2-devel libXt-devel

$ git clone https://github.com/vim-jp/vim.git vim74
$ cd vim74
$ CFLAGS=-fPIC ./configure \
> --prefix=$HOME/local \
> --with-features=huge \
> --with-tlib=ncurses \
> --enable-multibyte \
> --enable-rubyinterp \
> --enable-pythoninterp \
> --enable-perlinterp \
> --enable-fontset \
> --enable-python3interp \
> --enable-luainterp
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
:
:
checking --with-tlib argument... ncurses
checking for linking with ncurses library... configure: error: FAILED

我该如何解决?

我执行了与 相同的命令,但得到了不同的结果。 这是否意味着未安装 ncurses?

$ ll /usr/lib/libncurs*
ls: cannot access /usr/lib/libncurs*: No such file or directory
$ ll /usr/lib64/libncurs*
lrwxrwxrwx. 1 root root     17  6月 18  2015 /usr/lib64/libncurses++.so -> libncurses++.so.5
lrwxrwxrwx. 1 root root     19  6月 18  2015 /usr/lib64/libncurses++.so.5 -> libncurses++.so.5.9
-rwxr-xr-x. 1 root root  76968  6月 18  2015 /usr/lib64/libncurses++.so.5.9
lrwxrwxrwx. 1 root root     18  6月 18  2015 /usr/lib64/libncurses++w.so -> libncurses++w.so.5
lrwxrwxrwx. 1 root root     20  6月 18  2015 /usr/lib64/libncurses++w.so.5 -> libncurses++w.so.5.9
-rwxr-xr-x. 1 root root  76968  6月 18  2015 /usr/lib64/libncurses++w.so.5.9
-rw-r--r--. 1 root root     31  6月 18  2015 /usr/lib64/libncurses.so
lrwxrwxrwx. 1 root root     17  6月 18  2015 /usr/lib64/libncurses.so.5 -> libncurses.so.5.9
-rwxr-xr-x. 1 root root 155056  6月 18  2015 /usr/lib64/libncurses.so.5.9
-rw-r--r--. 1 root root     32  6月 18  2015 /usr/lib64/libncursesw.so
lrwxrwxrwx. 1 root root     18  6月 18  2015 /usr/lib64/libncursesw.so.5 -> libncursesw.so.5.9
-rwxr-xr-x. 1 root root 208400  6月 18  2015 /usr/lib64/libncursesw.so.5.9

谢谢。


2016/02/05 编辑

这是我的config.log。 (摘录)

configure:10639: checking --with-tlib argument
configure:10648: result: ncurses
configure:10651: checking for linking with ncurses library
configure:10664: gcc -o conftest -fPIC  -L. -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-z,relro    -L/usr/local/lib conftest.c  -lselinux   -lncurses >&5
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-ld: No such file or directory
configure:10664: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define UNIX 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_SELINUX 1
| #define FEAT_HUGE 1
| #define USE_XSMP_INTERACT 1
| #define FEAT_LUA 1
| #define FEAT_PERL 1
| #define FEAT_PYTHON 1
| #define FEAT_PYTHON3 1
| #define DYNAMIC_PYTHON 1
| #define DYNAMIC_PYTHON3 1
| #define PY3_NO_RTLD_GLOBAL 1
| #define FEAT_RUBY 1
| #define FEAT_MBYTE 1
| #define X_DISPLAY_MISSING 1
| #define HAVE_X11_SM_SMLIB_H 1
| #define HAVE_DATE_TIME 1
| #define HAVE_ATTRIBUTE_UNUSED 1
| #define HAVE_DIRENT_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_TERMCAP_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SGTTY_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_TERMIO_H 1
| #define HAVE_ICONV_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_MATH_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_SYS_STATFS_H 1
| #define HAVE_POLL_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_PWD_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_LIBINTL_H 1
| #define HAVE_LIBGEN_H 1
| #define HAVE_SYS_SYSINFO_H 1
| #define HAVE_WCHAR_H 1
| #define HAVE_WCTYPE_H 1
| #define HAVE_SYS_SYSCTL_H 1
| #define HAVE_STRINGS_H 1
| #define TIME_WITH_SYS_TIME 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:10668: error: FAILED

看到了吗?

configure:10664: gcc -o conftest -fPIC  -L. -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-z,relro    -L/usr/local/lib conftest.c  -lselinux   -lncurses >&5
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-ld: No such file or directory
configure:10664: $? = 1

这是你的问题。快速的答案是:

sudo dnf install /usr/lib/rpm/redhat/redhat-hardened-ld

这将添加提供该文件的 redhat-rpm-confg 包。

至于为什么会这样……我其实不太确定。它 如果你查看 RPM opt 标志你会看到的东西,但它 没有 当我只是 运行 配置正如您在问题中列出的那样。您的环境中可能正在发生其他事情...我只是不确定是什么。