On 2026-03-19 11:47, Adrian Bunk wrote:
On Thu, Mar 19, 2026 at 02:13:25AM +0100, Drew Parsons wrote:
Source: petsc
Followup-For: Bug #1102465
As pointed out already in this bug, this warning is not a bug in
PETSc.
It is working entirely as intended.
No information was given with this bug reopening.
...
I forgot to unarchive the bug before sending the explanation,
but you should have received the personal copy of it:
Date: Wed, 18 Mar 2026 13:43:22 +0200
From: Adrian Bunk <[email protected]>
...
The bug is still present in 3.24.4+dfsg1-1 (see i386):
https://tracker.debian.org/pkg/mpich
...
∙ ∙ Autopkgtest for petsc/3.24.4+dfsg1-1: amd64: Pass, arm64: Pass,
i386: Regression ♻ (reference ♻), ppc64el: Pass, s390x: Pass
...
I presume it refers to the 32-bit build failures of reverse
dependencies, which is happening due to the upgrade of mpich from v4
to >v5.
Yes.
petsc (and all other MPI packages) needs to be rebuilt against
the new mpich (on 32-bit arches)
(the mpich upgrade needs a transition bug).
...
If this is true, then mpich v5 needs a new soname (or at least a
package
rename) to ensure that packages built against v4 won't use v5.
One of the following claims is incorrect:
- mpich claims v5 is compatible with v4
- petsc claims v4 and v5 are incompatible
Thanks for the extra detail
I think part of the situation comes from the historical development of
the MPI implementations,
and from PETSc trying to manage bug reports coming from different MPI
libraries and their different versions.
True, mpich is still provided by libmpich12, so it's not a question of
transitioning libmpich4 to libmpich5 (I had forgotten that point).
So there is some ABI compatibility. It is possible that PETSc is being
over-sensitive due to problems that had been arising in the past but are
no longer a great problem.
The question of ABI compatibility will get even more complex, or simpler
depending on your perspective, in the future when the MPI
implementations move to MPI standard 5, which will provide a common
stable ABI that will enable swap-out between OpenMPI and MPI (and other
implementations). I say "future", but actually that's what mpich v5 is
already, it's supporting the new MPI-5 standard.
The apparent compatibility that we're seeing between mpich v4 and v5
might be part of that move to a more stable interface, which is a new
development. Once the MPI-5 standard and its common ABI is fully
implemented and operating (i.e. once users are routinely using openmpi
v5 or mpich v5), I can expect PETSc upstream will be able reevaluate and
relax their version tests (at the moment their attention is on ensuring
past library versions continue to work, with, as an example of the types
of bugs they have to deal with, nvidia's cuda fortran compiler still not
supporting an 8-year-old fortran standard [1]).
In the short term I think the simplest thing right now for petsc is to
just rebuild for the new version 3.24.5, which will reset the 32-bit
builds to mpich v5.
Beyond that, perhaps both the openmpi and mpich packages will want to be
reconfigured so they can equally and alternatively be installed as the
preferred MPI on any system. The situation would then probably be
similar to what we do with BLAS/LAPACK and the various alternative
optimised BLAS implementations.
Drew
[1] true story. https://gitlab.com/petsc/petsc/-/work_items/1879