[systemd-devel] Underlinking in libsystemd-login

Canek Peláez Valdés caneko at gmail.com
Tue Mar 12 20:40:49 PDT 2013


On Tue, Mar 12, 2013 at 9:08 PM, Zbigniew Jędrzejewski-Szmek
<zbyszek at in.waw.pl> wrote:
> On Mon, Mar 11, 2013 at 03:25:48PM +0100, Lennart Poettering wrote:
>> 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?
> It seems to be enough to move the specifier.[ch] stuff to
> libsystemd-units.  I'm pushing a fix along those lines now.

Could you please report the commit here so I can test it? I'm not
subscribed to -commits.

Thanks.
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México


More information about the systemd-devel mailing list