Skip to content

Commit 772149b

Browse files
authored
Merge pull request #1025 from trz42/allow_to_not_mount_cvmfs-config.cern.ch
{2023.06}[system,a64fx] circumvent fusemount issue, improve module use, and add some packages
2 parents f8d73f1 + f5f4595 commit 772149b

File tree

3 files changed

+51
-3
lines changed

3 files changed

+51
-3
lines changed

EESSI-install-software.sh

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,23 @@ function copy_build_log() {
5353
fi
5454
}
5555

56+
function safe_module_use {
57+
# add a given non-empty directory to $MODULEPATH if and only if it is not yet in
58+
directory=${1}
59+
60+
if [[ -z ${directory+x} ]]; then
61+
echo "safe_module_use: given directory unset or empty; not adding it to \$MODULEPATH (${MODULEPATH})"
62+
return
63+
fi
64+
if [[ ":${MODULEPATH}:" == *":${directory}:"* ]]; then
65+
echo "safe_module_use: directory '${directory}' is already in \$MODULEPATH (${MODULEPATH}); not adding it again"
66+
return
67+
else
68+
echo "safe_module_use: directory '${directory}' is not yet in \$MODULEPATH (${MODULEPATH}); adding it"
69+
module use ${directory}
70+
fi
71+
}
72+
5673
POSITIONAL_ARGS=()
5774

5875
while [[ $# -gt 0 ]]; do
@@ -251,7 +268,9 @@ export EESSI_CVMFS_INSTALL=1
251268
# NOTE 3, we have to set a default for EASYBUILD_INSTALLPATH here in cases the
252269
# EESSI-extend module itself needs to be installed.
253270
export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}
271+
echo "DEBUG: before loading EESSI-extend // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'"
254272
source load_eessi_extend_module.sh ${EESSI_VERSION}
273+
echo "DEBUG: after loading EESSI-extend // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'"
255274

256275
# Install full CUDA SDK and cu* libraries in host_injections
257276
# Hardcode this for now, see if it works
@@ -305,7 +324,10 @@ if [[ "${EESSI_CVMFS_REPO}" == /cvmfs/dev.eessi.io ]]; then
305324
module use /cvmfs/software.eessi.io/versions/$EESSI_VERSION/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR_OVERRIDE}/modules/all
306325
fi
307326

308-
module use $EASYBUILD_INSTALLPATH/modules/all
327+
echo "DEBUG: adding path '$EASYBUILD_INSTALLPATH/modules/all' to MODULEPATH='${MODULEPATH}'"
328+
#module use $EASYBUILD_INSTALLPATH/modules/all
329+
safe_module_use $EASYBUILD_INSTALLPATH/modules/all
330+
echo "DEBUG: after adding module path // MODULEPATH='${MODULEPATH}'"
309331

310332
if [[ -z ${MODULEPATH} ]]; then
311333
fatal_error "Failed to set up \$MODULEPATH?!"
@@ -373,8 +395,10 @@ else
373395
done
374396
fi
375397

398+
echo "DEBUG: before creating/updating lmod config files // EASYBUILD_INSTALLPATH='${EASYBUILD_INSTALLPATH}'"
376399
export LMOD_CONFIG_DIR="${EASYBUILD_INSTALLPATH}/.lmod"
377400
lmod_rc_file="$LMOD_CONFIG_DIR/lmodrc.lua"
401+
echo "DEBUG: lmod_rc_file='${lmod_rc_file}'"
378402
if [[ ! -z ${EESSI_ACCELERATOR_TARGET} ]]; then
379403
# EESSI_ACCELERATOR_TARGET is set, so let's remove the accelerator path from $lmod_rc_file
380404
lmod_rc_file=$(echo ${lmod_rc_file} | sed "s@/accel/${EESSI_ACCELERATOR_TARGET}@@")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
easyconfigs:
2+
- EasyBuild-4.8.2.eb
3+
- EasyBuild-4.9.0.eb
4+
- EasyBuild-4.9.1.eb
5+
- EasyBuild-4.9.2.eb
6+
- EasyBuild-4.9.3.eb
7+
- EasyBuild-4.9.4.eb:
8+
options:
9+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465
10+
from-commit: 39cdebd7bd2cb4a9c170ee22439401316b2e7a25
11+
- Nextflow-23.10.0.eb
12+
- ReFrame-4.3.3.eb:
13+
options:
14+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/22183
15+
from-commit: 2b2fe53c885799cbf13b77ddfa9532c48b296e9d
16+
- ReFrame-4.6.2.eb
17+
- Pandoc-3.6.2.eb:
18+
options:
19+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/22493
20+
from-commit: da8ed20bad0dd1c6533c568f6c4fbb7c3d15342e

eessi_container.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -735,8 +735,12 @@ fi
735735

736736
declare -a EESSI_FUSE_MOUNTS=()
737737

738-
# always mount cvmfs-config repo (to get access to EESSI repositories such as software.eessi.io)
739-
EESSI_FUSE_MOUNTS+=("--fusemount" "container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch")
738+
# mount cvmfs-config repo (to get access to EESSI repositories such as software.eessi.io) unless env var
739+
# EESSI_DO_NOT_MOUNT_CVMFS_CONFIG_CERN_CH is defined
740+
if [ -z ${EESSI_DO_NOT_MOUNT_CVMFS_CONFIG_CERN_CH+x} ]; then
741+
EESSI_FUSE_MOUNTS+=("--fusemount" "container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch")
742+
fi
743+
740744

741745
# iterate over REPOSITORIES and either use repository-specific access mode or global setting (possibly a global default)
742746
for cvmfs_repo in "${REPOSITORIES[@]}"

0 commit comments

Comments
 (0)