Stackinator¶
A tool for building a scientific software stack from a recipe on HPE Cray EX systems.
It is used to build software vClusters on Alps infrastructure at CSCS.
Getting Stackinator¶
To get the latest version, download directly from GitHub.
Once installed, add the bin
sub-directory to your path:
Info
The main
branch of Stackinator includes features for Spack v1.0, and may break older recipes.
For existing recipes use Spack v0.23 and earlier, use version 5
Requirements¶
To run stackinator uv needs to be installed.
Versions¶
The two supported versions of Stackinator are:
- v6: the latest release, which supports Spack 1.0.
- Introduces breaking changes to the recipe format from v5.
- Check out the guide for porting recipes to the new format.
- v5: supports Spack v0.23 (also v0.21 and v0.22) and earlier.
- Maintained in the git branch
releases/v5
.
- Maintained in the git branch
Quick Start¶
Stackinator generates the make files and spack configurations that build the spack environments that are packaged together in the spack stack.
It can be thought of as equivalent to calling cmake
or configure
, before running make to run the configured build.
# configure the build
stack-config --build $BUILD_PATH --recipe $RECIPE_PATH --system $SYSTEM_CONFIG_PATH
Where the BUILD_PATH
is the path where the build will be configured, the RECIPE_PATH
contains the recipe for the sotware stack, and SYSTEM_CONFIG_PATH
is the system configuration for the cluster being targeted.
Once configured, the build stack is built in the build path using make:
# build the spack stack
cd $BUILD_PATH
env --ignore-environment PATH=/usr/bin:/bin:`pwd`/spack/bin make modules store.squashfs -j64
See the documentation on building Spack stacks for more information.
Once the build has finished successfully the software can be installed.
Alps
On Alps the software stack can be tested using the uenv image generated by the build: