WAF 2.x upgrade status

Martin Schwenke martin at meltin.net
Fri Jul 6 00:05:20 UTC 2018

On Thu, 5 Jul 2018 21:32:37 +0300, Alexander Bokovoy via
samba-technical <samba-technical at lists.samba.org> wrote:

> On to, 05 heinä 2018, Alexander Bokovoy via samba-technical wrote:
> > On to, 05 heinä 2018, Amitay Isaacs wrote:  
>  [...]  
>  [...]  
>  [...]  
> > > 
> > > I'm not sure what the correct thing to do is.  Did you change the bin
> > > directory explicitly? Or did that change happen automatically with
> > > waf-2.0?  
> > It is result of unification. waf 2.0 has now 'top' and 'out' to point to
> > source and binary build directories. We also use 'top' to find out where
> > buildtools are, so end result is that out is defined as $top/bin.
> > 
> > It seems to play well with lib/* libraries.
> >   
> > > If it's not too much trouble, then it's easier to do sub-directory
> > > builds (e.g. do tdb or talloc build for testing) and discard them
> > > without having to touch the top-level build.  
> > I'll look what could be done to preserve this use case.  
> I've got a green run!
> https://gitlab.com/samba-team/devel/samba/pipelines/25198995
> This patchset does not need additional patches for ctdb to find test
> scripts as I restored previous defaults of build dir being 'bin'
> everywhere.
> However, the patchset still fails full autobuild on Fedora 28. The
> failure I have is that ctdb test fails on F28:
> *FAILED* tests/eventscripts/10.interface.multi.001.sh
> while it passes in Gitlab runners (and on sn-devel, I'm sure). This
> looks like a genuine issue Martin was going to look into.

Sorry for not replying earlier.  I had seen it earlier, implicitly
fixed it in a branch, forgot what the problem was and then Amitay fixed
it yesterday:

commit a30ac853ff9bca023c53ad98775eabb23156c566 (origin/master, origin/HEAD)
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Jul 5 13:40:33 2018 +1000

    ctdb-tests: Avoid segfault by initializing logging
    This is in addition to af697008531.
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>


This is now in master.

It looks like gcc 8.0 (or similar) now makes it a run-time error to
assign into a static const variable (or similar).  We've been assigning
to DEBUGLEVEL for years in CTDB without necessarily calling
setup_logging() and the compiler has let us get away with it.  However,
the latest gcc puts the data in a protected (read-only?) area and
the program crashes when you assign into that area.

peace & happiness,

More information about the samba-technical mailing list