We recommend installation preferably with Spack or with Docker. Both installation methods are system independent, which minimises the likelihood of something going wrong on your computer.

Docker https://www.docker.com is a Linux (e.g. Ubuntu) system virtualisation, where MoFEM is launched in a docker container (virtual system) hosted by your native OS. The advantage of this approach is that the operating system environment is contained on a virtual machine hosted on your computer. Therefore, potential errors can be easily reproduced by MoFEM support team, and the assistance can be provided easier. However, this installation method demands understanding of how Docker container works, furthermore, it provides relatively slow reading and writing and a limited portability for HPC computing.

Spack https://spack.io on the other hand allows an easy installation on the base system and is free from disadvantages of the Docker solution. Spack is not a container, it is a packaging system for HPC, Linux and macOS. Therefore, Spack is the recommended installation method for MoFEM.

Ubuntu and macOS installation methods demand direct interaction with the OS, and to do it well you have to know the location of some libraries installed on your system. We do not recommend following these installation instructions unless you have experience of installing libraries from source.