6. 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]

Here, TEMPLATE corresponds to a pre-defined list of specs (see Section 4.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 [--template TEMPLATE] [--name NAME] [--dir DIR] [--overwrite] [--packages PACKAGES] container

TEMPLATE is identical to creating environments, and container corresponds to a pre-defined container recipe (see Section 4.4). 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.2.