Difference between revisions of "Installing EasyBuild"

From HPC users
Jump to navigationJump to search
 
(2 intermediate revisions by the same user not shown)
Line 11: Line 11:


=Installing EasyBuild=
=Installing EasyBuild=
Basically, you just have to download a bootstrap file of the newest EasyBuild version from [https://raw.githubusercontent.com/easybuilders/easybuild-framework/develop/easybuild/scripts/bootstrap_eb.py 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.

Latest revision as of 10:01, 27 August 2018

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.