Skip to end of metadata
Go to start of metadata

If you have a software need that isn't provided for in the existing modules, you can often find it in the EasyBuild infrastructure. Easy Build (EB) helps streamline software builds by gathering and building prerequisite software and libraries for your target package.  It selects prerequisite versions that are known to work with your target package version.  To browse a list of available software, please visit the EB site:

If you successfully build a package using EB and you think it would be beneficial to the entire ACRES community, please email with your build procedure and OIT will replicate it in the centrally available software repository.

Many thanks to Dr. Brian Helenbrook for his contributions to this procedure.

Step-by-step guide

  1. Set up your environment:
    module purge
    export EASYBUILD_PREFIX=${HOME}/.local/easybuild
    curl -O
    module use $EASYBUILD_PREFIX/modules/all
    module load EasyBuild

  2. Search for EB configurations for your desired package. We'll use petsc in this example:
    eb --search petsc

    EasyBuild will return a list of configurations that match your search string. Select the version and toolchain you wish to use, preferably a toolchain that is already available in the central repository. Note that at this time, Intel compilers are not available on ACRES. Do not select any version that is tagged with "Intel" in the toolchain as it will not build without Intel compilers.

  3. With your EB configuration selected, do a dry run to verify what EB is about to build for you. Add the --robot flag to have EB handle prerequisites. 
    eb --dry-run PETSc-3.12.4-foss-2019b.eb --robot

    The lines with [X] already exist. Empty [ ] indicate something EB will need to build for you.

  4. Build the software. Depending on how many prerequisites there are and how complicated they are, this can take minutes to hours.
    eb PETSc-3.12.4-foss-2019b.eb --robot

  5. Once the build is complete, try it out. You'll need to include the following three lines in your submission script to ensure your new software (PETSc in this case) is found.
    export EASBUILD_PREFIX=${HOME}/.local/easybuild
    module use $EASYBUILD_PREFIX/modules/all
    module load PETSc/3.12.4

For more detailed information on the use of Easy Build, please see the complete documentation: