9. Extension of spack command in spack-stackΒΆ

This section describes the spack stack extension of the spack command, which simplifies the installation process. As for any other spack command, help is available with spack stack -h. The spack stack extension has two subcommands, explained in the following.

spack stack [create|setup-meta-modules]

The spack stack create command creates a new environment or a new container (add -h for each of them for help):

spack stack create [env|ctr]

The full list of options for creating environments is:

spack stack create env [--template TEMPLATE] [--specs [SPECS [SPECS ...]]] [--name NAME] [--dir DIR] [--overwrite] [--packages PACKAGES] [--site SITE] [--prefix PREFIX] [--envs-file ENVS_FILE] [--upstream UPSTREAM]

Here, TEMPLATE corresponds to a pre-defined list of specs (see Section 8.3), SITE to a pre-configured or a configurable site (see Section 3). For all other options, consult the output of spack stack create env -h.

The full list of options for creating containers is:

spack stack create ctr [--container CONTAINER] [--dir DIR] [--overwrite] [--specs NAME]

CONTAINER corresponds to a pre-defined container recipe and SPECS to a list of packages to be installed (see Section 7). For all other options, consult the output of spack stack create ctr -h.

Following a successful creation of an environment (not a container), and the generation of the spack lmod/tcl module files via spack module [lmod|tcl] refresh, the meta modules for compiler, Python interpreter and MPI library are generated with

spack stack setup-meta-modules

This step completes the environment generation and outputs a Core directory to screen that must be added to the module path (module use .../Core) as shown in Section 2.