EasyBuild (EB)

EasyBuild provides a robust, customizable, and scalable way to automatically build, install, and manage scientific software on HPC environments—ensuring consistent, efficient, and repeatable deployments.

  1. Initialize the EESSI environment: To make the EESSI software available, you first need to source the EESSI initialization script for the 2023.06 version. This command sets up your bash shell environment:

    source /cvmfs/software.eessi.io/versions/2023.06/init/bash
    
  2. Configure EasyBuild to avoid using the HOME directory: Due to the strict HOME directory quotas (both block and inode quota; see Overview), EasyBuild must not be used with HOME as a build or installation target, configure EasyBuild to build and install software in scratch space:

    BASE="/scratch/${project}/${USER}"
    
    echo "Using project: $project"
    echo "Using user:    $USER"
    echo "Scratch base:  $BASE"
    
    # --- ensure directories exist ---
    mkdir -p "$BASE/eessi" "$BASE/eb_work" "$BASE/eb_sources"
    
    # --- redirect EasyBuild / EESSI installs ---
    export EESSI_USER_INSTALL="$BASE/eessi"
    export WORKING_DIR="$BASE/eb_work"
    export EASYBUILD_SOURCEPATH="$BASE/eb_sources"
    
  3. Load EasyBuild program:

    module load EESSI-extend/2023.06-easybuild
    
  4. Build the required program available in the EasyBuild catalog (https://docs.easybuild.io/version-specific/supported-software/): With the environment and the EESSI-extensions module loaded, you can run EasyBuild:

    eb OpenBabel-3.1.1-gompi-2023a.eb
    

    If your version already exists, you can add --rebuild to force a rebuild in your namespace:

    eb OpenBabel-3.1.1-gompi-2023a.eb --rebuild
    

    This makes the obabel, babel, and the Python/Pybel module available for use.

Notes for EB usage

  • Never build or install software in $HOME.

  • Always redirect EESSI_USER_INSTALL to /scratch or /project.

  • Scratch storage is recommended for EasyBuild outputs.

Last update by Milán SZŐRI: 2026-02-21