Installing EasyBuild
Prerequisites
For EasyBuild to get installed, we need a RHEL server and an account which is assigned to the group swadmin. For every piece of software, that can't be installed with pypi or EasyBuild itself, we need the HPC root admins to install it for us. We have write access for every folder which is assigned to the group swadmin. For the EasyBild bootstrap (see down below) to succeed flawlessly, we need our root admins to install some dependencies at first:
- setuptools
- git
- patch
- rdma-core-devel
- development tools (for g++ and c++)
Installing EasyBuild
Basically, you just have to download a bootstrap file of the newest EasyBuild version from here and execute it with python. In reality, though, the installation can be difficult to perform. You need to make sure, that you have full write privileges to the setup destination. For our standard server, the right installation path would be /cm/shared/uniol/software/.
ml lmod wget https://raw.githubusercontent.com/easybuilders/easybuild-framework/develop/easybuild/scripts/bootstrap_eb.py python bootstrap_eb.py /cm/shared/uniol/software/
Should this installation fail, the first thing to do is checking the crash log for any obvious error messages. In most cases, there will be a missing dependency.
Post-installation configuration
$MODULEPATH
When the EasyBuild installation is finished, there still is some work do to.
Because EasyBuild has to be loaded through lmod as a module, we have to tell lmod where to find the EasyBuild module. This is where the $MODULEPATH gets in.
Temporarily, you can update the environment variable using module use:
module use /cm/shared/uniol/software/EasyBuild-3.6.2/modules/all
Now EasyBuild should be loadable through the command ml EasyBuild/x.x.x
But this solution is temporary. For the $MODULEPATH entry to be stored permanently, you have to _________________________.
aliases
It can be very helpful to combine several statements in one command. Aliases are particularly suitable for this purpose. You can edit /user/<username>/.bash_aliases to bundle different commands into a single one. For example, the command eb73 starts an installation with a lot of statements attached. This is done through the following entry in the file .bash_aliases
alias eb73='eb --subdir-modules=modules/7.3 --subdir-software=software/7.3 --installpath=/user/erle1100/$
With the command eb74 we can start an installation process, which stores the modules into a subdirectory for every piece of software that is installed with GCC 7.3.
Since this is a test installation of the newest EasyBuild, the installation folder is located in the home directory.