autobuild requires lmdb (was: Re: WAF 2.x upgrade status)

Andrew Bartlett abartlet at
Tue Jul 3 20:21:25 UTC 2018

On Tue, 2018-07-03 at 23:06 +0300, Alexander Bokovoy wrote:
> On ke, 04 heinä 2018, Andrew Bartlett via samba-technical wrote:
> > On Tue, 2018-07-03 at 14:10 +0300, Alexander Bokovoy wrote:
> > >  - it is not possible to run full autobuild on a system with ldb without
> > >    lmdb. This is reproducible on Gitlab runners as well.
> > 
> > This is by design.  I didn't even what such builds to be possible for
> > this reason, but we got caught by the 32bit implications at the last
> > moment.
> That's not my point. Why other builds are successfull then with the same
> runners in gitlab if they are supposed to fail?

So, to be more specific (thanks for the CI link, I should have followed
it before, and it demonstrates how valuable this is:

The "test" job in the "ldb" autobuild target in the "samba-others" CI
job as demonstrated here fails:

It fails with "make test called, but ldb was built --without-ldb-lmdb"
however that is not true (the --without-ldb-lmdb stage is next, called

We know this because of the configure output:

Checking for lmdb >= 0.9.16                                                                     : not found 
Checking for header lmdb.h                                                                      : yes 
Checking for lmdb >= 0.9.16 via header check                                                    : ok 
Checking for library lmdb                                                                       : yes 
Checking for mdb_env_create                                                                     : ok 

That suggests that while the mechanism used to pass the status as to if
LMDB was built is no longer connected in the same way between the
*configure* and *make test* components of waf. 

The failure is a red herring and the 'check' did it's job (in a way),
and also demonstrates why I avoid optional tests.

When you do finally propose this, please save the full set of CI logs
from master and the final branch and do a diff (ignoring test times). 
It will be important to check for differences, particularly in the list
of tests executed and the configure outputs.  

I hope this helps!

Andrew Bartlett

Andrew Bartlett             
Authentication Developer, Samba Team
Samba Developer, Catalyst IT

More information about the samba-technical mailing list