2016-02-05 38 views
1

我想從源代碼上構建Fedora23上的vim參考this post, 但我仍然無法構建它。我不能在Fedora23上安裝ncurses-devel

這是我的結果。

$ 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 

我該如何解決?

我執行了與this post相同的命令,但得到了不同的結果。 這是否意味着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年2月5日編輯

這是我的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 
+0

工作目錄中的文件中可能存在名爲'config.log'的詳細信息。這是什麼意思? – mattdm

+0

在這種情況下,'。/ src/auto/config.log' – mattdm

+0

@mattdm 謝謝。我添加了它。 – ksmzn

回答

3

看到這個?

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選擇標誌,但它沒有當我剛剛運行配置,因爲你列出你的問題。其他事情可能在您的環境中發生......我只是不確定是什麼。

+0

謝謝! 我能夠建立! – ksmzn