From 986c9f11b88f3feb0d53ccad0a35bb42e7d4586e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 10 Dec 2024 09:28:40 +0100 Subject: [PATCH 01/10] detect and redirect RISC-V clients --- init/modules/EESSI/2023.06.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/init/modules/EESSI/2023.06.lua b/init/modules/EESSI/2023.06.lua index 348699c0f1..04268f30e1 100644 --- a/init/modules/EESSI/2023.06.lua +++ b/init/modules/EESSI/2023.06.lua @@ -12,6 +12,13 @@ whatis("URL: https://www.eessi.io/docs/") conflict("EESSI") local eessi_version = myModuleVersion() local eessi_repo = "/cvmfs/software.eessi.io" +if (capture("uname -m"):gsub("\n$","") == "riscv64") then + eessi_version = os.getenv("EESSI_VERSION_OVERRIDE") or "20240402" + eessi_repo = "/cvmfs/riscv.eessi.io" + LmodMessage("RISC-V architecture detected, but there is no RISC-V support yet in the production repository.\n" .. + "Automatically switching to version " .. eessi_version .. " of the RISC-V development repository " .. eessi_repo .. ".\n" .. + "For more details about this repository, see https://www.eessi.io/docs/repositories/riscv.eessi.io/.") +end local eessi_prefix = pathJoin(eessi_repo, "versions", eessi_version) local eessi_os_type = "linux" setenv("EESSI_VERSION", eessi_version) From b6439951050dde21a52be08d48b93d426d56e986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 10 Dec 2024 09:29:16 +0100 Subject: [PATCH 02/10] add 20240402 symlink for RISC-V repo --- init/modules/EESSI/20240402.lua | 1 + 1 file changed, 1 insertion(+) create mode 120000 init/modules/EESSI/20240402.lua diff --git a/init/modules/EESSI/20240402.lua b/init/modules/EESSI/20240402.lua new file mode 120000 index 0000000000..cbf80d1fcd --- /dev/null +++ b/init/modules/EESSI/20240402.lua @@ -0,0 +1 @@ +2023.06.lua \ No newline at end of file From c738b64fbb73b932aeea58ea908e262e65e45eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 10 Dec 2024 09:55:56 +0100 Subject: [PATCH 03/10] use subprocess instead of capture --- init/modules/EESSI/2023.06.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init/modules/EESSI/2023.06.lua b/init/modules/EESSI/2023.06.lua index 04268f30e1..eb1cd1753b 100644 --- a/init/modules/EESSI/2023.06.lua +++ b/init/modules/EESSI/2023.06.lua @@ -12,7 +12,7 @@ whatis("URL: https://www.eessi.io/docs/") conflict("EESSI") local eessi_version = myModuleVersion() local eessi_repo = "/cvmfs/software.eessi.io" -if (capture("uname -m"):gsub("\n$","") == "riscv64") then +if (subprocess("uname -m"):gsub("\n$","") == "riscv64") then eessi_version = os.getenv("EESSI_VERSION_OVERRIDE") or "20240402" eessi_repo = "/cvmfs/riscv.eessi.io" LmodMessage("RISC-V architecture detected, but there is no RISC-V support yet in the production repository.\n" .. From 939cb69cb5fd2f497c7713ec901daad409df9018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 15:27:39 +0100 Subject: [PATCH 04/10] add all EB versions --- .../sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml diff --git a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml new file mode 100644 index 0000000000..ae9de1d067 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml @@ -0,0 +1,6 @@ +easyconfigs: + - EasyBuild-4.8.2.eb + - EasyBuild-4.9.0.eb + - EasyBuild-4.9.1.eb + - EasyBuild-4.9.2.eb + - EasyBuild-4.9.4.eb From bcc9380fc578db8071dcb96afb86a3e91db717cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 15:29:40 +0100 Subject: [PATCH 05/10] add 4.9.3 --- .../sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml index ae9de1d067..87e4cd720d 100644 --- a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml +++ b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml @@ -3,4 +3,5 @@ easyconfigs: - EasyBuild-4.9.0.eb - EasyBuild-4.9.1.eb - EasyBuild-4.9.2.eb + - EasyBuild-4.9.3.eb - EasyBuild-4.9.4.eb From 1f0f4f2d4e657fdc433d7c0f281cf73c03df2d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 15:55:49 +0100 Subject: [PATCH 06/10] make modules and software directories for new CPU targets --- EESSI-install-software.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 83c06c2184..2f05953158 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -135,8 +135,9 @@ else # Make sure EESSI_PREFIX and EESSI_OS_TYPE are set source $TOPDIR/init/minimal_eessi_env - # make sure directory exists (since it's expected by init/eessi_environment_variables when using archdetect) - mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} + # make sure the the software and modules directory exist + # (since it's expected by init/eessi_environment_variables when using archdetect and by the EESSI module) + mkdir -p ${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/{modules,software} ) fi From e85f839d0a701c1fc4277d261b518a0090682453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 17:06:21 +0100 Subject: [PATCH 07/10] also install the latest EB release as module before installing EESSI-extend --- load_eessi_extend_module.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/load_eessi_extend_module.sh b/load_eessi_extend_module.sh index aa8f659ef1..bd46c3a7eb 100755 --- a/load_eessi_extend_module.sh +++ b/load_eessi_extend_module.sh @@ -91,6 +91,8 @@ else eb_install_out=${TMPDIR}/eb_install.out ok_msg="EESSI-extend/${EESSI_EXTEND_VERSION} installed, let's go!" fail_msg="Installing EESSI-extend/${EESSI_EXTEND_VERSION} failed, that's not good... (output: ${eb_install_out})" + # EESSI-extend also needs EasyBuild to be installed as a module, so install the latest release + ${EB} --install-latest-eb-release 2>&1 | tee ${eb_install_out} # while always adding --try-amend=keep... may do no harm, we could make # an attempt to figure out if it is needed, e.g., when we are rebuilding ${EB} "EESSI-extend-easybuild.eb" --try-amend=keeppreviousinstall=True 2>&1 | tee ${eb_install_out} From eb3cb49800b2a808354b56602776aa76f9cdc020 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 17:13:20 +0100 Subject: [PATCH 08/10] Update load_eessi_extend_module.sh Co-authored-by: ocaisa --- load_eessi_extend_module.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/load_eessi_extend_module.sh b/load_eessi_extend_module.sh index bd46c3a7eb..b5ad47de4e 100755 --- a/load_eessi_extend_module.sh +++ b/load_eessi_extend_module.sh @@ -88,14 +88,19 @@ else echo ">> Final installation in ${EASYBUILD_INSTALLPATH}..." export PATH=${EB_TMPDIR}/bin:${PATH} export PYTHONPATH=$(ls -d ${EB_TMPDIR}/lib/python*/site-packages):${PYTHONPATH} - eb_install_out=${TMPDIR}/eb_install.out - ok_msg="EESSI-extend/${EESSI_EXTEND_VERSION} installed, let's go!" - fail_msg="Installing EESSI-extend/${EESSI_EXTEND_VERSION} failed, that's not good... (output: ${eb_install_out})" # EESSI-extend also needs EasyBuild to be installed as a module, so install the latest release + eb_install_out=${TMPDIR}/eb_install.out + ok_msg="Latest EasyBuild installed, let's go!" + fail_msg="Installing latest EasyBuild failed, that's not good... (output: ${eb_install_out})" ${EB} --install-latest-eb-release 2>&1 | tee ${eb_install_out} + check_exit_code $? "${ok_msg}" "${fail_msg}" + # Now install EESSI-extend + eessi_install_out=${TMPDIR}/eessi_install.out + ok_msg="EESSI-extend/${EESSI_EXTEND_VERSION} installed, let's go!" + fail_msg="Installing EESSI-extend/${EESSI_EXTEND_VERSION} failed, that's not good... (output: ${eessi_install_out})" # while always adding --try-amend=keep... may do no harm, we could make # an attempt to figure out if it is needed, e.g., when we are rebuilding - ${EB} "EESSI-extend-easybuild.eb" --try-amend=keeppreviousinstall=True 2>&1 | tee ${eb_install_out} + ${EB} "EESSI-extend-easybuild.eb" --try-amend=keeppreviousinstall=True 2>&1 | tee ${eessi_install_out} check_exit_code $? "${ok_msg}" "${fail_msg}" ) From 9d6f6946bc738053e7b2690b2cee7bbdb99999ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 17:32:24 +0100 Subject: [PATCH 09/10] add --from-commit for EB 4.9.4 --- .../sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml index 87e4cd720d..4317faf9a4 100644 --- a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml +++ b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml @@ -5,3 +5,6 @@ easyconfigs: - EasyBuild-4.9.2.eb - EasyBuild-4.9.3.eb - EasyBuild-4.9.4.eb + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465 + from-commit: 39cdebd7bd2cb4a9c170ee22439401316b2e7a25 From b5e4a919859f79d8f17c877c5273a4fb7e63921d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 14 Jan 2025 17:32:45 +0100 Subject: [PATCH 10/10] missing colon --- .../sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml index 4317faf9a4..c92d62717b 100644 --- a/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml +++ b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml @@ -4,7 +4,7 @@ easyconfigs: - EasyBuild-4.9.1.eb - EasyBuild-4.9.2.eb - EasyBuild-4.9.3.eb - - EasyBuild-4.9.4.eb + - EasyBuild-4.9.4.eb: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465 from-commit: 39cdebd7bd2cb4a9c170ee22439401316b2e7a25