From fa216e5f153f0529c902ecf34fc906338ea9632a Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 13 Aug 2020 03:04:03 +0200 Subject: mpich, mvapich2: fixed setup_*_environment (#18032) fixes #18028 Since now external packages support multiple modules the correct thing to do is to check if the name of the *first* module to be loaded contains the string "cray" --- var/spack/repos/builtin/packages/mpich/package.py | 6 ++++-- var/spack/repos/builtin/packages/mvapich2/package.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index 85e884c8d3..af24802b90 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -187,7 +187,8 @@ spack package at this time.''', # their run environments the code to make the compilers available. # For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers. # Cray MPIs always have cray in the module name, e.g. "cray-mpich" - if self.spec.external_modules and 'cray' in self.spec.external_modules: + external_modules = self.spec.external_modules + if external_modules and 'cray' in external_modules[0]: env.set('MPICC', spack_cc) env.set('MPICXX', spack_cxx) env.set('MPIF77', spack_fc) @@ -210,7 +211,8 @@ spack package at this time.''', def setup_dependent_package(self, module, dependent_spec): # For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers. # Cray MPIs always have cray in the module name, e.g. "cray-mpich" - if self.spec.external_modules and 'cray' in self.spec.external_modules: + external_modules = self.spec.external_modules + if external_modules and 'cray' in external_modules[0]: self.spec.mpicc = spack_cc self.spec.mpicxx = spack_cxx self.spec.mpifc = spack_fc diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index f857b58eb2..0f25cb7111 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -240,7 +240,8 @@ class Mvapich2(AutotoolsPackage): def setup_compiler_environment(self, env): # For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers. # Cray MPIs always have cray in the module name, e.g. "cray-mvapich" - if self.spec.external_modules and 'cray' in self.spec.external_modules: + external_modules = self.spec.external_modules + if external_modules and 'cray' in external_modules[0]: env.set('MPICC', spack_cc) env.set('MPICXX', spack_cxx) env.set('MPIF77', spack_fc) @@ -254,7 +255,8 @@ class Mvapich2(AutotoolsPackage): def setup_dependent_package(self, module, dependent_spec): # For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers. # Cray MPIs always have cray in the module name, e.g. "cray-mvapich" - if self.spec.external_modules and 'cray' in self.spec.external_modules: + external_modules = self.spec.external_modules + if external_modules and 'cray' in external_modules[0]: self.spec.mpicc = spack_cc self.spec.mpicxx = spack_cxx self.spec.mpifc = spack_fc -- cgit v1.2.3-70-g09d2