diff --git a/easybuild/toolchains/linalg/libsci.py b/easybuild/toolchains/linalg/libsci.py index 07ea64ed82..6055dcffa4 100644 --- a/easybuild/toolchains/linalg/libsci.py +++ b/easybuild/toolchains/linalg/libsci.py @@ -65,11 +65,20 @@ def _get_software_root(self, name, required=True): """Get install prefix for specified software name; special treatment for Cray modules.""" if name == 'cray-libsci': # Cray-provided LibSci module - env_var = 'CRAY_LIBSCI_PREFIX_DIR' - root = os.getenv(env_var, None) - if root is None: + cray_libsci_root = None + # consider both $CRAY_LIBSCI_PREFIX_DIR and $CRAY_PE_LIBSCI_PREFIX_DIR, + # cfr. https://github.com/easybuilders/easybuild-framework/issues/4536 + env_vars = ('CRAY_LIBSCI_PREFIX_DIR', 'CRAY_PE_LIBSCI_PREFIX_DIR') + for env_var in env_vars: + cray_libsci_root = os.getenv(env_var, None) + if cray_libsci_root is not None: + self.log.debug("Obtained install prefix for %s via $%s: %s", name, env_var, cray_libsci_root) + break + + if cray_libsci_root is None: if required: - raise EasyBuildError("Failed to determine install prefix for %s via $%s", name, env_var) + env_vars_str = ', '.join('$' + e for e in env_vars) + raise EasyBuildError("Failed to determine install prefix for %s via $%s", name, env_vars_str) else: self.log.debug("Obtained install prefix for %s via $%s: %s", name, env_var, root) else: