Bug#1102465: petsc: PETSc was configured with one MPICH/Open MPI mpi.h version but now appears to be compiling using an older version
Alastair McKinstry
alastair.mckinstry at mckinstry.ie
Thu Mar 19 13:06:54 GMT 2026
On 19/03/2026 11:49, Drew Parsons wrote:
> 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
>>>
>> 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.
>
There is (supposed to be) no transition; MPI standard v5 designates a
standard ABI, but no change in the API.
I will need to dig into PETSc to understand how it sees two versions.
MPICH provides a new libmpi_abi.so that supplies the new ABI, so as to
not break libmpich.so.12
I will need to see if this is specified in v5, or what OpenMPI is
expected to do.
> 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.
>
Yes, work will be needed in both to make them intercompatible.
Alastair
> Drew
>
> [1] true story. https://gitlab.com/petsc/petsc/-/work_items/1879
More information about the debian-science-maintainers
mailing list