From afebf4c5d24ee11005b4d0d1f649c0f5ae3d79aa Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 13 Apr 2025 01:23:08 +0200 Subject: [PATCH 1/4] allow to not always mount cvmfs-config.cern.ch --- eessi_container.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eessi_container.sh b/eessi_container.sh index d6b7065d3f..d96ad041a8 100755 --- a/eessi_container.sh +++ b/eessi_container.sh @@ -735,8 +735,12 @@ fi declare -a EESSI_FUSE_MOUNTS=() -# always mount cvmfs-config repo (to get access to EESSI repositories such as software.eessi.io) -EESSI_FUSE_MOUNTS+=("--fusemount" "container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch") +# mount cvmfs-config repo (to get access to EESSI repositories such as software.eessi.io) unless env var +# EESSI_DO_NOT_MOUNT_CVMFS_CONFIG_CERN_CH is defined +if [ -z ${EESSI_DO_NOT_MOUNT_CVMFS_CONFIG_CERN_CH+x} ]; then + EESSI_FUSE_MOUNTS+=("--fusemount" "container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch") +fi + # iterate over REPOSITORIES and either use repository-specific access mode or global setting (possibly a global default) for cvmfs_repo in "${REPOSITORIES[@]}" From c1ab568d95c11e3478c2f00af70ba05e25bc0bc7 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 13 Apr 2025 15:29:40 +0200 Subject: [PATCH 2/4] add a few echo statements to debug missing prefix --- EESSI-install-software.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 460e0cd34a..f028e97798 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -251,7 +251,9 @@ export EESSI_CVMFS_INSTALL=1 # NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the # EESSI-extend module itself needs to be installed. export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE} +echo "DEBUG: before loading EESSI-extend // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'" source load_eessi_extend_module.sh ${EESSI_VERSION} +echo "DEBUG: after loading EESSI-extend // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'" # Install full CUDA SDK and cu* libraries in host_injections # Hardcode this for now, see if it works @@ -305,7 +307,9 @@ if [[ "${EESSI_CVMFS_REPO}" == /cvmfs/dev.eessi.io ]]; then module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all fi +echo "DEBUG: adding path '$EASYBUILD_INSTALLPATH/modules/all' to MODULEPATH='${MODULEPATH}'" module use $EASYBUILD_INSTALLPATH/modules/all +echo "DEBUG: after adding module path // MODULEPATH='${MODULEPATH}'" if [[ -z ${MODULEPATH} ]]; then fatal_error "Failed to set up \$MODULEPATH?!" @@ -373,8 +377,10 @@ else done fi +echo "DEBUG: before creating/updating lmod config files // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'" export LMOD_CONFIG_DIR="${EASYBUILD_INSTALLPATH}/.lmod" lmod_rc_file="$LMOD_CONFIG_DIR/lmodrc.lua" +echo "DEBUG: lmod_rc_file='${lmod_rc_file}'" if [[ ! -z ${EESSI_ACCELERATOR_TARGET} ]]; then # EESSI_ACCELERATOR_TARGET is set, so let's remove the accelerator path from $lmod_rc_file lmod_rc_file=$(echo ${lmod_rc_file} | sed "s@/accel/${EESSI_ACCELERATOR_TARGET}@@") From fd62084697e63df963bba0f92f2d85c11d6cce9d Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 13 Apr 2025 16:43:30 +0200 Subject: [PATCH 3/4] only add directory to MODULEPATH if it is not yet included --- EESSI-install-software.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index f028e97798..713fcba883 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -53,6 +53,23 @@ function copy_build_log() { fi } +function safe_module_use { + # add a given non-empty directory to $MODULEPATH if and only if it is not yet in + directory=${1} + + if [[ -z ${directory+x} ]]; then + echo "safe_module_use: given directory unset or empty; not adding it to \$MODULEPATH (${MODULEPATH})" + return + fi + if [[ ":${MODULEPATH}:" == *":${directory}:"* ]]; then + echo "safe_module_use: directory '${directory}' is already in \$MODULEPATH (${MODULEPATH}); not adding it again" + return + else + echo "safe_module_use: directory '${directory}' is not yet in \$MODULEPATH (${MODULEPATH}); adding it" + module use ${directory} + fi +} + POSITIONAL_ARGS=() while [[ $# -gt 0 ]]; do @@ -308,7 +325,8 @@ if [[ "${EESSI_CVMFS_REPO}" == /cvmfs/dev.eessi.io ]]; then fi echo "DEBUG: adding path '$EASYBUILD_INSTALLPATH/modules/all' to MODULEPATH='${MODULEPATH}'" -module use $EASYBUILD_INSTALLPATH/modules/all +#module use $EASYBUILD_INSTALLPATH/modules/all +safe_module_use $EASYBUILD_INSTALLPATH/modules/all echo "DEBUG: after adding module path // MODULEPATH='${MODULEPATH}'" if [[ -z ${MODULEPATH} ]]; then From f5f45950a3e270b9f1b5ebe184133c6ad604a0ad Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 13 Apr 2025 17:05:55 +0200 Subject: [PATCH 4/4] add EB versions, ReFrame, NextFlow and Pandoc --- .../eessi-2023.06-eb-4.9.4-001-system.yml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-001-system.yml diff --git a/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-001-system.yml b/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-001-system.yml new file mode 100644 index 0000000000..47a05b5f30 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-001-system.yml @@ -0,0 +1,20 @@ +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 + - Nextflow-23.10.0.eb + - ReFrame-4.3.3.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22183 + from-commit: 2b2fe53c885799cbf13b77ddfa9532c48b296e9d + - ReFrame-4.6.2.eb + - Pandoc-3.6.2.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22493 + from-commit: da8ed20bad0dd1c6533c568f6c4fbb7c3d15342e