3

I have been trying to compile vim with a GUI interface (gvim) on OpenSUSE 13.1 for a while now. I thought all the required libraries were installed, but apparently not.

These are the relevant lines from ./configure --with-features=huge --enable-gui output:

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 makes no difference. Same result for all attempts.)

I've found a lot of guides on how to install the required libraries on systems such as Ubuntu, Fedora and CentOS (see for example an Answer on superuser).

However, I cannot find any information on the required libraries for opensuse. X11-dev, gtk2-dev and imake are all installed.

For example, /usr/X11/include exists, and contains

-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

More generally, how can I figure out build dependecies of an existing package on OpenSUSE? (Then I could go backwards and find the build dependencies from the gvim OpenSUSE package.)

1 Answer 1

0

Your /usr/include/X11 is missing some files, for example SM/. Maybe you need to install the xorg-x11-devel package, not just libX11-devel.

There should be some gvim source RPM (probably on an extra DVD) shipped with openSUSE. Unpack it and look at the configuration file, it lists all the build and runtime dependencies. I can't remember the exact name of the configuration file, but I think it was named obviously.

For a installed RPM, rpm -q --requires gvim lists the runtime requirements. That should give you a hint what libraries are used and therefore what header files (= xyz-devel packages) are needed.

Update: Try installing the source RPM:

zypper source-install vim

On my machine it says it has some compatibility problems, but even when I said ignore it (break vim source) it pulled a lot of dependencies. I guess some of these dependencies are optional, so this approach might be overkill.

2
  • Hmm, rpm -q --requires does not help me much more than ldd, but I'll keep digging. The package xorg-x11-devel does not exist in the openSUSE repository :/
    – uvesten
    Sep 5, 2015 at 15:29
  • @uvesten : What is the output of zypper search x11 | grep devel? On my OpenSUSE 13.1 it shows among others: libX11-devel and xorg-x11-devel Sep 5, 2015 at 16:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .