After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739070 - Undefined reference to get_xkb() when building with --disable-xkb
Undefined reference to get_xkb() when building with --disable-xkb
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Backend: X11
3.14.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2014-10-23 12:19 UTC by Eric Le Bihan
Modified: 2015-03-07 23:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix undefined reference to get_xkb() (861 bytes, patch)
2014-10-23 12:19 UTC, Eric Le Bihan
committed Details | Review

Description Eric Le Bihan 2014-10-23 12:19:07 UTC
Created attachment 289200 [details] [review]
Fix undefined reference to get_xkb()

I configured gtk+ 3.14.4 with --disable-xkb, but the build fails because of an undefined reference to get_xkb() in gdk_x11_keymap_map_virtual_modifiers().

The attached patch fixes the issue by adding the proper #ifdef guard, but I do not know if this alters the behavior of the function or not.
Comment 1 Matthias Clasen 2014-10-27 10:53:09 UTC
Out of interest, why are you configuring without xkb ?
I would be inclined to just remove that conditional.
Comment 2 Eric Le Bihan 2014-10-27 11:32:58 UTC
I am building embedded systems using Buildroot (http://buildroot.org). Buildroot is a collection of Makefiles to cross-compile applications and libraries for different architectures (x86, ARM, mips, ...) and C runtimes (uclibc, glibc, musl, ...). The Makefile for each package manages the build dependencies and configuration options.

The project regularly runs automatic builds to check that each package compiles properly for any architecture and that the dependencies are correctly handled. This usually ends up with highlighting bugs that are not seen by traditional GNU/Linux distributions.

Gtk+ 3.0 has been recently added to Buildroot. As xkb is not listed as a mandatory build dependency, the build has been configured with --disable-xkb, which triggered the error.

If xkb is indeed to be considered as a mandatory build dependency for Gtk+ 3.0 with X11 backend, I will gladly send a patch to Buildroot to set it that way (this is already done when building with the Wayland backend [1]).


[1] http://git.buildroot.net/buildroot/tree/package/libgtk3/Config.in#n44
Comment 3 Matthias Clasen 2015-03-07 23:42:45 UTC
Attachment 289200 [details] pushed as 8ecc51a - Fix undefined reference to get_xkb()