Skip to content

EasyBuild tutorial for CSC and the LUMI consortium

This tutorial is based extensively on the more generic EasyBuild tutorials build by the EasyBuild community and maintained on this site. See that site for credits to the contributors of those tutorials.


This is an introductory tutorial to EasyBuild, a command line tool for installing (scientific) software on High Performance Computing (HPC) systems. This tutorial is specifically for EasyBuild as implemented on LUMI and has been developed for CSC and the Local Organisations within the LUMI consortium. Yet much of the material is useful to a broader community of EasyBuild users on Cray systems or even EasyBuild users in general. For more generic EasyBuild tutorials, see the EasyBuild tutorial site.

This tutorial aims to explain the core concepts of EasyBuild, get you started with using it, make you familiar with some of the features it provides, and show how it is used on LUMI to maintain the central software stacks and offer the users an easy environment to install packages on top of the central stack and thus create their own customised environment.

Through hands-on exercises and demos, you will learn how EasyBuild can help you to get scientific software installed in an efficient way.

Intended audience

This tutorial is primarily intended for people new to EasyBuild, but even if you're already familiar with the project it could be interesting to step through it.

Our main target audience includes:

  • application experts in LUST and the local organizations who want to contribute to the software stack on LUMI or support their users;
  • developers who want to make their developments available to LUMI users;
  • advanced users who want to customize available build recipes or develop their own recipes.


We expect you to be (a little bit) familiar with:

  • using a Linux command line interface;
  • the (absolute) basics of compiling software from source.

EasyBuild requires:

  • GNU/Linux (any distribution),
  • Python 2.7 or 3.5+, though a fairly recent version of Python 3 is highly recommended,
  • an environment modules tool (see the module command). On LUMI we use Lmod, a modern environment modules tool implemented in Lua.

However, the LUMI version of the tutorial is currently specifically for the Cray Programming Environment which is not freely available, so unless you have access to a system with this environment you cannot really do local development.


Last update: November 4, 2022