current status of mpi-default-dev for mpich/mpich2 arches (and scalapack in particular)

Michael Banck mbanck at debian.og
Tue Mar 4 12:18:14 UTC 2014


Hi,

cp2k FTBFS on s390x[1], because:

1. The content of /usr/share/mpi-default-dev/debian_defaults on
mpich-arches is currently "mpich" in unstable, TTBOMK.

2. The scalapack (and blacs, I believe) libraries contain a
"libscalapack-mpich2.so" symlink.

3. In DebiChem, we have several packages which link to scalapack, and
sofar we used something like this snippet to figure out which library to
link in:
include /usr/share/mpi-default-dev/debian_defaults
export LIB_SCALAPACK=-lscalapack-$(ARCH_DEFAULT_MPI_IMPL)

As the you can see above, there is a problem with mpich using this
approach.

The possiblities are:

1. We hack around this and do somthing like

ifeq ($(ARCH_DEFAULT_MPI_IMPL), mpich)
    export LIB_SCALAPACK=-lscalapack-mpich2
else
    export LIB_SCALAPACK=-lscalapack-$(ARCH_DEFAULT_MPI_IMPL)
endif
 
2. We come up with a policy that library packages which use
mpi-defaut-dev should have their libraries be called like the official
string in /usr/share/mpi-default-dev/debian_defaults, i.e. the scalapack
library gets renamed to libscalapack-mpich.so.

3. We come up with a policy that library packages which use
mpi-default-dev and build only against this MPI implementation must add
a compatibility/interoperability symlink to lib$NAME-mpi.so.  This way,
packages can always just unconditionally add -l$NAME-mpi to their link
definition.  This would mean the scalapack library (as it is called
libscalapack-mpi1 anyway) adds a compatibility/interoperability symlink
to libscalapack-mpi.so

4. The scalapack library adds a compatibility/interoperability symlink
to libscalapack-mpich.so.

5. Any other suggestions?


Michael

[1] https://buildd.debian.org/status/fetch.php?pkg=cp2k&arch=s390x&ver=2.5.0-1&stamp=1393709617



More information about the debian-science-maintainers mailing list