[Debichem-devel] 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 Debichem-devel
mailing list