Using system libtdb in Samba4

Jelmer Vernooij jelmer at samba.org
Fri Jun 27 18:17:31 GMT 2008


Am Freitag, den 27.06.2008, 16:47 +0200 schrieb Stefan (metze)
Metzmacher:
> Stefan (metze) Metzmacher schrieb:
> > simo schrieb:
> >> On Fri, 2008-06-27 at 14:41 +0200, Stefan (metze) Metzmacher wrote:
> >>> simo schrieb:
> >>>> On Fri, 2008-06-27 at 13:45 +0200, Stefan (metze) Metzmacher wrote:
> >>>>> Andrew Bartlett schrieb:
> >>>>>> On Wed, 2008-06-25 at 14:14 +1000, Andrew Bartlett wrote:
> >>>>>>> I'm having trouble with Samba4, now that I have it linking against the
> >>>>>>> system libtdb.
> >>>>>>>
> >>>>>>> I wonder is using the system libtdb is incompatible with the way
> >>>>>>> smbscript is built?
> >>>>>> It seems that ejs just shows up one aspect of this problem.  We also
> >>>>>> have this problem in samldb.so, where it tries to open templates.ldb
> >>>>>>
> >>>>>> Perhaps being in a shared lib messes with the duplicate open detection?
> >>>>> It seems I have the same problem on ubuntu hardy...
> >>>>>
> >>>>> But I'm not sure it's the system libtdb, because the duplicate check is
> >>>>> done outside of libtdb in lib/tdb_wrap.c, but it's likely that it's
> >>>>> loaded multiple times
> >>>> If symbols are resolved libraries are not loaded more then once.
> >>>>
> >>>> On the contrary static linking may end up (and it did) with multiple
> >>>> copies of the same library and globals that are not anymore shared by
> >>>> all parts of the software.
> >>> we do link everything into the shared modules and load them all...
> >> I know,
> >> and I am working with Jelmer to fix the problem.
> > 
> > I have a almost finished patch to do fix this, I'll post it later when
> > it's tested.
> 
> here's the branch, we build everything static without .a files,
> using MERGED_OBJ instead of STATIC_LIBRARY in the build system.
> 
> http://gitweb.samba.org/?p=metze/samba/wip.git;a=shortlog;h=v4-0-merged-obj
> 
> I need to clean this up a bit more, but it passes make quicktest.
The python modules suffer from the same problems as the ldb ones, so
you may have to revert my smbpython removal patches and use smbpython
again  rather than the system python. Unfortunately this will probably
break gtkldb and the other GTK+ frontends :-(

Cheers,

Jelmer
-- 
Jelmer Vernooij <jelmer at samba.org> - http://samba.org/~jelmer/
Jabber: jelmer at jabber.fsfe.org


More information about the samba-technical mailing list