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

Lukas Slebodnik lslebodn at redhat.com
Mon Mar 17 06:53:37 UTC 2014


On (15/03/14 17:57), Lukas Slebodnik wrote:
>On (12/11/13 11:15), Simo Sorce wrote:
>>On Tue, 2013-11-12 at 11:03 -0500, Simo Sorce wrote:
>>> On Tue, 2013-11-12 at 16:23 +0100, Lukas Slebodnik wrote:
>>
>>> > Updated patches are attached.
>>> 
>>> This is not the right way to fix the failure.
>>> 
>>> That library *knowingly* has missing symbols because it is an internal
>>> library.
>>> 
>>> You need to build or link to an outer program that have only the
>>> necessary symbols you know are going to be available.
>>> 
>>> In this case those symbols are in libsss_krb5.so, so all you should nee
>>> to do is to have this in tests:
>>> 
>>> +    { "libsss_krb5_common.so", { LIBPFX"libdlopen_test_providers.so",
>>> +                                 LIBPFX"libsss_krb5_common.so",
>>> + 				  LIBPFX"libsss_krb5.so",
>>> + 				  NULL } },
>>> 
>>> Adding c files to librraies to "make them pass" the dl-open test is
>>> wrong in 99% of the cases. you are just making the test pass not testing
>>> that the libraries have the right dependencies. In particular for
>>> internal modules you really need to understand the hierarchy of the
>>> modules and link in the test all the necessary dependencies before
>>> thinking of adding any file to the module itself.
>>> 
>>> In this case what you did was to duplicate symblos in the resulting Text
>>> file, and that can potentially cause very serious consequencies if any
>>> of those symbols is a static symbols that is meant to have a share de
>>> value all code rely on.
>>
>>Oh let me add.
>>I did my check very quickly so it is possible that my version is not the
>>final correct approach, I was just describing how you should pass in
>>multiple libs for dependency.
>>
>>It is possible that you need those symbols directly in
>>libsss_krb5_common.so, but if that is actually the case, then it means
>>you have to remove those symbols from libsss_krb5.so and add them
>>libsss_krb5_common.so as dependency for libsss_krb5.so in makefile and
>>tests. This may even require moving functions from one file to another
>>in the extreme case.
>>
>
>zombie patches are returning :-)
>
>I hope all commit messages are self descripting.
>
>They were lot of changes in Makefile.am
>sh-4.2$ git diff --stat HEAD~6..HEAD Makefile.am
> Makefile.am | 99 +++++++++++++++++++------------------------------------------
> 1 file changed, 31 insertions(+), 68 deletions(-)
>
>LS

>From 457eaee99fb5afba5f6dd3752efcf78ce19d723c Mon Sep 17 00:00:00 2001
>From: Lukas Slebodnik <lslebodn at redhat.com>
>Date: Sat, 15 Mar 2014 17:29:25 +0100
>Subject: [PATCH 5/6] BUILD: Move duplicated files from providers to
> libsss_ldap_common.so
>

self-NACK

make distcheck fails with 5th patch.

LS



More information about the sssd-devel mailing list