在 OpenSUSE 上使用 gui (gvim) 编译 vim 需要哪些库?

在 OpenSUSE 上使用 gui (gvim) 编译 vim 需要哪些库?

我已经尝试在 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 上现有包的构建依赖性? (然后我可以向后查找gvimOpenSUSE 包中的构建依赖项。)

答案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 源),它也会拉出很多依赖项。我猜想其中一些依赖项是可选的,因此这种方法可能有点矫枉过正。

相关内容