GNOME Bugzilla – Bug 739070
Undefined reference to get_xkb() when building with --disable-xkb
Last modified: 2015-03-07 23:42:49 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.
Out of interest, why are you configuring without xkb ? I would be inclined to just remove that conditional.
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
Attachment 289200 [details] pushed as 8ecc51a - Fix undefined reference to get_xkb()