[SSSD] beta1 runtime error acl.c

Lukas Slebodnik lslebodn at redhat.com
Fri May 10 22:05:07 UTC 2013


On (10/05/13 22:33), steve wrote:
>On 10/05/13 13:26, Sumit Bose wrote:
>>On Fri, May 10, 2013 at 11:51:44AM +0200, steve wrote:
>>>On 10/05/13 11:23, Sumit Bose wrote:
>>>>On Fri, May 10, 2013 at 11:02:08AM +0200, steve wrote:
>>>>>On 10/05/13 10:49, Jakub Hrozek wrote:
>>>>>>On Fri, May 10, 2013 at 10:46:01AM +0200, steve wrote:
>>>>>>>Hi
>>>>>>>openSUSE 12.3
>>>>>>>The build and install goes OK but upon running sssd:
>>>>>>>
>>>>>>>  sssd -i -d3
>>>>>>>ldb: module version mismatch in
>>>>>>>../source4/dsdb/samdb/ldb_modules/acl.c : ldb_version=1.1.14
>>>>>>>module_version=1.1.15
>>>>>>>ldb: failed to initialise module /usr/lib/ldb/acl.so : Unavailable
>>>>>>>(Fri May 10 09:56:58:975063 2013) [sssd] [load_configuration]
>>>>>>>(0x0010): The confdb initialization failed
>>>>>>>(Fri May 10 09:56:58:981620 2013) [sssd] [main] (0x0020): SSSD
>>>>>>>couldn't load the configuration database.
>>>>>>>
>>>>>>>Any ideas?
>>>>>>>Cheers,
>>>>>>>Steve
>>>>>>
>>>>>>Is there any chance you compiled the SSSD with a different ldb version
>>>>>>that you are using during runtime?
>>>>>Hi
>>>>>I built samba4 (to get the sssd dependencies, openSUSE has no stable
>>>>>samba4-devel) on the same box immediately before I built sssd so I
>>>>>assume that the versions must be the same.
>>>>
>>>>ah, you've build samba4 yourself. Then you have to make sure that either
>>>>samba uses the system libraries or sssd uses the libraries created by
>>>>your samba build. One of the Fedora configure options is:
>>>>
>>>>--bundled-libraries=heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb
>>>>
>>>>which tells the samba build system to build the internal heimdal
>>>>library, but use system libraries for the others. But since the system
>>>>libraries of OpenSUSE are a bit older then the ones from you samba build
>>>>I'm not sure if all requirements are met here.
>>>>
>>>>Alternatively you can build a libldb-1.1.15 package on you own and
>>>>replace the offical OpenSUSE package with your new one.
>>>>
>>>>HTH
>>>>
>>>>bye,
>>>>Sumit
>>>>>
>>>
>>>Hi
>>>I think it's using the correct libs. I copied /usr/local/samba/lib/*
>>>to /usr/lib and /usr/local/samba/include/* to /usr/include
>>>
>>>A bit unorthodox I know, but the only way I could get it to build.
>>>ldconfig just didn't do it.
>>>Steve
>>
>>But still sssd was build against the older version, can you check if
>>/usr/lib/libldb.so really points to the new version and not to the old
>>one?
>>
>>bye,
>>Sumit
>>
>>>
>
>Hi
>It's working now I installed 1.1.15 Just trying to understand this. I
>know that samba4 was built with 1.1.14 because it's the version that
>comes with openSUSE 12.3, so there must be something in the sssd
>build that demands 1.1.15. My logic is that I did not have to rebuild
>samba4 after I had installed 1.1.15, just sssd. Conclusion: sssd beta
>requires libldb-1.1.15. How is my reasoning?


  sssd -i -d3
ldb: module version mismatch in
../source4/dsdb/samdb/ldb_modules/acl.c : ldb_version=1.1.14
module_version=1.1.15
ldb: failed to initialise module /usr/lib/ldb/acl.so : Unavailable
(Fri May 10 09:56:58:975063 2013) [sssd] [load_configuration]
(0x0010): The confdb initialization failed
(Fri May 10 09:56:58:981620 2013) [sssd] [main] (0x0020): SSSD
couldn't load the configuration database.

        ^^^^^^
I will try to explain it.

SSSD needs only one ldb module "memberof.so", which is built together with sssd
and installed to ldb modules directory. SSSD initialize ldb and expects,
that memberof.so plugin will be automatically loaded. But ldb automatically
tries to load each file in ldb module directory.

In your case ldb(version=1.1.14) tried to load plugin acl.so, which was built
against ldb version(1.1.15). And therefore "The confdb initialization failed"
I think that it should not happen, that you have ldb modules built
with different ldb version. If there was only plugin "memberof.so"
in ldb modules directory, sssd would start without failure.

After installation of ldb version 1.1.15:
You built sssd again. You started sssd. SSSD tried to initialize ldb.
LDB didn't have problem to load all modules, because the module_version of
file acl.so(and others) was the same like ldb_version and therefore
sssd did not fail.

LS



More information about the sssd-devel mailing list