Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 532530

Summary: sys-apps/systemd-218 USE=-terminal should depend on x11-libs/libxkbcommon - .../work/systemd-218/src/locale/localed.c:1039:53: error: ‘XKB_KEYMAP_COMPILE_NO_FLAGS’ undeclared (first use in this function)
Product: Gentoo Linux Reporter: Ulf Dambacher <ulf.dambacher>
Component: [OLD] Core systemAssignee: Gentoo systemd Team <systemd>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: stripped build log

Description Ulf Dambacher 2014-12-14 09:15:42 UTC
When I try to compile systemd-218 i get this compilation error:

libtool: link: (cd .libs/libudev-core.lax/libsystemd-internal.a && x86_64-pc-linux-gnu-ar x "/var/tmp/portage/sys-apps/systemd-218/work/systemd-218-abi_x86_64.amd64/./.libs/libsystemd-internal.a")
/var/tmp/portage/sys-apps/systemd-218/work/systemd-218/src/locale/localed.c: In function ‘verify_xkb_rmlvo’:
/var/tmp/portage/sys-apps/systemd-218/work/systemd-218/src/locale/localed.c:1039:53: error: ‘XKB_KEYMAP_COMPILE_NO_FLAGS’ undeclared (first use in this function)
/var/tmp/portage/sys-apps/systemd-218/work/systemd-218/src/locale/localed.c:1039:53: note: each undeclared identifier is reported only once for each function it appears in
/var/tmp/portage/sys-apps/systemd-218/work/systemd-218/src/journal/coredump.c: In function ‘main’:
/var/tmp/portage/sys-apps/systemd-218/work/systemd-218/src/journal/coredump.c:856:42: warning: ‘sz’ may be used uninitialized in this function [-Wmaybe-uninitialized]
mv -f src/core/.deps/systemd-main.Tpo src/core/.deps/systemd-main.Po
Makefile:16198: recipe for target 'src/locale/systemd_localed-localed.o' failed
make[2]: *** [src/locale/systemd_localed-localed.o] Error 1

----

eix -s xkbcommon
[I] x11-libs/libxkbcommon
     Available versions:  ~0.2.0 0.3.1 ~0.4.1 ~0.5.0 [M]~9999[1] {X doc static-libs test ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  0.3.1(09:18:45 06.12.2014)(-doc -static-libs)
     Homepage:            http://xorg.freedesktop.org/
     Description:         X.Org xkbcommon library

----

I dug in github/xkbcommon and found:
https://github.com/xkbcommon/libxkbcommon/commit/973b8fd47e885f1c80c715b317fa896f8d31a7a4

So you need at least Version 0.4.0

The ebuild sais:

COMMON_DEPEND=">=sys-apps/util-linux-2.25:0=
	sys-libs/libcap:0=
	acl? ( sys-apps/acl:0= )
	apparmor? ( sys-libs/libapparmor:0= )
	audit? ( >=sys-process/audit-2:0= )
	cryptsetup? ( >=sys-fs/cryptsetup-1.6:0= )
	curl? ( net-misc/curl:0= )
	elfutils? ( >=dev-libs/elfutils-0.158:0= )
	gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
	gudev? ( >=dev-libs/glib-2.34.3:2=[${MULTILIB_USEDEP}] )
	http? (
		>=net-libs/libmicrohttpd-0.9.33:0=
		ssl? ( >=net-libs/gnutls-3.1.4:0= )
	)
	idn? ( net-dns/libidn:0= )
	introspection? ( >=dev-libs/gobject-introspection-1.31.1:0= )
	kmod? ( >=sys-apps/kmod-15:0= )
	lz4? ( >=app-arch/lz4-0_p119:0=[${MULTILIB_USEDEP}] )
	lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
	pam? ( virtual/pam:= )
	python? ( ${PYTHON_DEPS} )
	qrcode? ( media-gfx/qrencode:0= )
	seccomp? ( sys-libs/libseccomp:0= )
	selinux? ( sys-libs/libselinux:0= )
	terminal? ( dev-libs/libevdev:0=
		>=x11-libs/libxkbcommon-0.4:0=
		x11-libs/libdrm:0= )
	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"

----

but id don.t have USE="terminal", so no restiction is active and it uses my stable xkbcommon-0.3.1

a stripped  build log attached.
Comment 1 Ulf Dambacher 2014-12-14 09:20:56 UTC
Created attachment 391658 [details]
stripped build log
Comment 2 Mike Gilbert gentoo-dev 2014-12-14 15:26:20 UTC
Looks like you are hitting this:

        * If compiled with --enable-xkbcommon, systemd-localed will
          verify x11 keymap settings by compiling the given keymap. It
          will spew out warnings if the compilation fails. This
          requires libxkbcommon to be installed.

The description makes it seem like it would be disabled by default, when in fact it is automagic by default.
Comment 3 Mike Gilbert gentoo-dev 2014-12-14 15:59:01 UTC
Should be fixed now.

+  14 Dec 2014; Mike Gilbert <floppym@gentoo.org> metadata.xml,
+  systemd-218.ebuild, systemd-9999.ebuild:
+  Optionally depend on libxkbcommon for keymap validation in logind, bug 532530.
+  Restore systemd-consoled.service.in missing from the tarball.