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