tensor with EasybuildBrief instructions on how to add or update software in the MEB Easybuild collection.
salloc -t1-0 -c8
(adjust number of cores if needed for build performance)
ml add EasyBuild
If updating, check previous version in MEB repository https://github.com/MEB-KI/meb-eb
If new install, check what is available in https://github.com/easybuilders/easybuild-easyconfigs
Look for files using the same EasyBuild toolchain as the rest of installed
software. Currently this is gfbf-2023b, or compatible sub-toolchains
GCC-13.2.0 and GCCCore-13.2.0.
Work in a local clone of https://github.com/MEB-KI/meb-eb. New .eb files go in
meb-eb/easyconfigs/{initial}/{software}/software-version.major.minor-toolchain-version.eb
Check whether some/none/all listed dependencies are already installed (see "Test build", dry run). If another version of a dependency is already installed, consider if that could be used, and if so, update version in .eb file.
# keep/remove -D flag for dry-run on/off
# use --buildpath on /scratch for performance and to avoid filesystem time issues
# use --umask to make sure the results are modifiable by the lx_sw group and not by others
# use --module-depends-on for slightly nicer lmod files
# use --detect-loaded-modules=unload for a clean(er) build environment
# use --trace for nicer output
eb --buildpath=$TMPDIR/ebtmp --umask=002 --robot-paths=$HOME/meb-eb/easyconfigs/: --module-depends-on --detect-loaded-modules=unload -rD --trace software-version.major.minor.eb
Default install prefix is $HOME/.local/easybuild/. To enable this path in
modules (for more careful testing), ml use $HOME/.local/easybuild/modules/all.
Remember to ml unuse ... the path before system-wide installation, or
Easybuild will find the module in your home folder and think it is already
installed.
It is probably a good idea to clean up this prefix once in a while so the personal library does not drift too far from the central one.
If dependencies must also be installed, they will be pulled from the central EasyBuild repo https://github.com/easybuilders/easybuild-easyconfigs. If dependencies need customization, put the customized .eb file in the meb-eb repository and it will be used before the central repo version.
eb --prefix=/nfs/sw/eb --buildpath=$TMPDIR/ebtmp --umask=002 --robot-paths=/nfs/sw/eb/meb-eb/easyconfigs/: --module-depends-on --detect-loaded-modules=unload -r --trace software-version.major.minor.eb
default symlink to the desired default version in /nfs/sw/eb/modules/all/{software}/