[systemd-devel] Underlinking in libsystemd-login

Lennart Poettering lennart at poettering.net
Mon Mar 11 07:25:48 PDT 2013

On Sun, 10.03.13 11:29, Canek Peláez Valdés (caneko at gmail.com) wrote:

> In Gentoo we are seeing the following failure with programs linking
> agains libsystemd-login, they all fail with:
> /usr/lib64/libsystemd-login.so: undefined reference to `sd_id128_to_string'
> /usr/lib64/libsystemd-login.so: undefined reference to `sd_id128_get_boot'
> /usr/lib64/libsystemd-login.so: undefined reference to `sd_id128_get_machine'
> collect2: ld returned 1 exit status
> or similar. More info in the bug 62085:
> https://bugs.freedesktop.org/show_bug.cgi?id=62085
> The following patch fixes the issue (at least with udisks,
> gnome-session, gdm, and gnome-shell), but I'm not sure is the correct
> solution. Asking here for guidance.

Hmm, so the actual sources of the library itself, i.e. sd-login.c don't
use any the sd_id128_xyz functions, and hence we shouldn't apply your
patch. Instead, since d848b9cbfa0ba72 the id128 stuff is pulled in by
specifier.c which is part of the convenience library
libsystemd-shared.so. Or in other words, we currently have a nice dep
loop in place where -shared.so and -id128.so use each other's
functions. We might want to split out the id128 stuff from specifier.c
again? Zbigniew?


Lennart Poettering - Red Hat, Inc.

More information about the systemd-devel mailing list