On 2023-12-26 12:45, Drew Parsons wrote:
I can manually reproduce the error trivially on an arm64 chroot
(amdahl.debian.org). Copying hello.f90 from openmpi's debian/tests
and manually running
mpif90 -o hello hello.f90
reproduces the error reference to the x86_64 include path on the arm64
machine.
`mpif90.openmpi -print-search-dirs` only shows aarch64 paths though.
I guess the problem must be the common files from openmpi-common in
/usr/share/openmpi/. They're not actually arch-independent. Do
mpif90.openmpi and the other components actively read them at runtime?
For instance, /usr/share/openmpi/mpif90.openmpi-wrapper-data.txt
contains
fmoddir=/usr/include/x86_64-linux-gnu/fortran/gfortran-mod-15
Since openmpi-common is marked Arch: all, it's only built once, on
amd64, hence x86_64-linux-gnu gets carried to the other arches. The
compiler_flags variables is also affected, alongside as fmoddir.
It looks like only the mpi fortran wrapper txts are affected,
mpif77-wrapper-data.txt
mpif77.openmpi-wrapper-data.txt
mpif90-wrapper-data.txt
mpif90.openmpi-wrapper-data.txt
mpifort-wrapper-data.txt
mpifort.openmpi-wrapper-data.txt
Should these be moved from openmpi-common to libopenmpi-dev (or
openmpi-bin)
at /usr/lib/<multiarch>/openmpi/share ?