EasyBuild (EB) is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.
Important Notes:
Before installing the Software, check whether it has already been installed
module spider <software-name>
If the software version is not sufficient, check with HPC support team first before installing the Software
If you want the Software available to your group, change to the appropriate group before installation. You can also use --umask=<values> flag when installing the software
newgrp <group>
Load EasyBuild module
module load EasyBuild
Shows default paths being used during installation
eb --show-config
output:
buildpath (D) = ~/.local/easybuild/build # where Software is compiled
containerpath (D) = ~/.local/easybuild/containers
installpath (D) = ~/.local/easybuild # default path for software installation (install path)
repositorypath (D) = ~/.local/easybuild/ebfiles_repo
robot-paths (D) = /usr/local/easybuild_allnodes/software/EasyBuild/4.9.4/easybuild/easyconfigs # tells easybuild to resolve dependencies.
sourcepath (D) = ~/.local/easybuild/sources
You may want to change the install path other than your home directory (e.g. /mnt/vstor/courses/<course>/<caseID>) to avoid quota violation with accumulated Software.
export EASYBUILD_PREFIX=<install-path>
You can also use --prefix=<install-path> during installation. Check the installpath after using EASYBUILD_PREFIX. Use "--show-full-config" flag for detailed configuration
eb --show-config
Check the software available in EB repository
eb --search '^<software>' # Example: eb --search '^Julia'
output:
/usr/local/easybuild_allnodes/software/EasyBuild/4.9.4/easybuild/easyconfigs/j/Julia/Julia-1.10.4-linux-x86_64.eb
Check the Software dependencies (using Julia as an example)
eb -M /usr/local/easybuild_allnodes/software/EasyBuild/4.9.4/easybuild/easyconfigs/j/Julia/Julia-1.10.4-linux-x86_64.eb
output:
1 out of 1 required modules missing: # Julia itself is missing
* Julia/1.10.4-linux-x86_64 (Julia-1.10.4-linux-x86_64.eb)
Install Software. It is using 4 cores with --parallel=4 flag. You need to request the cores using compute nodes if you are using this --parallel flag. The –robot flag is for resolving dependencies. Multiple robo paths can be assigned using --robot=$PWD:$HOME or $EASYBUILD_ROBOT_PATHS
eb --parallel=4 --robot /usr/local/easybuild_allnodes/software/EasyBuild/4.9.4/easybuild/easyconfigs/j/Julia/Julia-1.10.4-linux-x86_64.eb
output:
== COMPLETED: Installation ended successfully (took 59 secs)
Enable/Prepend the new module tree
module use <install-path>/eb/modules/all # Prepend or Append path to MODULEPATH
Load the module
module load <software>