SPACK install of FLEUR
Another path to get working FLEUR installation is the use of the SPACK package manager.
This is a preferred installation method if
- You have spack support already on your machine or
- You can use one of our predefined environments.
spack
can also be used of course in all other cases, but be aware that you should spend some time to make sure spack
uses some preinstalled libraries instead of compiling everything from scratch. In any case, please consult the spack documentation.
If you do not have spack
installed, start with cloning it. This is a large repo and will take some time
git clone https://github.com/spack/spack.git
Whenever you use spack, you should first setup your shell environment.
. spack/share/spack/setup-env.sh
While in principle, you can now install FLEUR by using the recipe included in the default spack repo, this might not always be up-to-date. In addition, we provide some environments for spack that are tuned to specific computers. You might want to use these directly or use them as a basis to adjust to your situation. To use the up-to date version of the recipes and the environments we can use the configure script of FLEUR again. So we clone the fleur repo as well
git clone https://iffgit.fz-juelich.de/fleur/fleur
Now we use the fleur configure script with the -spack
option to choose an environment (Here we should choose the generic environment.)
As the script will try to read from the terminal, you should execute it in an explicit terminal, not in the notebook here.
In the terminal do
. spack/share/spack/setup-env.sh
fleur/configure.sh -spack
After you installed the environment, you can do a
spack env activate NAME_OF_YOUR_ENVIRONMENT
and a
spack install
to install FLEUR. (This will take a long time because many dependencies will be built as well). You can also first only do a
spack spec
To see all dependencies, spack will build.
If you want to use FLEUR, you should do a
spack load fleur
.
Learn more
The biggest advantage of using spack to install FLEUR is the reproducibility of the build process it provides. To understand all features of spack you should read its documentation at
- https://spack.io/about