From 80d784c401a7bee7c3d2a5aacf42f12f240c5f48 Mon Sep 17 00:00:00 2001 From: QuellynSnead Date: Wed, 8 Mar 2023 01:58:34 -0700 Subject: singularity-eos: (#35625) The Cray fortran compiler names fortran modules in uppercase by default. Compile with the "-ef" flag to produce the lowercase name that singularity-eos is expecting. --- var/spack/repos/builtin/packages/singularity-eos/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/var/spack/repos/builtin/packages/singularity-eos/package.py b/var/spack/repos/builtin/packages/singularity-eos/package.py index 297d714dd2..ef4ba1a5f1 100644 --- a/var/spack/repos/builtin/packages/singularity-eos/package.py +++ b/var/spack/repos/builtin/packages/singularity-eos/package.py @@ -106,6 +106,16 @@ class SingularityEos(CMakePackage, CudaPackage): depends_on("py-h5py" + _flag, when="@:1.6.2 " + _flag) depends_on("kokkos-nvcc-wrapper" + _flag, when="+cuda+kokkos" + _flag) + def flag_handler(self, name, flags): + if name == "fflags": + if self.spec.satisfies("%cce+fortran"): + # The Cray fortran compiler generates module files with + # uppercase names by default, which is not handled by the + # CMake scripts. The following flag forces the compiler to + # produce module files with lowercase names. + flags.append("-ef") + return (flags, None, None) + def cmake_args(self): args = [ self.define("SINGULARITY_PATCH_MPARK_VARIANT", False), -- cgit v1.2.3-60-g2f50