[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1117555: RM: python3-dolfinx/1:0.9.0-7 python3-scifem/0.6.0-2



On 2025-10-07 22:05, Paul Gevers wrote:
Hi Drew,

On 10/7/25 21:37, Drew Parsons wrote:
python3-dolfinx (python3-dolfinx-real, python3-dolfinx-complex)
and python3-scifem in testing are out of sync with nanobind, recently
updated to 2.9.2-2.  The issue is the nanobind ABI, now updated to
python3-nanobind-abi16.

dolfinx and scifem are updated to python3-nanobind-abi16, but the
versions in testing are ignorant of the nanobind ABI This causes debci
errors in migration testing so the new versions are prevented from
migrating to testing. Fixing this is the reason for the updates in
unstable.


I don't follow. nanobind already migrated to testing a week ago. How can the packages in testing pass if this is the problem? It's the packages from unstable that don't pass in testing. I notice that the packages seem to pass in unstable. Are you missing another (versioned) (test) dependency maybe?

No, it's due to the nature of how the python extensions use nanobind.
The dependency on nanobind is actually a Build-Dependency only. The ABI gets inserted into the built python extensions (the python package .so) so at runtime the packages no longer need nanobind.

The problem is that with the fenics packages, the different components use each other. So the old python3-dolfinx (build against old nanobind) fails to work with the new rebuilt python3-basix (build against new nanobind with python3-nanobind-abi16). Old python-dolfinx does not know that it is incompatible with new python3-basix.

Dependency on the virtual package, python3-nanobind-abi16, is intended to fix the situation, and is the change that has been made in unstable that I am trying to migrate.

So at the moment when python3-basix/0.9.0-3 (built with the new python3-nanobind-abi16) tries to migrate, it tests against old python3-dolfinx/1:0.9.0-7 (build against old nanobind). But python3-dolfinx/1:0.9.0-7 does not know that it is incompatible with python3-nanobind-abi16 (against, this is the problem fixed in unstable), and so the CI daemon does not think to try with new python3-dolfinx/1:0.9.0-8 instead.

So once python3-dolfinx/1:0.9.0-7 and python3-scifem/0.6.0-2 are cleared from testing, there well be clean slate, allowing python3-basix/0.9.0-3 to migrate together with python3-dolfinx/1:0.9.0-8 and python3-scifem/ 0.10.0-1. After that there ought to be no further issues, since python3-nanobind-abi16 will then be used to monitor these dependencies.

Drew


Reply to: