Commit 996560191ac6bd603901dcd6c0de5d239e019ef4 causes strange regression
Martin Schwenke
martin at meltin.net
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 sernet.de>
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.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14288
Signed-off-by: Bjoern Jacke <bjacke at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
* 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/reqid_test_001.sh (05:37:56)
--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--
==================================================
Running "reqid_test"
--------------------------------------------------
Output (Exit status: 127):
--------------------------------------------------
reqid_test: error while loading shared libraries: libgenrand-samba4.so: 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
FAILED
==========================================================================
TEST FAILED: /usr/local/samba/share/ctdb/tests/UNIT/cunit/reqid_test_001.sh (status 1) (duration: 1s)
==========================================================================
This is really an installation failure:
[root at testtest1 ~]# ldd /usr/local/samba/libexec/ctdb/tests/reqid_test
linux-vdso.so.1 (0x00007fff261f6000)
libsamba-util.so.0 => /usr/local/samba/lib/libsamba-util.so.0 (0x00007fc9d9970000)
libgenrand-samba4.so => not found
libsocket-blocking-samba4.so => not found
libutil-setid-samba4.so => not found
libtevent.so.0 => /lib64/libtevent.so.0 (0x00007fc9d975c000)
libsamba-debug-samba4.so => not found
libtime-basic-samba4.so => not found
libsys-rw-samba4.so => not found
libtalloc.so.2 => /lib64/libtalloc.so.2 (0x00007fc9d9547000)
libreplace-samba4.so => not found
libiov-buf-samba4.so => not found
libicui18n.so.60 => /lib64/libicui18n.so.60 (0x00007fc9d9086000)
libgnutls.so.30 => /lib64/libgnutls.so.30 (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
linux-vdso.so.1 (0x00007ffe1c6b8000)
libsocket-blocking-samba4.so => /usr/local/samba/lib/private/libsocket-blocking-samba4.so (0x00007fa8c1f3c000)
libtevent.so.0 => /usr/local/samba/lib/private/libtevent.so.0 (0x00007fa8c1d24000)
libtevent-util.so.0 => /usr/local/samba/lib/libtevent-util.so.0 (0x00007fa8c1b1f000)
libsys-rw-samba4.so => /usr/local/samba/lib/private/libsys-rw-samba4.so (0x00007fa8c191c000)
libtdb.so.1 => /usr/local/samba/lib/private/libtdb.so.1 (0x00007fa8c1701000)
libreplace-samba4.so => /usr/local/samba/lib/private/libreplace-samba4.so (0x00007fa8c14ff000)
libtalloc.so.2 => /usr/local/samba/lib/private/libtalloc.so.2 (0x00007fa8c12f5000)
libsamba-util.so.0 => /usr/local/samba/lib/libsamba-util.so.0 (0x00007fa8c107b000)
libiov-buf-samba4.so => /usr/local/samba/lib/private/libiov-buf-samba4.so (0x00007fa8c0e79000)
libsamba-errors.so.1 => /usr/local/samba/lib/libsamba-errors.so.1 (0x00007fa8c0b23000)
libgenrand-samba4.so => /usr/local/samba/lib/private/libgenrand-samba4.so (0x00007fa8c0921000)
libutil-setid-samba4.so => /usr/local/samba/lib/private/libutil-setid-samba4.so (0x00007fa8c071f000)
libsamba-debug-samba4.so => /usr/local/samba/lib/private/libsamba-debug-samba4.so (0x00007fa8c0515000)
libtime-basic-samba4.so => /usr/local/samba/lib/private/libtime-basic-samba4.so (0x00007fa8c0313000)
libicui18n.so.60 => /lib64/libicui18n.so.60 (0x00007fa8bfe52000)
libicudata.so.60 => /lib64/libicudata.so.60 (0x00007fa8be2a8000)
...
For the affected binary, it appears to be unable to find anything
/usr/local/samba/lib/private/.
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.
Thanks...
peace & happiness,
martin
More information about the samba-technical
mailing list