Commit 996560191ac6bd603901dcd6c0de5d239e019ef4 causes strange regression

Martin Schwenke martin at
Mon Mar 8 01:39:39 UTC 2021

I want to flag this regression as soon as possible (before I really
understand it) because 4.12.12 is due for release on Thursday and this
may be the last 4.12.x release, due to the imminent release of 4.14.0.

This is the commit in question:

commit 996560191ac6bd603901dcd6c0de5d239e019ef4
Author: Björn Jacke <bj at>
Date:   Tue Mar 2 22:47:35 2021 +0100

    wscript: use --as-needed only if tested successfully
    Some OSes like Solaris based OmiOS don't support this.
    Signed-off-by: Bjoern Jacke <bjacke at>
    Reviewed-by: Andrew Bartlett <abartlet at>

* This currently affecting a CTDB test binary but might also be silently
  affecting other binaries that aren't tested after  install.

* It may also be a bug in ctdb/wscript that has been activated by this
  change but I haven't been able to find it.

* So far I only see it on a CentOS 7 test node but it happens in all
  branches where it has been applied.

  I assumed it was a generic installation/linking problem but I can't
  recreate it on Debian testing.

* Reverting the above commit fixes the problem.

It causes a very strange test failure:

Running test /usr/local/samba/share/ctdb/tests/UNIT/cunit/ (05:37:56)
Running "reqid_test"
Output (Exit status: 127):
reqid_test: error while loading shared libraries: cannot open shared object file: No such file or directory
Required output (Exit status: 0):
WARNING: attempt to remove unset id 0 in idtree
WARNING: attempt to remove unset id 1 in idtree
WARNING: attempt to remove unset id 2 in idtree
WARNING: attempt to remove unset id 1023 in idtree

TEST FAILED: /usr/local/samba/share/ctdb/tests/UNIT/cunit/ (status 1) (duration: 1s)

This is really an installation failure:

[root at testtest1 ~]# ldd /usr/local/samba/libexec/ctdb/tests/reqid_test (0x00007fff261f6000) => /usr/local/samba/lib/ (0x00007fc9d9970000) => not found => not found => not found => /lib64/ (0x00007fc9d975c000) => not found => not found => not found => /lib64/ (0x00007fc9d9547000) => not found => not found => /lib64/ (0x00007fc9d9086000) => /lib64/ (0x00007fc9d8c95000)

Other test binaries that also depend on some of the above "not found"
things have no problem:

[root at testtest1 ~]# ldd /usr/local/samba/libexec/ctdb/tests/sock_daemon_test (0x00007ffe1c6b8000) => /usr/local/samba/lib/private/ (0x00007fa8c1f3c000) => /usr/local/samba/lib/private/ (0x00007fa8c1d24000) => /usr/local/samba/lib/ (0x00007fa8c1b1f000) => /usr/local/samba/lib/private/ (0x00007fa8c191c000) => /usr/local/samba/lib/private/ (0x00007fa8c1701000) => /usr/local/samba/lib/private/ (0x00007fa8c14ff000) => /usr/local/samba/lib/private/ (0x00007fa8c12f5000) => /usr/local/samba/lib/ (0x00007fa8c107b000) => /usr/local/samba/lib/private/ (0x00007fa8c0e79000) => /usr/local/samba/lib/ (0x00007fa8c0b23000) => /usr/local/samba/lib/private/ (0x00007fa8c0921000) => /usr/local/samba/lib/private/ (0x00007fa8c071f000) => /usr/local/samba/lib/private/ (0x00007fa8c0515000) => /usr/local/samba/lib/private/ (0x00007fa8c0313000) => /lib64/ (0x00007fa8bfe52000) => /lib64/ (0x00007fa8be2a8000)

For the affected binary, it appears to be unable to find anything

I'll spend more time on this later... but I'm hoping that someone else
has a clue and is able to understand what is happening.


peace & happiness,

More information about the samba-technical mailing list