From 74b33e9f82e1bbb7df08b4f18f499504a8cb258d Mon Sep 17 00:00:00 2001 From: Jiawei Zhuang Date: Mon, 11 Mar 2019 21:18:50 -0400 Subject: OpenMPI: v4.0.0 + Slurm installation error (#10853) shmemrun and oshrun do not exist in OpenMPI v4.0.0 (ref: https://www.open-mpi.org/doc/v4.0/) The Spack OpenMPI package was failing the install by trying to remove them. This guards the removal of several scripts when using the Slurm scheduler to handle the case where they don't exist. --- var/spack/repos/builtin/packages/openmpi/package.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index d3991a8f21..dd8d313694 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -6,6 +6,7 @@ import os import sys +import llnl.util.tty as tty def _verbs_dir(): @@ -478,7 +479,13 @@ class Openmpi(AutotoolsPackage): # only sensible choice (orterun is still present, but normal # users don't know about that). if '@1.6: ~legacylaunchers schedulers=slurm' in self.spec: - os.remove(self.prefix.bin.mpirun) - os.remove(self.prefix.bin.mpiexec) - os.remove(self.prefix.bin.shmemrun) - os.remove(self.prefix.bin.oshrun) + exe_list = [self.prefix.bin.mpirun, + self.prefix.bin.mpiexec, + self.prefix.bin.shmemrun, + self.prefix.bin.oshrun + ] + for exe in exe_list: + try: + os.remove(exe) + except OSError: + tty.debug("File not present: " + exe) -- cgit v1.2.3-60-g2f50