EasyConfig files#

EasyBuild is a module in our module system and can be loaded accordingly. It comes with a large number of pre-written EasyConfig files that you can search:

# Searching is case-insensitive
eb -S spades

This is the first place to look to see if the software you want to install is already catered for.

The second place is on the EasyBuild github, which puts EasyConfig files into a separate repo organised into alphabetical directories. The only danger here is that if you find a suitable EasyConfig file, it may list dependencies that you also need to download directly from the github.

Every time a new release is made, the local EasyConfigs are updated, but there are 3-4 months between EasyBuild versions.

Easyblocks#

Easyblocks are the templates used to control the process of installation and module creation. There are many specific easyblocks for major pieces of software, such as the toolchain components, Python, R and so on. There are also generic easyblocks that cover most of the types of software installation you’re likely to encounter.

Generic easyblocks

Writing your own EasyConfig#

Wherever possible, avoid doing this from scratch. At least start from another version of the package you’re trying to install, or one that uses the same easyblock.

EasyBuild already has a good tutorial for this:

Writing EasyConfigs

Installation#

To install a module following a particular EasyConfig:

# Install
eb /path/to/easyconfig --robot --prefix=/nfs/nas22/fs2201/biol_micro_unix_modules/modules --buildpath /science/build --parallel 32

If you want to be sure which dependencies will be installed (this is what --robot does), then you can add -D for a ‘dummy run’.

You can force a complete rebuild of a module (if you change the EasyConfig for instance) with --rebuild.