Hi,

This is a note to point out that as of the latest uploads (mpich
3.3b2-2, openmpi-3.0.1-6), both openmpi and mpich are now multi-arch
enabled.

I've been testing this in experimental releases for a while and
discussing in bug reports, but its worth documenting fully now.

Basically:

lib$(MPI)-dev now provides:

    /usr/lib/$(ARCH)/$(MPI_VARIANT)/{include,lib}

so it is possible to point mpiroot = /usr/lib/$(ARCH)/$(MPI_VARIANT) and
it works.  (ARCH=DEB_HOST_MULTIARCH triplet, VARIANT for mpich or
openmpi -- lam doesn't work),

The actual libraries (/usr/lib/libmpich.so*, etc) are in
/usr/lib/$(ARCH) with symlinks.

pkg-config files are also provided, in /usr/lib/$(ARCH)/pkgconfig.

What is NOT provided in lib$(MPI)-dev anymore is mpicc.*  These have
been moved to openmpi-bin, mpich respectively. This is because they
cannot be provided in a multi-arch sane manner.  But it is possible for
multi-arch builds to work using just pkg-config

e.g. gfortran hello-mpi.f90 `pkg-config mpi-fort --libs` `pkg-config
mpi-fort --cflags`

To make this work required some updates of the update-alternatives. 
There are now three sets of update-alternatives:

mpi-$(ARCH), for mpi.h, etc links: providing them in
/usr/include/$(ARCH)/mpi.  Used in libopenmpi-dev, libmpich-dev.

mpi , for mpicc, mpifort, etc and manpages. Not multi-arch aware. Used
in openmpi-bin, mpich.

mpiexec , for mpiexec, mpirun, in openmpi-bin and mpich, as before.

Regards

Alastair



-- 
Alastair McKinstry, <alast...@sceal.ie>, <mckins...@debian.org>, 
https://diaspora.sceal.ie/u/amckinstry
Misentropy: doubting that the Universe is becoming more disordered.             


Reply via email to