Brussels / 2 & 3 February 2013



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.

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 [7] 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
Kenneth Hoste