Skip to content
itkovian edited this page Apr 4, 2012 · 9 revisions

What is EasyBuild?

EasyBuild is a framework for building and installing software in a structured, repeatable and robust way. EasyBuild is written in Python.

It was developed by the High-Performance Computing team at Ghent University and was motivated by the need for a system that allows to:

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

Some key properties of EasyBuild:

  • the installation configuration is done using a (very concise) .eb specification file
  • the 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

For more information on EasyBuild, see the documentation wiki on github.

Clone this wiki locally