mpi4py/h5py: fix test to run reliably with openmpi-3

This commit is contained in:
Markus Kowalewski 2018-01-26 18:26:22 -08:00
parent 58765282f8
commit aa83877cf8
2 changed files with 12 additions and 4 deletions

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, python, buildPythonPackage
, numpy, hdf5, cython, six, pkgconfig
, mpi4py ? null }:
, mpi4py ? null, openssh }:
assert hdf5.mpiSupport -> mpi4py != null && hdf5.mpi == mpi4py.mpi;
@ -24,6 +24,10 @@ in buildPythonPackage rec {
postConfigure = ''
${python.executable} setup.py configure ${configure_flags}
# Needed to run the tests reliably. See:
# https://bitbucket.org/mpi4py/mpi4py/issues/87/multiple-test-errors-with-openmpi-30
${optionalString mpiSupport "export OMPI_MCA_rmaps_base_oversubscribe=yes"}
'';
preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
@ -33,7 +37,7 @@ in buildPythonPackage rec {
++ optional mpiSupport mpi
;
propagatedBuildInputs = [ numpy six]
++ optional mpiSupport mpi4py
++ optionals mpiSupport [ mpi4py openssh ]
;
meta = {

View file

@ -1,4 +1,4 @@
{ stdenv, fetchPypi, python, buildPythonPackage, mpi }:
{ stdenv, fetchPypi, python, buildPythonPackage, mpi, openssh }:
buildPythonPackage rec {
pname = "mpi4py";
@ -28,11 +28,15 @@ buildPythonPackage rec {
# sometimes packages specify where files should be installed outside the usual
# python lib prefix, we override that back so all infrastructure (setup hooks)
# work as expected
# Needed to run the tests reliably. See:
# https://bitbucket.org/mpi4py/mpi4py/issues/87/multiple-test-errors-with-openmpi-30
export OMPI_MCA_rmaps_base_oversubscribe=yes
'';
setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"];
buildInputs = [ mpi ];
buildInputs = [ mpi openssh ];
meta = {
description =