From 8529abf33b2b1dce0497245f1933f218a83c3abf Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Wed, 16 Oct 2013 13:23:48 +0200 Subject: BUILD: Link libsss_krb5_common.so to libkeyutils.so 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 --- Makefile.am | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 8e1fb61c..4d4c3187 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1552,6 +1552,8 @@ libsss_krb5_common_la_SOURCES = \ src/providers/krb5/krb5_access.c \ src/providers/krb5/krb5_child_handler.c \ src/providers/krb5/krb5_init_shared.c +libsss_krb5_common_la_LIBADD = \ + $(KEYUTILS_LIBS) libsss_krb5_common_la_LDFLAGS = \ -avoid-version @@ -1618,7 +1620,6 @@ libsss_krb5_la_CFLAGS = \ libsss_krb5_la_LIBADD = \ $(SYSTEMD_LOGIN_LIBS) \ $(DHASH_LIBS) \ - $(KEYUTILS_LIBS) \ $(KRB5_LIBS) \ libsss_krb5_common.la libsss_krb5_la_LDFLAGS = \ @@ -1673,7 +1674,6 @@ libsss_ipa_la_LIBADD = \ $(OPENLDAP_LIBS) \ $(DHASH_LIBS) \ $(NDR_NBT_LIBS) \ - $(KEYUTILS_LIBS) \ $(KRB5_LIBS) \ libsss_ldap_common.la \ libsss_krb5_common.la \ @@ -1730,7 +1730,6 @@ libsss_ad_la_LIBADD = \ $(OPENLDAP_LIBS) \ $(SASL_LIBS) \ $(DHASH_LIBS) \ - $(KEYUTILS_LIBS) \ $(KRB5_LIBS) \ $(NDR_NBT_LIBS) \ libsss_ldap_common.la \ -- cgit