From 8718140dde69f5402dd2c9732e13173e6d08db3b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 6 Jun 2024 20:43:21 +0200 Subject: [PATCH] also consider $CRAY_PE_LIBSCI_PREFIX_DIR to determine installation prefix for cray-libsci (fixes #4536) --- easybuild/toolchains/linalg/libsci.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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: