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 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..c92d62717b --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/sapphire_rapids/eessi-2023.06-eb-4.9.4-001-system.yml @@ -0,0 +1,10 @@ +easyconfigs: + - EasyBuild-4.8.2.eb + - 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: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465 + from-commit: 39cdebd7bd2cb4a9c170ee22439401316b2e7a25 diff --git a/init/modules/EESSI/2023.06.lua b/init/modules/EESSI/2023.06.lua index 348699c0f1..eb1cd1753b 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 (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" .. + "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) 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 diff --git a/load_eessi_extend_module.sh b/load_eessi_extend_module.sh index aa8f659ef1..b5ad47de4e 100755 --- a/load_eessi_extend_module.sh +++ b/load_eessi_extend_module.sh @@ -88,12 +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} + # 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: ${eb_install_out})" + 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}" )