Brussels / 1 & 2 February 2014


EasyBuild: Building Software With Ease

EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable, and robust way. This talk will present the problem with building with scientific software, introduce EasyBuild, and discuss the main features of the tool.

EasyBuild is motivated by the need for a tool that allows to:

  • independently install multiple versions of software side-by-side
  • support multiple compilers and libraries for building software and its dependencies
  • keep the software build configuration simple
  • divert from the standard configure / make / make install with custom procedures (which is often necessary for scientific software)
  • use environment modules for dependency resolution and making the software available to users in a transparent way
  • keep record of the installation logs
  • keep track of installation configuration in version control

Some key properties of EasyBuild:

  • installation configuration is done using a (very concise) .eb specification file
  • custom behaviour is described in easyblocks; these are Python classes that can be plugged into the EasyBuild framework
  • the generation of the module files to easily make the software available to users
  • the dependencies for installation are resolved using environment modules and can be automatically installed using the robot feature
  • after the installation, the specification files can be sent to a repository for archiving


Jens Timmerman