Package: release.debian.org Severity: normal Tags: stretch User: release.debian....@packages.debian.org Usertags: pu
mpi4py contains a hardcoded list of libmpi sonames to dlopen(), this does not include libmpi.so.20 as used in stretch. Therefore mpi4py currentl only works if a mpi dev package providing the fallback libmpi.so is also installed. Add the current soname to the list s.t. mpi4py without changing the dependencies. #860476 Andreas
diff -Nru mpi4py-2.0.0/debian/changelog mpi4py-2.0.0/debian/changelog --- mpi4py-2.0.0/debian/changelog 2017-03-08 09:18:00.000000000 +0100 +++ mpi4py-2.0.0/debian/changelog 2018-01-15 00:13:09.000000000 +0100 @@ -1,3 +1,15 @@ +mpi4py (2.0.0-2.1+deb9u1) stretch; urgency=medium + + [ Andreas Beckmann ] + * Non-maintainer upload. + * Backport fix from 2.0.0-3 to stretch. + + [ Stuart Prescott ] + * Fix sover list used in dlopen so that current libmpi.so is found + (Closes: #860476) + + -- Andreas Beckmann <a...@debian.org> Mon, 15 Jan 2018 00:13:09 +0100 + mpi4py (2.0.0-2.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru mpi4py-2.0.0/debian/patches/fix-dlopen.patch mpi4py-2.0.0/debian/patches/fix-dlopen.patch --- mpi4py-2.0.0/debian/patches/fix-dlopen.patch 1970-01-01 01:00:00.000000000 +0100 +++ mpi4py-2.0.0/debian/patches/fix-dlopen.patch 2018-01-15 00:11:58.000000000 +0100 @@ -0,0 +1,10 @@ +--- a/src/lib-mpi/compat/openmpi.h ++++ b/src/lib-mpi/compat/openmpi.h +@@ -72,6 +72,7 @@ + #ifdef RTLD_NOLOAD + mode |= RTLD_NOLOAD; + #endif ++ if (!handle) handle = dlopen("libmpi.so.20", mode); + if (!handle) handle = dlopen("libmpi.so.15", mode); + if (!handle) handle = dlopen("libmpi.so.14", mode); + if (!handle) handle = dlopen("libmpi.so.13", mode); diff -Nru mpi4py-2.0.0/debian/patches/series mpi4py-2.0.0/debian/patches/series --- mpi4py-2.0.0/debian/patches/series 2017-03-08 09:18:00.000000000 +0100 +++ mpi4py-2.0.0/debian/patches/series 2018-01-15 00:11:58.000000000 +0100 @@ -1,3 +1,4 @@ up_libm up_no_modlibs up_tests_network_attr +fix-dlopen.patch