libtdb fails to build with Python 3.11.0b1. Traceback (most recent call last): File "/builddir/build/BUILD/tdb-1.4.6/python/tests/simple.py", line 14, in <module> import tdb ^^^^^^^^^^ ModuleNotFoundError: No module named 'tdb' https://docs.python.org/3.11/whatsnew/3.11.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.11/fedora-rawhide-x86_64/04392274-libtdb/ For all our attempts to build libtdb with Python 3.11, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/package/libtdb/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.11: https://copr.fedorainfracloud.org/coprs/g/python/python3.11/ Let us know here if you have any questions. Python 3.11 is planned to be included in Fedora 37. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.11. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
The latest Fedora build has: Waf: Entering directory `/builddir/build/BUILD/tdb-1.4.6/bin/default' + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/pkgconfig/tdb.pc (from bin/default/tdb.pc) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/python3.10/site-packages/_tdb_text.py (from _tdb_text.py) [ 26/130] Linking bin/default/libtdb.so [ 36/130] Linking bin/default/pytdb.cpython-310-x86_64-linux-gnu.so + symlink /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/libtdb.so.1 (to libtdb.so.1.4.6) + symlink /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/libtdb.so (to libtdb.so.1.4.6) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/bin/tdbrestore (from bin/default/tdbrestore) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/bin/tdbdump (from bin/default/tdbdump) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/libtdb.so.1.4.6 (from bin/default/libtdb.so) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/bin/tdbbackup (from bin/default/tdbbackup) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/bin/tdbtool (from bin/default/tdbtool) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/python3.10/site-packages/tdb.cpython-310-x86_64-linux-gnu.so (from bin/default/pytdb.cpython-310-x86_64-linux-gnu.so) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/include/tdb.h (from include/tdb.h) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/share/man/man8/tdbrestore.8 (from bin/default/man/tdbrestore.8) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/share/man/man8/tdbdump.8 (from bin/default/man/tdbdump.8) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/share/man/man8/tdbbackup.8 (from bin/default/man/tdbbackup.8) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/share/man/man8/tdbtool.8 (from bin/default/man/tdbtool.8) The Python 3.11 build has: Waf: Entering directory `/builddir/build/BUILD/tdb-1.4.6/bin/default' + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/pkgconfig/tdb.pc (from bin/default/tdb.pc) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/python3.11/site-packages/_tdb_text.py (from _tdb_text.py) [ 26/130] Linking bin/default/libtdb.so [ 36/130] Linking bin/default/pytdb + symlink /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/libtdb.so.1 (to libtdb.so.1.4.6) + symlink /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/libtdb.so (to libtdb.so.1.4.6) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/bin/tdbrestore (from bin/default/tdbrestore) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/bin/tdbdump (from bin/default/tdbdump) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/libtdb.so.1.4.6 (from bin/default/libtdb.so) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/bin/tdbbackup (from bin/default/tdbbackup) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/bin/tdbtool (from bin/default/tdbtool) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/python3.11/site-packages/tdb (from bin/default/pytdb) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/include/tdb.h (from include/tdb.h) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/share/man/man8/tdbrestore.8 (from bin/default/man/tdbrestore.8) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/share/man/man8/tdbdump.8 (from bin/default/man/tdbdump.8) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/share/man/man8/tdbbackup.8 (from bin/default/man/tdbbackup.8) + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/share/man/man8/tdbtool.8 (from bin/default/man/tdbtool.8) Most interestingly, compare: + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc36.x86_64/usr/lib64/python3.10/site-packages/tdb.cpython-310-x86_64-linux-gnu.so (from bin/default/pytdb.cpython-310-x86_64-linux-gnu.so) With + install /builddir/build/BUILDROOT/libtdb-1.4.6-1.fc37.x86_64/usr/lib64/python3.11/site-packages/tdb (from bin/default/pytdb) The filename seems to be wrong.
Reported this waf issue: https://gitlab.com/ita1024/waf/-/issues/2386
Forwarding request from https://gitlab.com/ita1024/waf/-/issues/2386#note_948347309 : Can you please attach the config.log files for the two versions?
I've uploaded them to https://gitlab.com/ita1024/waf/-/issues/2386 and also figured out where the problem is.
(In reply to Miro Hrončok from comment #4) > I've uploaded them to https://gitlab.com/ita1024/waf/-/issues/2386 and also > figured out where the problem is. BTW samba uses bundled version of waf; so similar patch as in https://gitlab.com/ita1024/waf/-/merge_requests/2341 will need to be contributed there as well. https://gitlab.com/samba-team/samba/-/blob/master/third_party/waf/waflib/Tools/python.py#L331
As far as I know, the entire stack of libs and samba uses bundled waf, so each of the package will need to carry its own copy of the patch, at least that is accurate for libtdb :(
(In reply to Miro Hrončok from comment #6) > As far as I know, the entire stack of libs and samba uses bundled waf, so > each of the package will need to carry its own copy of the patch, at least > that is accurate for libtdb :( If upstream samba has patched waf than next release of libtalloc, libtevent, libtdb, libldb and samba will not require fedora patch :-) Patching upstream waf is still useful just in case upstream samba will decide to rebase bundled waf in few months/years.
I will update waf next week and backport it. https://bugzilla.samba.org/show_bug.cgi?id=15071
Hi Andreas, Can we consider this BZ done since the https://bugzilla.samba.org/show_bug.cgi?id=15071 was already merged? Kindly