[SSSD] [PATCH] BUILD: Link libsss_krb5_common.so to libkeyutils.so

Simo Sorce simo at redhat.com
Wed Oct 16 12:56:55 UTC 2013


On Wed, 2013-10-16 at 14:49 +0200, Benjamin Franzke wrote:
> Hi List,
> 
> 
> The symbol add_key is used by
> src/providers/krb5/krb5_delayed_online_authentication.c
> which is part of libsss_krb5_common.so
> 
> 
> Fixes following error:
> [sssd[be[default]]] [load_backend_module]
>   (0x0010): Unable to load ad module with path
>   (/usr/lib64/sssd/libsss_ad.so), error:
>   /usr/lib64/sssd/libsss_krb5_common.so: undefined symbol: add_key
> 
> 
> -lkeyutils was passed to the libraries libsss_{krb5,ipa,ad}.so,
> but when compiling with -Wl,--as-needed this flag will be ignored,
> since it is not used directly. So it was unavailable to
> libsss_krb5_common.so which actually needs it.
> 
> 
> This patch removes $(KEYUTILS_LIBS) from those libraries and adds it
> to
> libsss_krb5_common.so
> 
> 
> Maybe libsss_krb5_common.so should be added to dlopen-tests?

Yes please.

> But then other libraries and functions are needed as well,
> which it currently inherits from libsss_{krb5,ipa,ad}.so.

You can just open a chain of libraries.
> 
> BTW: are these common libraries (i mean ldap too) convenience build
> libraries, or to save disk space?

Not just to save disk space but to avoid duplicate symbols in multiple
modules.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York




More information about the sssd-devel mailing list