[Pkg-samba-maint] samba-4.16 progress so far

Michael Tokarev mjt at tls.msk.ru
Mon Mar 28 07:31:44 BST 2022


28.03.2022 01:50, Andrew Bartlett wrote:
> On Sun, 2022-03-27 at 23:14 +0300, Michael Tokarev wrote:
>> A simple (hopefully) set of questions.
>>
>>     --bundled-
>> libraries=NONE,pytevent,iniparser,roken,replace,wind,hx509,asn1,\
>>          heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,com_err,compile
>> _et,asn1_compile \
> 
> As per my other mail, try NONE,pytevent or even NONE.

The libldb patch added a few more:

   ldb,pyldb,pyldb-util$(PYTHON_SUFFIX)

so it seems - also as per your other email - *these* should stay.
Ok.


>>     --builtin-libraries=ccan,samba-cluster-support \
> 
> My guess is that --builtin-libraries=ccan,samba-cluster-support was
> added at some point when the extra work to include these small .so
> files was considered 'not worth the pain' compared with the static link
> cost.  But perhaps someone remembers.

I found this:

samba (2:4.3.0+dfsg-2) experimental; urgency=medium

   * Re-enable cluster support.
    + Build samba-cluster-support as built-in library, since its dependencies
      are broken.

  -- Jelmer Vernooij <jelmer at debian.org>  Mon, 28 Sep 2015 00:34:51 +0000

it is there since then.

Well, this is interesting. There are 2 points here.

first, when builtin-libraries includes samba-cluster-support, the
build fails at linking smbd: the linker does not find
messaging_ctdb_connection symbol which is the one provided by
samba-cluster-support. In order to (temporarily) fix that,
I explicitly added samba-cluster-support into deps of the
smbd link line in source3/wscript_build (it was a static link
indeed, needed to be added to smbd only).

And second, after removing samba-cluster-support from the
builtin-libraries, the resulting libsamba-cluster-support.so
is linked to from a few other libraries as well as from smbd.

samba-cluster-support is included as a dependency into TDB_LIB.
Which is included into samba3core and by a chain, to smbd too,
I think, so smbd should be fine. Also TDB_LIB is listed as
a dep of notifyd. But only smbd link fails, not other binaries.
It looks like something's not right with the deps in there.
Maybe no other system actually _uses_ the only real symbol
this library provides, which is messaging_ctdb_connection.

Either way, removing samba-cluster-support from
builtin-libraries fixes this.

> ccan has gone away in the meantime.

It is still listed in ctdb/wscript's samba_dist.DIST_DIRS:
  lib/ccan:lib/ccan
Perhaps it should be removed from there too? :)

>> What does it mean?  For one, samba-cluster-support is missing during
>> link
>> of smbd without a patch/hack, I can try relinking without this --
>> builtin-libraries
>> and without the patch to see if that fixes the prob.
>>
>> Should we perhaps refresh the list for v4.16?
>>
>>     --minimum-library-version="$(shell ./debian/autodeps.py --minimum-
>> library-version)" \
>>
>> what it is supposed to do?
> 
> My suggestion is to remove this line, and the --minimum-library-version
> feature of autodeps.py.  It exists to allow an override of Samba's
> upstream rule that we must use a matching library version, and presumes
> better-than-samba knowledge of the situation.

Yeah, I took a look at this machinery after sending this email,
and found out how/why it is/was used.  I don't see there's a real
need for this, - in case it actually will be needed, it can be
done with a source-level patch instead.

> Thank you so much for your efforts and patience!

Andrew, you're thanking me every time.. this is a pleasure, --
thank you for that!, -- but this is also unnecessary :)
I rarely do something just to throw it away mid-path :)

What I really need is some help. Which you do provide, and
*this* is really good.  Hopefully we'll be able to work
through all this soon ;)

Best, and thank you very much for your help!

/mjt



More information about the Pkg-samba-maint mailing list