[SSSD] [PATCH] MAKE: Link libsss_ldap.so with ldap libraries

Lukas Slebodnik lslebodn at redhat.com
Fri May 30 12:22:42 UTC 2014


On (30/05/14 14:02), Jakub Hrozek wrote:
>On Thu, May 29, 2014 at 02:15:35PM +0200, Lukas Slebodnik wrote:
>> ehlo,
>> 
>> I was testing patch for building man pages on ubuntu and
>> there was problem with linking some tests and dlopen-test failed.
>> 
>> I was not able to reproduce the same problem on fedora with the same
>> linking flags and patched version of libtool.
>> 
>> We should link libsss_ldap_common.so with LDAP libraries.
>> nm --dynamic --undefined-only .libs/libsss_ldap_common.so  | grep -E "ldap_|ber_"
>>                  U ber_alloc_t
>>                  U ber_bvfree
>>                  U ber_flatten
>>                  U ber_free
>>                  U ber_memfree
>>                  U ber_printf
>>                  U ber_pvt_opt_on
>>                  U ber_sockbuf_alloc
>>                  U ber_sockbuf_ctrl
>>                  U ber_sockbuf_free
>>                  U ldap_abandon_ext
>>                  U ldap_control_create
>> //snip
>>                  U ldap_set_rebind_proc
>>                  U ldap_start_tls
>>                  U ldap_str2dn
>>                  U ldap_tls_inplace
>>                  U ldap_unbind_ext
>>                  U ldap_url_desc2str
>>                  U ldap_url_parse
>>                  U ldap_value_free_len
>> 
>> LS
>
>> From 72d0a12766ab6b1b9d0bc5462e08dad530216122 Mon Sep 17 00:00:00 2001
>> From: Lukas Slebodnik <lslebodn at redhat.com>
>> Date: Thu, 29 May 2014 14:05:06 +0200
>> Subject: [PATCH] MAKE: Link libsss_ldap.so with ldap libraries
>> 
>> Tests ad_common_tests, test_search_bases, ad_access_filter_tests could not be
>> linked on ubuntu and dlopen test faild as well.
>> 
>> Running suite(s): dlopen
>> 0%: Checks: 1, Failures: 1, Errors: 0
>> src/tests/dlopen-tests.c:143:F:dlopen:test_dlopen_base:0:
>>     Error opening libsss_ldap.so: [dlopen() failed: sssd-1.11.90/.libs/libsss_ldap_common.so:
>>                                    undefined symbol: ber_pvt_opt_on]
>> ---
>>  Makefile.am | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>> 
>> diff --git a/Makefile.am b/Makefile.am
>> index ac466a329e2e2c3f0a9a99adadb308c97000cdd5..eacaca07aa22ecd33a6e08073f2f42a1388596a6 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -1995,6 +1995,7 @@ libsss_ldap_common_la_SOURCES = \
>>  libsss_ldap_common_la_CFLAGS = \
>>      $(KRB5_CFLAGS)
>>  libsss_ldap_common_la_LIBADD = \
>> +    $(OPENLDAP_LIBS) \
>
>This part looks good to me, but..
>
>>      $(KRB5_LIBS) \
>>      libsss_krb5_common.la \
>>      libsss_idmap.la
>> @@ -2600,7 +2601,7 @@ if GIT_CHECKOUT
>>  # When we're building RPMs from a git checkout,
>>  # we don't want to be bothered with translation
>>  # updates
>> -	git checkout $(srcdir)/po $(srcdir)/src/man/po
>> +	git --work-tree $(srcdir)/ checkout -f po src/man/po
>>  endif
>>  	cp $(builddir)/contrib/sssd.spec $(RPMBUILD)/SPECS
>>  	cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
>> @@ -2612,7 +2613,7 @@ rpms: rpmbrprep
>>  if GIT_CHECKOUT
>>  prerelease-rpms:
>>  	cp $(srcdir)/version.m4 $(srcdir)/version.m4.orig
>> -	sed -e "s/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.*\])/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.`date +%Y%m%d.%H%M`.git`git log -1 --pretty=format:%h`\])/" < $(srcdir)/version.m4.orig > $(srcdir)/version.m4
>> +	sed -e "s/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.*\])/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.`date +%Y%m%d.%H%M`.git`git log -1 --pretty=format:%h`.`git symbolic-ref --short HEAD | sed -e 's/[-/~]/_/g' `\])/" < $(srcdir)/version.m4.orig > $(srcdir)/version.m4
>
>..is this part supposed to be in this patch?
>
No.

New version attached.

LS
-------------- next part --------------
>From e2af24c56a4a3bef3d967e7a462243386a6a4f42 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Fri, 30 May 2014 14:21:01 +0200
Subject: [PATCH] MAKE: Link libsss_ldap.so with ldap libraries

Tests ad_common_tests, test_search_bases, ad_access_filter_tests could not be
linked on ubuntu and dlopen test faild as well.

Running suite(s): dlopen
0%: Checks: 1, Failures: 1, Errors: 0
src/tests/dlopen-tests.c:143:F:dlopen:test_dlopen_base:0:
    Error opening libsss_ldap.so: [dlopen() failed: sssd-1.11.90/.libs/libsss_ldap_common.so:
                                   undefined symbol: ber_pvt_opt_on]
---
 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile.am b/Makefile.am
index 652cf67236b3b7020cc4afcbf46fa3456fcbfefd..50e3968cb91f03102051ad12cc37e84c66d6c719 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2004,6 +2004,7 @@ libsss_ldap_common_la_SOURCES = \
 libsss_ldap_common_la_CFLAGS = \
     $(KRB5_CFLAGS)
 libsss_ldap_common_la_LIBADD = \
+    $(OPENLDAP_LIBS) \
     $(KRB5_LIBS) \
     libsss_krb5_common.la \
     libsss_idmap.la
-- 
1.9.3



More information about the sssd-devel mailing list