vimfedorancursesfedora-23

I can not install ncurses-devel on fedora23


I am trying to build vim on Fedora23 from source referring to this post, but I still can't build it.

Here is my results.

$ 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

How do I fix it?

I executed same commands as this post but got different result. Do that mean that ncurses is not installed ?

$ 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

Thank you.


2016/02/05 Edit

Here is my config.log. (Extract)

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

Solution

  • See this?

    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
    

    There's your problem. The quick answer is to do:

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

    which will add the redhat-rpm-confg package which provides that file.

    As for why that's happening... I'm actually not quite sure. It is something you'll see if you look in the RPM opt flags, but it didn't when I just ran configure as you listed in your question. Something else is probably going on in your environment... I'm just not sure what.