is external talloc and external tdb a requirement for building samba with ctdb

Andrew Bartlett abartlet at
Sun Sep 16 11:53:08 MDT 2012

On Sun, 2012-09-16 at 10:35 -0700, Matthieu Patou wrote:
> On 09/16/2012 09:44 AM, Andrew Bartlett wrote:
> > On Sun, 2012-09-16 at 08:57 +0200, Michael Adam wrote:
> >> On 2012-09-15 at 23:20 -0700, Matthieu Patou wrote:
> >>> Hello,
> >>>
> >>> I was trying to build samba with the ctdb support from the top waf build
> >>> and it fails to detect my ctdb because the include for <tdb.h> and
> >>> <talloc.h> failed.
> >>> In theory if I'm building them internally the internal path should be
> >>> added during the test for detection of ctdb no ?
> >> I guess so.
> >>
> >> In the autobuild "samba-ctdb" target, I in fact compile, and
> >> install tdb first (system talloc not being required by ctdb
> >> master, apparently) and run samba configure with
> >> "--bundled-libraries=!tdb".
> >>
> >> But we should find a way to fix that to work against built-in
> >> paths.
> > To avoid duplicate symbols, you would need to have both built against a
> > 'system' talloc/tdb.
> It seems that on sn-devel we have already a system talloc that's why we 
> might only need to specify --bunled-libraries=!tdb
> >    Indeed, given how it will be used, ctdb should be
> > the one insisting on this.
> Can you develop this point ? what prevents samba to use the internal 
> library once we fix the waf code for the detection of ctdb.h ?
> Because here ihmo the problem is that when we are building with the 
> bundled library we don't add the search path for the bundled lib into 
> waf's snippet.

TDB and talloc both have bad failure modes (hopefully prevented/detected
by our duplicate symbol detection code) if the static symbols end up
twice in a single process. 

That is why with Openchange and CTDB, we can't use as 'internal' talloc
or tdb. 

Andrew Bartlett

Andrew Bartlett                      
Authentication Developer, Samba Team 

More information about the samba-technical mailing list