diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py index df8b9bdcc6a..7181b5a819b 100644 --- a/var/spack/repos/builtin/packages/ascent/package.py +++ b/var/spack/repos/builtin/packages/ascent/package.py @@ -446,7 +446,7 @@ def hostconfig(self): if "+mpi" in spec: mpicc_path = spec["mpi"].mpicc mpicxx_path = spec["mpi"].mpicxx - mpifc_path = spec["mpi"].mpifc + mpifc_path = spec["mpi"].mpifc if "+fortran" in spec else None # if we are using compiler wrappers on cray systems # use those for mpi wrappers, b/c spec['mpi'].mpicxx # etc make return the spack compiler wrappers @@ -458,7 +458,8 @@ def hostconfig(self): cfg.write(cmake_cache_entry("ENABLE_MPI", "ON")) cfg.write(cmake_cache_entry("MPI_C_COMPILER", mpicc_path)) cfg.write(cmake_cache_entry("MPI_CXX_COMPILER", mpicxx_path)) - cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path)) + if "+fortran" in spec: + cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path)) mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec") if os.path.isfile(mpiexe_bin): # starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py index d9980d341db..600f2a23fff 100644 --- a/var/spack/repos/builtin/packages/conduit/package.py +++ b/var/spack/repos/builtin/packages/conduit/package.py @@ -452,7 +452,7 @@ def hostconfig(self): if "+mpi" in spec: mpicc_path = spec["mpi"].mpicc mpicxx_path = spec["mpi"].mpicxx - mpifc_path = spec["mpi"].mpifc + mpifc_path = spec["mpi"].mpifc if "+fortran" in spec else None # if we are using compiler wrappers on cray systems # use those for mpi wrappers, b/c spec['mpi'].mpicxx # etc make return the spack compiler wrappers diff --git a/var/spack/repos/builtin/packages/vtk-h/package.py b/var/spack/repos/builtin/packages/vtk-h/package.py index 5d1c0daa367..c1c0b3ace3b 100644 --- a/var/spack/repos/builtin/packages/vtk-h/package.py +++ b/var/spack/repos/builtin/packages/vtk-h/package.py @@ -197,7 +197,8 @@ def hostconfig(self): if "+mpi" in spec: mpicc_path = spec["mpi"].mpicc mpicxx_path = spec["mpi"].mpicxx - mpifc_path = spec["mpi"].mpifc + has_mpifc = hasattr(spec["mpi"], "mpifc") + mpifc_path = spec["mpi"].mpifc if has_mpifc else None # if we are using compiler wrappers on cray systems # use those for mpi wrappers, b/c spec['mpi'].mpicxx # etc make return the spack compiler wrappers @@ -209,7 +210,8 @@ def hostconfig(self): cfg.write(cmake_cache_entry("ENABLE_MPI", "ON")) cfg.write(cmake_cache_entry("MPI_C_COMPILER", mpicc_path)) cfg.write(cmake_cache_entry("MPI_CXX_COMPILER", mpicxx_path)) - cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path)) + if has_mpifc: + cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path)) mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec") if os.path.isfile(mpiexe_bin): # starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE