我已经尝试在 OpenSUSE 13.1 上使用 GUI 界面 ( ) 编译 vimgvim
一段时间了。我以为所有必需的库都已安装,但显然没有。
这些是输出中的相关行./configure --with-features=huge --enable-gui
:
checking for xmkmf... /usr/bin/xmkmf
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking if X11 header files can be found... no
checking --enable-gui argument... no GUI support
checking X11/SM/SMlib.h usability... no
checking X11/SM/SMlib.h presence... no
checking for X11/SM/SMlib.h... no
(--enable-gui=auto, --enable-gui=gtk2, --enable-gui
没有区别。所有尝试的结果相同。)
我找到了很多关于如何在 Ubuntu、Fedora 和 CentOS 等系统上安装所需库的指南(例如,请参阅关于超级用户的回答)。
但是,我找不到有关 opensuse 所需库的任何信息。 X11-dev、gtk2-dev 和 imake 均已安装。
例如,/usr/X11/include
存在并且包含
-rw-r--r-- 2 root root 2298 Jul 2 16:16 ap_keysym.h
drwxr-xr-x 2 root root 4096 Sep 7 2014 bitmaps
-rw-r--r-- 1 root root 3118 May 4 18:12 cursorfont.h
-rw-r--r-- 1 root root 2820 Jul 2 16:16 DECkeysym.h
drwxr-xr-x 2 root root 4096 Sep 30 2014 dri
drwxr-xr-x 2 root root 4096 Aug 19 14:57 extensions
drwxr-xr-x 2 root root 4096 Sep 30 2014 fonts
-rw-r--r-- 1 root root 6044 Jul 2 16:16 HPkeysym.h
-rw-r--r-- 1 root root 459 May 4 18:12 ImUtil.h
-rw-r--r-- 1 root root 175257 Jul 2 16:16 keysymdef.h
-rw-r--r-- 1 root root 2774 Jul 2 16:16 keysym.h
drwxr-xr-x 2 root root 4096 Sep 30 2014 PM
-rw-r--r-- 1 root root 4022 Jul 2 16:16 Sunkeysym.h
-rw-r--r-- 1 root root 4578 Jul 2 16:16 Xalloca.h
-rw-r--r-- 1 root root 2951 Jul 2 16:16 Xarch.h
-rw-r--r-- 1 root root 2518 Jul 2 16:16 Xatom.h
-rw-r--r-- 1 root root 3817 Jul 2 16:18 Xauth.h
-rw-r--r-- 1 root root 21346 May 4 18:12 Xcms.h
-rw-r--r-- 1 root root 2404 Jul 2 16:16 Xdefs.h
-rw-r--r-- 1 root root 13065 Jul 2 16:16 XF86keysym.h
drwxr-xr-x 2 root root 4096 Aug 19 14:57 Xft
-rw-r--r-- 1 root root 7131 Jul 2 16:16 Xfuncproto.h
-rw-r--r-- 1 root root 2257 Jul 2 16:16 Xfuncs.h
-rw-r--r-- 1 root root 20205 Jul 2 16:16 X.h
-rw-r--r-- 1 root root 30995 May 4 18:12 XKBlib.h
-rw-r--r-- 1 root root 1567 May 4 18:12 XlibConf.h
-rw-r--r-- 1 root root 99498 May 4 18:12 Xlib.h
-rw-r--r-- 1 root root 37121 May 4 18:12 Xlibint.h
-rw-r--r-- 1 root root 506 May 4 18:12 Xlib-xcb.h
-rw-r--r-- 1 root root 1297 May 4 18:12 Xlocale.h
-rw-r--r-- 1 root root 5122 Jul 2 16:16 Xmd.h
-rw-r--r-- 1 root root 3115 Jul 2 16:16 Xosdefs.h
-rw-r--r-- 1 root root 4362 Jul 2 16:16 Xos.h
-rw-r--r-- 1 root root 33693 Jul 2 16:16 Xos_r.h
-rw-r--r-- 1 root root 7650 Jul 2 16:16 Xpoll.h
-rw-r--r-- 1 root root 56959 Jul 2 16:16 Xproto.h
-rw-r--r-- 1 root root 2805 Jul 2 16:16 Xprotostr.h
-rw-r--r-- 1 root root 5949 May 4 18:12 Xregion.h
-rw-r--r-- 1 root root 10628 May 4 18:12 Xresource.h
-rw-r--r-- 1 root root 1719 Jul 2 16:17 xshmfence.h
-rw-r--r-- 1 root root 12395 Jul 2 16:16 Xthreads.h
-rw-r--r-- 1 root root 21353 May 4 18:12 Xutil.h
-rw-r--r-- 1 root root 1910 Jul 2 16:16 Xw32defs.h
-rw-r--r-- 1 root root 3968 Jul 2 16:16 XWDFile.h
-rw-r--r-- 1 root root 3283 Jul 2 16:16 Xwindows.h
-rw-r--r-- 1 root root 2262 Jul 2 16:16 Xwinsock.h
更一般地说,我如何找出 OpenSUSE 上现有包的构建依赖性? (然后我可以向后查找gvim
OpenSUSE 包中的构建依赖项。)
答案1
您的 /usr/include/X11 缺少一些文件,例如 SM/。也许您需要安装 xorg-x11-devel 软件包,而不仅仅是 libX11-devel。
openSUSE 中应该有一些 gvim 源 RPM(可能在额外的 DVD 上)。解压它并查看配置文件,它列出了所有构建和运行时依赖项。我不记得配置文件的确切名称,但我认为它的命名很明显。
对于已安装的 RPM,rpm -q --requires gvim
列出运行时要求。这应该会提示您使用了哪些库以及需要哪些头文件(= xyz-devel 包)。
更新: 尝试安装源 RPM:
zypper source-install vim
在我的机器上,它说它有一些兼容性问题,但即使我说忽略它(破坏 vim 源),它也会拉出很多依赖项。我猜想其中一些依赖项是可选的,因此这种方法可能有点矫枉过正。