Tutorial setup
If you have not done the prior sections, you’ll need to start the docker image:
docker run -it ghcr.io/spack/tutorial:sc25
and then set Spack up like this:
git clone --depth=2 --branch=releases/v1.1 https://github.com/spack/spack
. spack/share/spack/setup-env.sh
spack repo update builtin --tag v2025.11.0
spack tutorial -y
spack bootstrap now
spack compiler find
See the Basic Installation Tutorial for full details on setup.
For more help, join us in the #tutorial channel on Slack – get an invitation at slack.spack.io
Stacks Tutorial¶
We’ve talked about Spack environments in the context of a unified user environment. But environments in Spack have much broader capabilities. In this tutorial we will consider how to use Spack environments to manage large deployments of software.
What usually differs between a typical environment for a single user, and an environment used to manage large deployments, is that in the latter case we often have a set of packages we want to install across a wide range of MPIs, LAPACKs or compilers.
Below, we’ll mimic the creation of a software stack built onto a cross-product of different LAPACK and MPI libraries, with a compiler that is more recent than the one provided by the host system.
First, we’ll focus on how to properly configure and install the software we want. We’ll learn how to pin certain requirements, and how to write a cross product of specs in a compact, and expressive, way.
We’ll consider how the software we install might be consumed by our users, and see the two main mechanisms that Spack provides for that: views and module files.
Note
Before we start this hands-on, make sure the EDITOR environment variable is set to your preferred editor, for instance:
$ export EDITOR='emacs -nw'
Setup the compiler¶
The first step to build our stack is to setup the compiler we want to use later. This is currently an iterative process that can be done in two ways:
Install the compiler first, then install the rest of the environment
Install the compiler outside the environment (either in another environment or standalone)
Below, we’ll use the first approach. For people interested, an example of composing a compiler from another environment can be found at this link.
Let’s start by creating an environment in a directory of our choice:
$ spack env activate --create ~/stacks
$ spack env status
==> In environment /home/spack/stacks
We can add from the command line a new compiler. We’ll also disable the generation of views for the time being, as we’ll come back to this topic later in the tutorial:
$ spack add gcc@12 %gcc@11
==> Adding gcc@12 %gcc@11 to environment /home/spack/stacks
$ spack env view disable
$ spack config edit
What you should see on screen now is the following spack.yaml file:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
specs:
- gcc@12%gcc@11
view: false
concretizer:
unify: true
The next step is to concretize and install our compiler:
$ spack concretize
==> Concretized 1 spec:
- fmnvqo4 gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] ntccuj2 ^compiler-wrapper@1.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] cih4xrz ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] qtepnkr ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] irhvzch ^gawk@5.3.1~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] bs5ujst ^libsigsegv@2.14 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] c6d2zlj ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[e] ml7cem5 ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3
[+] nokfxva ^gcc-runtime@11.4.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[e] qg7qyaz ^glibc@2.35 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 4obn7cg ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] mj4re3l ^gmp@6.3.0+cxx build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] fgsf5ij ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] pzmnwzm ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lxvpwti ^m4@1.4.20+sigsegv build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] yt7ajy4 ^libtool@2.4.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] irvryts ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] sczvrku ^mpc@1.3.1 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] m3nwalt ^mpfr@4.2.1 build_system=autotools libs:=shared,static patches:=3ec29a6 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] 7p7gq7u ^autoconf-archive@2023.02.20 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 62kt5y4 ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] vdgigsw ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] x7t4naj ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] aq7qwy6 ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] k6ygirs ^texinfo@7.2~xs build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cakgj4n ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] 5trxrsw ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lfgvgva ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] kaz756e ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] yzaocbs ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] ncdxq3j ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] f4qiprw ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] qlavhjb ^zlib-ng@2.0.7 cflags=-O3 +compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] foiizhd ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
$ spack install
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-kaz756eya6nj3ardls4b6aiaclkaux7i
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.12-cih4xrzw7ysoceclj2x33hdgo23nuvmk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpfr-4.2.1-m3nwaltjkwzqahxlfylauzm5nxkuk2ud
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gawk-5.3.1-irhvzcha2sysowm6prf7zkvjitpykaxd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.42.0-62kt5y4kl7uhwljviixr3m4dyf5vre7t
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/texinfo-7.2-k6ygirswvbp5fb5ijcgwyfck6hax5xix
==> Fetching file:///mirror/blobs/sha256/1f/1fc94cabbbd6e9c052ea3a10d368fcbd30d3b2c4f18da478323a5e354cec9596
[100%] 651.91 MB @ 371.4 GB/s
==> Extracting gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc from binary cache
==> Wrote new spec file to /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc/lib/gcc/x86_64-pc-linux-gnu/12.3.0/specs
==> gcc: Successfully installed gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc
Search: 0.00s. Fetch: 1.28s. Install: 12.52s. Extract: 11.04s. Relocate: 1.44s. Total: 13.81s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc
==> Installing gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc [29/29]
We are ready to build more software with our newly installed GCC!
Install a software stack¶
Now that we have a compiler ready, the next objective is to build software with it.
We’ll start by trying to add different versions of netlib-scalapack, linked against different MPI implementations:
$ spack add netlib-scalapack %gcc@12 ^openblas ^openmpi
==> Adding netlib-scalapack %gcc@12 ^openblas ^openmpi to environment /home/spack/stacks
$ spack add netlib-scalapack %gcc@12 ^openblas ^mpich
==> Adding netlib-scalapack %gcc@12 ^mpich ^openblas to environment /home/spack/stacks
If we try to concretize the environment, we’ll get an error. We cannot unify an environment with two different configurations of the same package.
Tuning concretizer options for a stack¶
Whenever we concretize an environment with more than one root spec, we can configure Spack to be more or less strict with duplicate nodes in the sub-DAG obtained by following link and run edges starting from the roots. We usually call this sub-DAG the root unification set.
A diagram might help visualize the concept:
The image above represents the current environment, with our three root specs highlighted by a thicker dashed line. Any node that could be reached following a link or run edge is part of the root unification set. Pure build dependencies might fall outside of it.
The config option determining which nodes are allowed to be in the root unification set is concretizer:unify.
Let’s check its value:
$ spack config get concretizer | grep unify
unify: true
concretizer:unify:true means that only a single configuration for each package can be present.
This value is good for single project environments, since it ensures we can construct a view of all the software, with the usual structure expected on a Unix-ish system, and without risks of collisions between installations.
We can’t respect this requirement, as our roots already contain two different configurations of netlib-scalapack.
Set the value to false, and try to re-concretize:
$ spack config add concretizer:unify:false
$ spack concretize
==> Starting concretization pool with 2 processes
==> Concretized 2 specs:
- 3t7cajd netlib-scalapack@2.2.2~ipo~pic+shared build_system=cmake build_type=Release generator=make platform=linux os=ubuntu22.04 target=x86_64_v3 %c,fortran=gcc@12.3.0
- 4a7thjg ^cmake@3.31.9~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- zianoaa ^curl@8.15.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] ft5kpbd ^nghttp2@1.48.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- q4fenfo ^openssl@3.6.0~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] etqlnw5 ^ca-certificates-mozilla@2025-08-12 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
- ytk4y2k ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- 4tglvhv ^zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] ntccuj2 ^compiler-wrapper@1.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] fmnvqo4 ^gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cih4xrz ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] qtepnkr ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] irhvzch ^gawk@5.3.1~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] bs5ujst ^libsigsegv@2.14 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] c6d2zlj ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[e] ml7cem5 ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3
[+] nokfxva ^gcc-runtime@11.4.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] mj4re3l ^gmp@6.3.0+cxx build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] fgsf5ij ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] pzmnwzm ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lxvpwti ^m4@1.4.20+sigsegv build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] yt7ajy4 ^libtool@2.4.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] sczvrku ^mpc@1.3.1 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] m3nwalt ^mpfr@4.2.1 build_system=autotools libs:=shared,static patches:=3ec29a6 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] 7p7gq7u ^autoconf-archive@2023.02.20 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 62kt5y4 ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] vdgigsw ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] x7t4naj ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] aq7qwy6 ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] k6ygirs ^texinfo@7.2~xs build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cakgj4n ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] 5trxrsw ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lfgvgva ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] kaz756e ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] yzaocbs ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] ncdxq3j ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] qlavhjb ^zlib-ng@2.0.7 cflags=-O3 +compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] foiizhd ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- pgwnyw7 ^gcc-runtime@12.3.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[e] qg7qyaz ^glibc@2.35 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 4obn7cg ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- uaioo2h ^mpich@4.3.2~argobots~cuda+fortran+hwloc+hydra~level_zero+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
[+] irvryts ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- wkj6z6m ^hwloc@2.12.2~cairo~cuda~gl~level_zero~libudev+libxml2~nvml~opencl+pci~rocm build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- 7imejdf ^libfabric@2.3.1~cuda~debug~kdreg~level_zero~rocm~uring build_system=autotools fabrics:=sockets,tcp,udp platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- p7g23cj ^libpciaccess@0.17 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] hwxnwvm ^util-macros@1.20.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
- idam6zh ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- g3zxoz6 ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- 643vviq ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] f4qiprw ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- 7jn3viv ^yaksa@0.4~cuda~level_zero~rocm build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- yvs3szq ^python@3.14.0+bz2+ctypes+dbm~debug+libxml2+lzma~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib+zstd build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- ikeoatl ^expat@2.7.3+libbsd build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- zb37a5t ^libbsd@0.12.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- cq4lpjp ^libmd@1.1.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- 3f5v73y ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- wfarfth ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- bs2taxm ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- s56v4gf ^libffi@3.5.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- eyfbskp ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- plzt2nd ^sqlite@3.50.4+column_metadata+fts+rtree build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- b4npzn6 ^util-linux-uuid@2.41 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- fj5u5hm ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- dwjd7g2 ^openblas@0.3.30~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=openmp platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
- yxweja4 netlib-scalapack@2.2.2~ipo~pic+shared build_system=cmake build_type=Release generator=make platform=linux os=ubuntu22.04 target=x86_64_v3 %c,fortran=gcc@12.3.0
- p2gmhau ^openmpi@5.0.8+atomics~cuda~debug+fortran~gpfs~internal-hwloc~internal-libevent~internal-pmix~ipv6~java~lustre~memchecker~openshmem~rocm~romio+rsh~static~two_level_namespace+vt+wrapper-rpath build_system=autotools fabrics:=none romio-filesystem:=none schedulers:=none platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
- nzbffup ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
- zmzk4bb ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- fn26hil ^libevent@2.1.12+openssl build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- t2nikrt ^numactl@2.0.18 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- lip7jtp ^openssh@9.9p1+gssapi build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- onmo4bv ^krb5@1.21.3+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] n7yzkyl ^bison@3.8.2~color build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- msusunh ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- c5o6gvv ^libedit@3.1-20240808 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- drjmmlw ^libxcrypt@4.4.38~obsolete_api build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- jpuw66s ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- zom5syd ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- y5bsvao ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- 76oyav4 ^pmix@6.0.0~munge~python build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- zalt7cs ^prrte@4.0.0 build_system=autotools schedulers:=none platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] gmhq65u ^flex@2.6.3+lex~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
This time concretization succeeded.
Setting concretizer:unify:false is effectively concretizing each root spec on its own, and then merging the results into the environment.
This allows us to have the duplicates we need.
Note
If the environment is expected to have only a few duplicate nodes, then there’s another value we might consider:
$ spack config add concretizer:unify:when_possible
With this option Spack will try to unify the environment in an eager way, solving it in multiple rounds.
The concretization at round n will contain all the specs that could not be unified at round n-1, and will consider all the specs from previous rounds for reuse.
Spec matrices¶
Let’s further expand our stack and consider also linking against different LAPACK providers. We could, of course, add new specs explicitly:
$ spack add netlib-scalapack %gcc@12 ^netlib-lapack ^openmpi
==> Adding netlib-scalapack %gcc@12 ^netlib-lapack ^openmpi to environment /home/spack/stacks
$ spack add netlib-scalapack %gcc@12 ^netlib-lapack ^mpich
==> Adding netlib-scalapack %gcc@12 ^mpich ^netlib-lapack to environment /home/spack/stacks
This way of proceeding, though, will become very tedious once more software is requested. The best way to express a cross-product like this in Spack is instead through a matrix:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
specs:
- gcc@12%gcc@11
- matrix:
- [netlib-scalapack]
- [^openmpi, ^mpich]
- [^openblas, ^netlib-lapack]
- ["%gcc@12"]
view: false
concretizer:
unify: false
Matrices will expand to the cross-product of their rows, so this matrix:
- matrix:
- ["netlib-scalapack"]
- ["^openmpi", "^mpich"]
- ["^openblas", "^netlib-lapack"]
- ["%gcc@12"]
is equivalent to this list of specs:
- "netlib-scalapack %gcc@12 ^openblas ^openmpi"
- "netlib-scalapack %gcc@12 ^openblas ^mpich"
- "netlib-scalapack %gcc@12 ^netlib-lapack ^openmpi"
- "netlib-scalapack %gcc@12 ^netlib-lapack ^mpich"
We are now ready to concretize and install the environment:
$ spack concretize
==> Starting concretization pool with 2 processes
==> Concretized 2 specs:
- pglf7pu netlib-scalapack@2.2.2~ipo~pic+shared build_system=cmake build_type=Release generator=make platform=linux os=ubuntu22.04 target=x86_64_v3 %c,fortran=gcc@12.3.0
- 4a7thjg ^cmake@3.31.9~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- zianoaa ^curl@8.15.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] ft5kpbd ^nghttp2@1.48.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- q4fenfo ^openssl@3.6.0~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] etqlnw5 ^ca-certificates-mozilla@2025-08-12 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
- ytk4y2k ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- 4tglvhv ^zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] ntccuj2 ^compiler-wrapper@1.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] fmnvqo4 ^gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cih4xrz ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] qtepnkr ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] irhvzch ^gawk@5.3.1~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] bs5ujst ^libsigsegv@2.14 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] c6d2zlj ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[e] ml7cem5 ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3
[+] nokfxva ^gcc-runtime@11.4.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] mj4re3l ^gmp@6.3.0+cxx build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] fgsf5ij ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] pzmnwzm ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lxvpwti ^m4@1.4.20+sigsegv build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] yt7ajy4 ^libtool@2.4.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] sczvrku ^mpc@1.3.1 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] m3nwalt ^mpfr@4.2.1 build_system=autotools libs:=shared,static patches:=3ec29a6 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] 7p7gq7u ^autoconf-archive@2023.02.20 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 62kt5y4 ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] vdgigsw ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] x7t4naj ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] aq7qwy6 ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] k6ygirs ^texinfo@7.2~xs build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cakgj4n ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] 5trxrsw ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lfgvgva ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] kaz756e ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] yzaocbs ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] ncdxq3j ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] qlavhjb ^zlib-ng@2.0.7 cflags=-O3 +compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] foiizhd ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- pgwnyw7 ^gcc-runtime@12.3.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[e] qg7qyaz ^glibc@2.35 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 4obn7cg ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- uaioo2h ^mpich@4.3.2~argobots~cuda+fortran+hwloc+hydra~level_zero+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
[+] irvryts ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- wkj6z6m ^hwloc@2.12.2~cairo~cuda~gl~level_zero~libudev+libxml2~nvml~opencl+pci~rocm build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- 7imejdf ^libfabric@2.3.1~cuda~debug~kdreg~level_zero~rocm~uring build_system=autotools fabrics:=sockets,tcp,udp platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- p7g23cj ^libpciaccess@0.17 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] hwxnwvm ^util-macros@1.20.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
- idam6zh ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- g3zxoz6 ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- 643vviq ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] f4qiprw ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- 7jn3viv ^yaksa@0.4~cuda~level_zero~rocm build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- yvs3szq ^python@3.14.0+bz2+ctypes+dbm~debug+libxml2+lzma~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib+zstd build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- ikeoatl ^expat@2.7.3+libbsd build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- zb37a5t ^libbsd@0.12.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- cq4lpjp ^libmd@1.1.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- 3f5v73y ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- wfarfth ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- bs2taxm ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- s56v4gf ^libffi@3.5.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- eyfbskp ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- plzt2nd ^sqlite@3.50.4+column_metadata+fts+rtree build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- b4npzn6 ^util-linux-uuid@2.41 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- fj5u5hm ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- rhz3uek ^netlib-lapack@3.12.1~external-blas~ipo+lapacke+pic+shared~xblas build_system=cmake build_type=Release generator=make patches:=3059ebf,b1af8b6,e318340 platform=linux os=ubuntu22.04 target=x86_64_v3 %c,fortran=gcc@12.3.0
- apaz22o netlib-scalapack@2.2.2~ipo~pic+shared build_system=cmake build_type=Release generator=make platform=linux os=ubuntu22.04 target=x86_64_v3 %c,fortran=gcc@12.3.0
- p2gmhau ^openmpi@5.0.8+atomics~cuda~debug+fortran~gpfs~internal-hwloc~internal-libevent~internal-pmix~ipv6~java~lustre~memchecker~openshmem~rocm~romio+rsh~static~two_level_namespace+vt+wrapper-rpath build_system=autotools fabrics:=none romio-filesystem:=none schedulers:=none platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
- nzbffup ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
- zmzk4bb ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- fn26hil ^libevent@2.1.12+openssl build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- t2nikrt ^numactl@2.0.18 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- lip7jtp ^openssh@9.9p1+gssapi build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- onmo4bv ^krb5@1.21.3+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] n7yzkyl ^bison@3.8.2~color build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- msusunh ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- c5o6gvv ^libedit@3.1-20240808 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- drjmmlw ^libxcrypt@4.4.38~obsolete_api build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- jpuw66s ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- zom5syd ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- y5bsvao ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- 76oyav4 ^pmix@6.0.0~munge~python build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- zalt7cs ^prrte@4.0.0 build_system=autotools schedulers:=none platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] gmhq65u ^flex@2.6.3+lex~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
$ spack install
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ca-certificates-mozilla-2025-08-12-etqlnw5hd6o35feimkxa53omtrjxuf5l
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-macros-1.20.1-hwxnwvmn44zotq6y6cifufosug2utt5b
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/flex-2.6.3-gmhq65uhcnj2elzqkz3o7yg2652tmnqj
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpfr-4.2.1-m3nwaltjkwzqahxlfylauzm5nxkuk2ud
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bison-3.8.2-n7yzkylf4gs7cnu6scau27gxbodinprr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc
==> Fetching file:///mirror/blobs/sha256/36/36172444f4f2bb59d9c46d83a54e80f6b53f70ab5768074e9205b1c1b87fc873
[100%] 19.80 MB @ 401.3 GB/s
==> Extracting gcc-runtime-12.3.0-pgwnyw7ukf64qshxkhmfe4i3mnhnz2ed from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-12.3.0-pgwnyw7ukf64qshxkhmfe4i3mnhnz2ed
Search: 0.00s. Fetch: 0.22s. Install: 0.49s. Extract: 0.40s. Relocate: 0.06s. Total: 0.71s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-12.3.0-pgwnyw7ukf64qshxkhmfe4i3mnhnz2ed
==> Installing gcc-runtime-12.3.0-pgwnyw7ukf64qshxkhmfe4i3mnhnz2ed [22/68]
==> Fetching file:///mirror/blobs/sha256/86/862c573b5bef92d895569fa027e03913df8fff50fa9490b29faec83668897933
[100%] 63.82 MB @ 391.2 GB/s
==> Extracting util-linux-uuid-2.41-b4npzn6ixc2runjxjalulilgkmhpnmeq from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.41-b4npzn6ixc2runjxjalulilgkmhpnmeq
Search: 0.00s. Fetch: 0.01s. Install: 0.13s. Extract: 0.10s. Relocate: 0.01s. Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-linux-uuid-2.41-b4npzn6ixc2runjxjalulilgkmhpnmeq
==> Installing util-linux-uuid-2.41-b4npzn6ixc2runjxjalulilgkmhpnmeq [23/68]
==> Fetching file:///mirror/blobs/sha256/41/41f2130514252891e6c314cecaf4a52055b27d244fb7101864dd61d1a2087804
[100%] 181.45 KB @ 544.8 MB/s
==> Extracting libpciaccess-0.17-p7g23cjqjlm6bqct2miagkzxxxq76jjk from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-p7g23cjqjlm6bqct2miagkzxxxq76jjk
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.01s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-p7g23cjqjlm6bqct2miagkzxxxq76jjk
==> Installing libpciaccess-0.17-p7g23cjqjlm6bqct2miagkzxxxq76jjk [24/68]
==> Fetching file:///mirror/blobs/sha256/e9/e97c67351cfa8c848abedbbf642835f1d646723cfa9f1259bb973420bf22db51
[100%] 176.78 KB @ 519.2 MB/s
==> Extracting libmd-1.1.0-cq4lpjpcxcz5lrsu7twuxqlfcvxw4x5b from binary cache
==> libmd: Successfully installed libmd-1.1.0-cq4lpjpcxcz5lrsu7twuxqlfcvxw4x5b
Search: 0.00s. Fetch: 0.01s. Install: 0.11s. Extract: 0.02s. Relocate: 0.01s. Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libmd-1.1.0-cq4lpjpcxcz5lrsu7twuxqlfcvxw4x5b
==> Installing libmd-1.1.0-cq4lpjpcxcz5lrsu7twuxqlfcvxw4x5b [25/68]
==> Fetching file:///mirror/blobs/sha256/6e/6e3df487eecba3fdcb80039153b860279f89f7d7fe5d257897ec1fd14fcb791e
[100%] 66.90 MB @ 441.3 GB/s
==> Extracting ncurses-6.5-20250705-ytk4y2kvs7h2vlkltndotzgejrlj4ylb from binary cache
==> ncurses: Successfully installed ncurses-6.5-20250705-ytk4y2kvs7h2vlkltndotzgejrlj4ylb
Search: 0.00s. Fetch: 0.02s. Install: 0.57s. Extract: 0.53s. Relocate: 0.02s. Total: 0.59s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ytk4y2kvs7h2vlkltndotzgejrlj4ylb
==> Installing ncurses-6.5-20250705-ytk4y2kvs7h2vlkltndotzgejrlj4ylb [26/68]
==> Fetching file:///mirror/blobs/sha256/f3/f31bb9ea0b55f915a9d6adf2e586d545541104e33e7635a62a86ca71b61ebcc6
[100%] 62.16 MB @ 381.2 GB/s
==> Extracting libiconv-1.18-g3zxoz6huo7tpvkqhsmrmogb4wp6mzly from binary cache
==> libiconv: Successfully installed libiconv-1.18-g3zxoz6huo7tpvkqhsmrmogb4wp6mzly
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.05s. Relocate: 0.01s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-g3zxoz6huo7tpvkqhsmrmogb4wp6mzly
==> Installing libiconv-1.18-g3zxoz6huo7tpvkqhsmrmogb4wp6mzly [27/68]
==> Fetching file:///mirror/blobs/sha256/29/29613d409d98fb74f79f9b80ed750f77d5c80a4c67038a6580985d8611eb9c3b
[100%] 61.26 MB @ 371.0 GB/s
==> Extracting libfabric-2.3.1-7imejdfjnycxqaiaswob5cylcjiwal3t from binary cache
==> libfabric: Successfully installed libfabric-2.3.1-7imejdfjnycxqaiaswob5cylcjiwal3t
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.06s. Relocate: 0.01s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.3.1-7imejdfjnycxqaiaswob5cylcjiwal3t
==> Installing libfabric-2.3.1-7imejdfjnycxqaiaswob5cylcjiwal3t [28/68]
==> Fetching file:///mirror/blobs/sha256/58/58598af6ef3e490496ac23b2deb5734aa393484b5d18dc1035cab0bd3c9be2ae
[100%] 61.83 MB @ 421.1 GB/s
==> Extracting xz-5.6.3-643vviqh75hvv5zwyghppl72gqfr64rx from binary cache
==> xz: Successfully installed xz-5.6.3-643vviqh75hvv5zwyghppl72gqfr64rx
Search: 0.00s. Fetch: 0.01s. Install: 0.11s. Extract: 0.07s. Relocate: 0.01s. Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-643vviqh75hvv5zwyghppl72gqfr64rx
==> Installing xz-5.6.3-643vviqh75hvv5zwyghppl72gqfr64rx [29/68]
==> Fetching file:///mirror/blobs/sha256/f9/f9a5ab24dbae32b158abfff1177d2600787e7a09e902f5692967bcc2aa8549dc
[100%] 223.87 KB @ 563.6 MB/s
==> Extracting zlib-ng-2.2.4-4tglvhvqq7j2ftxifhnwsqx7ykr2gdiq from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-4tglvhvqq7j2ftxifhnwsqx7ykr2gdiq
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.01s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-4tglvhvqq7j2ftxifhnwsqx7ykr2gdiq
==> Installing zlib-ng-2.2.4-4tglvhvqq7j2ftxifhnwsqx7ykr2gdiq [30/68]
==> Fetching file:///mirror/blobs/sha256/fc/fcab35e1e2b8b1ac6104ce475a848415564d9a6b6e2ee25641bd19ac1daa8532
[100%] 24.13 MB @ 411.3 GB/s
==> Extracting openblas-0.3.30-dwjd7g2k2xnn4qekllidmd3mbibk2pmm from binary cache
==> openblas: Successfully installed openblas-0.3.30-dwjd7g2k2xnn4qekllidmd3mbibk2pmm
Search: 0.00s. Fetch: 0.04s. Install: 0.61s. Extract: 0.54s. Relocate: 0.04s. Total: 0.65s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.30-dwjd7g2k2xnn4qekllidmd3mbibk2pmm
==> Installing openblas-0.3.30-dwjd7g2k2xnn4qekllidmd3mbibk2pmm [31/68]
==> Fetching file:///mirror/blobs/sha256/ff/ff0044f4698c048ab4a225c71b0e7e5d8c6c902d4eeee7010343dbad8803b5cf
[100%] 93.01 KB @ 382.1 MB/s
==> Extracting libffi-3.5.2-s56v4gfjyubrphm3pwte4xkkpzsbalmd from binary cache
==> libffi: Successfully installed libffi-3.5.2-s56v4gfjyubrphm3pwte4xkkpzsbalmd
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.01s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libffi-3.5.2-s56v4gfjyubrphm3pwte4xkkpzsbalmd
==> Installing libffi-3.5.2-s56v4gfjyubrphm3pwte4xkkpzsbalmd [32/68]
==> Fetching file:///mirror/blobs/sha256/86/865d78f9fc5654ff92ec4a1d58beea89732ebc1d7a0f516611fb038dd8f6b97a
[100%] 61.56 MB @ 421.1 GB/s
==> Extracting zstd-1.5.7-fj5u5hmzffnxn433whymaz2n5uhajwqw from binary cache
==> zstd: Successfully installed zstd-1.5.7-fj5u5hmzffnxn433whymaz2n5uhajwqw
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.04s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-fj5u5hmzffnxn433whymaz2n5uhajwqw
==> Installing zstd-1.5.7-fj5u5hmzffnxn433whymaz2n5uhajwqw [33/68]
==> Fetching file:///mirror/blobs/sha256/48/489fa0369ae5bf3380f64f36d50d3d0ccc3983233891034db55034baabff36e5
[100%] 453.19 KB @ 762.5 MB/s
==> Extracting libbsd-0.12.2-zb37a5t5npeobk3tjjqcukstmpiwgv5b from binary cache
==> libbsd: Successfully installed libbsd-0.12.2-zb37a5t5npeobk3tjjqcukstmpiwgv5b
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.05s. Relocate: 0.01s. Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libbsd-0.12.2-zb37a5t5npeobk3tjjqcukstmpiwgv5b
==> Installing libbsd-0.12.2-zb37a5t5npeobk3tjjqcukstmpiwgv5b [34/68]
==> Fetching file:///mirror/blobs/sha256/e9/e9d8fec78b25d94d102e47a5dd47d72183ae15ceb15b4cb9b05bd04e027b94b0
[100%] 61.67 MB @ 371.1 GB/s
==> Extracting readline-8.3-eyfbskp7ur7n6y3ceyawjxyncivdlo3k from binary cache
==> readline: Successfully installed readline-8.3-eyfbskp7ur7n6y3ceyawjxyncivdlo3k
Search: 0.00s. Fetch: 0.01s. Install: 0.08s. Extract: 0.04s. Relocate: 0.01s. Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-eyfbskp7ur7n6y3ceyawjxyncivdlo3k
==> Installing readline-8.3-eyfbskp7ur7n6y3ceyawjxyncivdlo3k [35/68]
==> Fetching file:///mirror/blobs/sha256/32/324c4ccb22f78c92b236568acb2da1e09c59771808f29c40cafb6402bbf731d1
[100%] 905.22 KB @ 957.1 MB/s
==> Extracting libedit-3.1-20240808-c5o6gvvaovwqjx4d6dei3437rycaxpef from binary cache
==> libedit: Successfully installed libedit-3.1-20240808-c5o6gvvaovwqjx4d6dei3437rycaxpef
Search: 0.00s. Fetch: 0.01s. Install: 0.13s. Extract: 0.03s. Relocate: 0.01s. Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-c5o6gvvaovwqjx4d6dei3437rycaxpef
==> Installing libedit-3.1-20240808-c5o6gvvaovwqjx4d6dei3437rycaxpef [36/68]
==> Fetching file:///mirror/blobs/sha256/0e/0eeb5b2d0a3c05e415efdc30fa7dd71d997ce5ffb024ccce8afc60746e4ec94c
[100%] 61.13 MB @ 995.1 MB/s
==> Extracting diffutils-3.12-msusunhi5vdgrgniq3n6f6el4d3sdmns from binary cache
==> diffutils: Successfully installed diffutils-3.12-msusunhi5vdgrgniq3n6f6el4d3sdmns
Search: 0.00s. Fetch: 0.01s. Install: 0.08s. Extract: 0.04s. Relocate: 0.01s. Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.12-msusunhi5vdgrgniq3n6f6el4d3sdmns
==> Installing diffutils-3.12-msusunhi5vdgrgniq3n6f6el4d3sdmns [37/68]
==> Fetching file:///mirror/blobs/sha256/2f/2f26acbf32bf55c31b3de49c96c5d859685365fa4450f9c8c24b647692428f0a
[100%] 94.20 KB @ 437.1 MB/s
==> Extracting pigz-2.8-bs2taxmcalqybzx3ekltr74adkskotaz from binary cache
==> pigz: Successfully installed pigz-2.8-bs2taxmcalqybzx3ekltr74adkskotaz
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.01s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-bs2taxmcalqybzx3ekltr74adkskotaz
==> Installing pigz-2.8-bs2taxmcalqybzx3ekltr74adkskotaz [38/68]
==> Fetching file:///mirror/blobs/sha256/1c/1cea6db67250561dd1373dc9670e764f9bd4d1a2db16419aed63c78c4e3fb059
[100%] 62.72 MB @ 431.2 GB/s
==> Extracting libxml2-2.13.5-idam6zhjw4pckpaqppqomwiivjkuyu5d from binary cache
==> libxml2: Successfully installed libxml2-2.13.5-idam6zhjw4pckpaqppqomwiivjkuyu5d
Search: 0.00s. Fetch: 0.01s. Install: 0.12s. Extract: 0.07s. Relocate: 0.02s. Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-idam6zhjw4pckpaqppqomwiivjkuyu5d
==> Installing libxml2-2.13.5-idam6zhjw4pckpaqppqomwiivjkuyu5d [39/68]
==> Fetching file:///mirror/blobs/sha256/1b/1be051dbb0f6934499136055dd4f9bf8cf503081b6de57e687c080378120ba80
[100%] 636.27 KB @ 855.4 MB/s
==> Extracting expat-2.7.3-ikeoatlzkkhg67u2gvk66yrplhodsa7t from binary cache
==> expat: Successfully installed expat-2.7.3-ikeoatlzkkhg67u2gvk66yrplhodsa7t
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.02s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/expat-2.7.3-ikeoatlzkkhg67u2gvk66yrplhodsa7t
==> Installing expat-2.7.3-ikeoatlzkkhg67u2gvk66yrplhodsa7t [40/68]
==> Fetching file:///mirror/blobs/sha256/76/76ff26587fa3e1f2dd890da3b097517feae500866b81207fd5d457b3b274154e
[100%] 961.91 KB @ 987.2 MB/s
==> Extracting gdbm-1.25-y5bsvao3cxpaqhcskqoe2wwm4reknblj from binary cache
==> gdbm: Successfully installed gdbm-1.25-y5bsvao3cxpaqhcskqoe2wwm4reknblj
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.03s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.25-y5bsvao3cxpaqhcskqoe2wwm4reknblj
==> Installing gdbm-1.25-y5bsvao3cxpaqhcskqoe2wwm4reknblj [41/68]
==> Fetching file:///mirror/blobs/sha256/89/8964358e0481e7c998f1230ff59859b619ba331783c35723c33722fce7b34a6e
[100%] 10.85 MB @ 421.3 GB/s
==> Extracting sqlite-3.50.4-plzt2ndvbqjwuh52b5es4vkokl5voxxq from binary cache
==> sqlite: Successfully installed sqlite-3.50.4-plzt2ndvbqjwuh52b5es4vkokl5voxxq
Search: 0.00s. Fetch: 0.02s. Install: 0.26s. Extract: 0.20s. Relocate: 0.02s. Total: 0.28s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/sqlite-3.50.4-plzt2ndvbqjwuh52b5es4vkokl5voxxq
==> Installing sqlite-3.50.4-plzt2ndvbqjwuh52b5es4vkokl5voxxq [42/68]
==> Fetching file:///mirror/blobs/sha256/34/34e8cea4eb46b5807dece8e59b0b598c87af1cec25310557de4df6afcca1acd9
[100%] 294.79 KB @ 611.5 MB/s
==> Extracting bzip2-1.0.8-zom5sydb4bski4vwb4db4ah4d6ykcxgu from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-zom5sydb4bski4vwb4db4ah4d6ykcxgu
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-zom5sydb4bski4vwb4db4ah4d6ykcxgu
==> Installing bzip2-1.0.8-zom5sydb4bski4vwb4db4ah4d6ykcxgu [43/68]
==> Fetching file:///mirror/blobs/sha256/21/21c47a6f0358fbd071972268ba8bf53a3a03bf6bd5d91142e14e4c1aa1eb757c
[100%] 64.96 MB @ 351.3 GB/s
==> Extracting hwloc-2.12.2-wkj6z6mxkax4joosfjb3j6c55b7lqzuf from binary cache
==> hwloc: Successfully installed hwloc-2.12.2-wkj6z6mxkax4joosfjb3j6c55b7lqzuf
Search: 0.00s. Fetch: 0.01s. Install: 0.20s. Extract: 0.15s. Relocate: 0.02s. Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.12.2-wkj6z6mxkax4joosfjb3j6c55b7lqzuf
==> Installing hwloc-2.12.2-wkj6z6mxkax4joosfjb3j6c55b7lqzuf [44/68]
==> Fetching file:///mirror/blobs/sha256/56/564f99054e6e373a7230aabb09056f1c50c144df54bfdc16141af219b4f7aa5a
[100%] 15.62 MB @ 421.3 GB/s
==> Extracting perl-5.42.0-jpuw66splunzfj35iooigoy5bpzpmage from binary cache
==> perl: Successfully installed perl-5.42.0-jpuw66splunzfj35iooigoy5bpzpmage
Search: 0.00s. Fetch: 0.03s. Install: 0.78s. Extract: 0.64s. Relocate: 0.10s. Total: 0.81s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.42.0-jpuw66splunzfj35iooigoy5bpzpmage
==> Installing perl-5.42.0-jpuw66splunzfj35iooigoy5bpzpmage [45/68]
==> Fetching file:///mirror/blobs/sha256/5f/5fa5f095a919483f2a90b969dff19bc1f8d0f6fb8cfab861976bedd2591f3860
[100%] 61.27 MB @ 381.1 GB/s
==> Extracting tar-1.35-wfarfthvpwnuxoxzaznsrvply2sgx2zl from binary cache
==> tar: Successfully installed tar-1.35-wfarfthvpwnuxoxzaznsrvply2sgx2zl
Search: 0.00s. Fetch: 0.01s. Install: 0.08s. Extract: 0.03s. Relocate: 0.02s. Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-wfarfthvpwnuxoxzaznsrvply2sgx2zl
==> Installing tar-1.35-wfarfthvpwnuxoxzaznsrvply2sgx2zl [46/68]
==> Fetching file:///mirror/blobs/sha256/45/451b1a76f21be01ee2a8e62f7489947eb894d4cee6f80c80ce0f9b0e212cdb50
[100%] 61.03 MB @ 999.9 MB/s
==> Extracting autoconf-2.72-nzbffupyigbbaxqhjt4qxa2tdt6ezhxb from binary cache
==> autoconf: Successfully installed autoconf-2.72-nzbffupyigbbaxqhjt4qxa2tdt6ezhxb
Search: 0.00s. Fetch: 0.01s. Install: 0.15s. Extract: 0.04s. Relocate: 0.01s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-nzbffupyigbbaxqhjt4qxa2tdt6ezhxb
==> Installing autoconf-2.72-nzbffupyigbbaxqhjt4qxa2tdt6ezhxb [47/68]
==> Fetching file:///mirror/blobs/sha256/1a/1a81221c52b2afa4b6f99340ee1b621ed6bb3ee2b5e35b9a943b358555dfcddd
[100%] 744.42 KB @ 833.7 MB/s
==> Extracting libxcrypt-4.4.38-drjmmlw4cw7xa42jvz2zkj7fhmvflbzs from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.38-drjmmlw4cw7xa42jvz2zkj7fhmvflbzs
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.02s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-drjmmlw4cw7xa42jvz2zkj7fhmvflbzs
==> Installing libxcrypt-4.4.38-drjmmlw4cw7xa42jvz2zkj7fhmvflbzs [48/68]
==> Fetching file:///mirror/blobs/sha256/ae/aeff6cfb3399681a46f38c63b4c28b54cf1378cc9d87070693ea9a857701efe0
[100%] 68.14 MB @ 571.3 GB/s
==> Extracting openssl-3.6.0-q4fenforztsbdicbojnnh2ursudyzygb from binary cache
==> openssl: Successfully installed openssl-3.6.0-q4fenforztsbdicbojnnh2ursudyzygb
Search: 0.00s. Fetch: 0.02s. Install: 0.23s. Extract: 0.18s. Relocate: 0.02s. Total: 0.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-q4fenforztsbdicbojnnh2ursudyzygb
==> Installing openssl-3.6.0-q4fenforztsbdicbojnnh2ursudyzygb [49/68]
==> Fetching file:///mirror/blobs/sha256/fe/fec353efd4775021067e3abd226d8eaf7d2f4162f826a22bd6e7ba98f652eb80
[100%] 12.71 MB @ 401.3 GB/s
==> Extracting gettext-0.23.1-3f5v73yqnfdtac6tgkv43ceywl5ujlbt from binary cache
==> gettext: Successfully installed gettext-0.23.1-3f5v73yqnfdtac6tgkv43ceywl5ujlbt
Search: 0.00s. Fetch: 0.02s. Install: 0.59s. Extract: 0.52s. Relocate: 0.04s. Total: 0.62s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-3f5v73yqnfdtac6tgkv43ceywl5ujlbt
==> Installing gettext-0.23.1-3f5v73yqnfdtac6tgkv43ceywl5ujlbt [50/68]
==> Fetching file:///mirror/blobs/sha256/42/425a9cf5a729fa652891db98cb363e0ca2f8211e677f5bc770426866c79c4059
[100%] 710.71 KB @ 827.6 MB/s
==> Extracting automake-1.16.5-zmzk4bb3og3uivh4e75edsiyc3pjid55 from binary cache
==> automake: Successfully installed automake-1.16.5-zmzk4bb3og3uivh4e75edsiyc3pjid55
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.04s. Relocate: 0.02s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-zmzk4bb3og3uivh4e75edsiyc3pjid55
==> Installing automake-1.16.5-zmzk4bb3og3uivh4e75edsiyc3pjid55 [51/68]
==> Fetching file:///mirror/blobs/sha256/5e/5e7eafb9fd0f7cc61c2c32ca35d98b88f343174b8c89743ced108fbb319cd019
[100%] 62.87 MB @ 461.2 GB/s
==> Extracting libevent-2.1.12-fn26hildnamhqbytlfpq7hnnb5buy36v from binary cache
==> libevent: Successfully installed libevent-2.1.12-fn26hildnamhqbytlfpq7hnnb5buy36v
Search: 0.00s. Fetch: 0.01s. Install: 0.11s. Extract: 0.07s. Relocate: 0.01s. Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-fn26hildnamhqbytlfpq7hnnb5buy36v
==> Installing libevent-2.1.12-fn26hildnamhqbytlfpq7hnnb5buy36v [52/68]
==> Fetching file:///mirror/blobs/sha256/d6/d65881cbe8859834a37e6b54c6fa0fddd637046905b5039a30464235c6151caa
[100%] 61.27 MB @ 471.1 GB/s
==> Extracting curl-8.15.0-zianoaa5jzrbwhxsmm7bnhaxrdbq6jpb from binary cache
==> curl: Successfully installed curl-8.15.0-zianoaa5jzrbwhxsmm7bnhaxrdbq6jpb
Search: 0.00s. Fetch: 0.01s. Install: 0.08s. Extract: 0.03s. Relocate: 0.01s. Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-zianoaa5jzrbwhxsmm7bnhaxrdbq6jpb
==> Installing curl-8.15.0-zianoaa5jzrbwhxsmm7bnhaxrdbq6jpb [53/68]
==> Fetching file:///mirror/blobs/sha256/09/094ee8e5047a450a9b1cdfad98834cb3ccff10f0f334a05725cb5a2cc0a4c812
[100%] 98.78 MB @ 421.4 GB/s
==> Extracting python-3.14.0-yvs3szqzvvdlgtd5oih22mie2uyjgz42 from binary cache
==> python: Successfully installed python-3.14.0-yvs3szqzvvdlgtd5oih22mie2uyjgz42
Search: 0.00s. Fetch: 0.15s. Install: 3.34s. Extract: 3.16s. Relocate: 0.15s. Total: 3.49s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/python-3.14.0-yvs3szqzvvdlgtd5oih22mie2uyjgz42
==> Installing python-3.14.0-yvs3szqzvvdlgtd5oih22mie2uyjgz42 [54/68]
==> Fetching file:///mirror/blobs/sha256/a1/a1f963fa003e46337cc051275b09233f0177fc5f3623d50ae22feceaf41606ad
[100%] 61.97 MB @ 401.2 GB/s
==> Extracting krb5-1.21.3-onmo4bvd2j5t6x3udrswlorxjaxxmc3z from binary cache
==> krb5: Successfully installed krb5-1.21.3-onmo4bvd2j5t6x3udrswlorxjaxxmc3z
Search: 0.00s. Fetch: 0.01s. Install: 0.14s. Extract: 0.07s. Relocate: 0.04s. Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-onmo4bvd2j5t6x3udrswlorxjaxxmc3z
==> Installing krb5-1.21.3-onmo4bvd2j5t6x3udrswlorxjaxxmc3z [55/68]
==> Fetching file:///mirror/blobs/sha256/05/0569b4297d99ee9477064f75a150f847a27d25c96922219f56801bfbab932779
[100%] 398.05 KB @ 681.2 MB/s
==> Extracting numactl-2.0.18-t2nikrtxvuwdjvtutokwb374p2sbinlr from binary cache
==> numactl: Successfully installed numactl-2.0.18-t2nikrtxvuwdjvtutokwb374p2sbinlr
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.02s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-t2nikrtxvuwdjvtutokwb374p2sbinlr
==> Installing numactl-2.0.18-t2nikrtxvuwdjvtutokwb374p2sbinlr [56/68]
==> Fetching file:///mirror/blobs/sha256/28/28ba9baff735b81352c4bad8ab64b6ea66027700414916fb16864cca30e7fff9
[100%] 66.40 MB @ 411.3 GB/s
==> Extracting pmix-6.0.0-76oyav4s3nnn3iba2rxxip3gvv6rrybc from binary cache
==> pmix: Successfully installed pmix-6.0.0-76oyav4s3nnn3iba2rxxip3gvv6rrybc
Search: 0.00s. Fetch: 0.02s. Install: 0.22s. Extract: 0.16s. Relocate: 0.03s. Total: 0.23s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-6.0.0-76oyav4s3nnn3iba2rxxip3gvv6rrybc
==> Installing pmix-6.0.0-76oyav4s3nnn3iba2rxxip3gvv6rrybc [57/68]
==> Fetching file:///mirror/blobs/sha256/d8/d811fdb2a0072d2cae1a35bdfb03d5a06d2e0c3cde85e53e988b283d1c5381cf
[100%] 29.85 MB @ 411.3 GB/s
==> Extracting cmake-3.31.9-4a7thjgehxuwjfswyxnyoquuj5lmtzku from binary cache
==> cmake: Successfully installed cmake-3.31.9-4a7thjgehxuwjfswyxnyoquuj5lmtzku
Search: 0.00s. Fetch: 0.05s. Install: 1.25s. Extract: 1.14s. Relocate: 0.08s. Total: 1.30s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-4a7thjgehxuwjfswyxnyoquuj5lmtzku
==> Installing cmake-3.31.9-4a7thjgehxuwjfswyxnyoquuj5lmtzku [58/68]
==> Fetching file:///mirror/blobs/sha256/de/de3cbf2d958183636005db17720a60422a0c80633cf667cdd27517b30e9bf1da
[100%] 63.84 MB @ 431.3 GB/s
==> Extracting yaksa-0.4-7jn3vivsnjknixt6nr4il7jdglpprcob from binary cache
==> yaksa: Successfully installed yaksa-0.4-7jn3vivsnjknixt6nr4il7jdglpprcob
Search: 0.00s. Fetch: 0.01s. Install: 0.13s. Extract: 0.08s. Relocate: 0.01s. Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.4-7jn3vivsnjknixt6nr4il7jdglpprcob
==> Installing yaksa-0.4-7jn3vivsnjknixt6nr4il7jdglpprcob [59/68]
==> Fetching file:///mirror/blobs/sha256/93/93ab17395a7dee9efb5790ad264cac9523df6f8df86665cdbbaec7ebcf719b74
[100%] 63.10 MB @ 371.2 GB/s
==> Extracting openssh-9.9p1-lip7jtpgcoxwbzodoemijlvwudtfkjz5 from binary cache
==> openssh: Successfully installed openssh-9.9p1-lip7jtpgcoxwbzodoemijlvwudtfkjz5
Search: 0.00s. Fetch: 0.01s. Install: 0.15s. Extract: 0.07s. Relocate: 0.04s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-lip7jtpgcoxwbzodoemijlvwudtfkjz5
==> Installing openssh-9.9p1-lip7jtpgcoxwbzodoemijlvwudtfkjz5 [60/68]
==> Fetching file:///mirror/blobs/sha256/00/00732a5a39401d9757fab35e1dab15cc6f35ca2b6372091a58f099e992dbed47
[100%] 64.86 MB @ 421.3 GB/s
==> Extracting prrte-4.0.0-zalt7csrlsooyok5gqhodzwtab3qvoc3 from binary cache
==> prrte: Successfully installed prrte-4.0.0-zalt7csrlsooyok5gqhodzwtab3qvoc3
Search: 0.00s. Fetch: 0.01s. Install: 0.17s. Extract: 0.11s. Relocate: 0.02s. Total: 0.19s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/prrte-4.0.0-zalt7csrlsooyok5gqhodzwtab3qvoc3
==> Installing prrte-4.0.0-zalt7csrlsooyok5gqhodzwtab3qvoc3 [61/68]
==> Fetching file:///mirror/blobs/sha256/77/7769e2156df5ee688e458a9f42ba5dd745e734269e963baf3ca27785328fd4d8
[100%] 69.90 MB @ 471.3 GB/s
==> Extracting netlib-lapack-3.12.1-rhz3ueke3w4sennowbhe5wkehj32jcyt from binary cache
==> netlib-lapack: Successfully installed netlib-lapack-3.12.1-rhz3ueke3w4sennowbhe5wkehj32jcyt
Search: 0.00s. Fetch: 0.02s. Install: 0.35s. Extract: 0.22s. Relocate: 0.03s. Total: 0.38s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-lapack-3.12.1-rhz3ueke3w4sennowbhe5wkehj32jcyt
==> Installing netlib-lapack-3.12.1-rhz3ueke3w4sennowbhe5wkehj32jcyt [62/68]
==> Fetching file:///mirror/blobs/sha256/b1/b169e3b2207480bfd2f4e5eb790791ce8ab0d3d9ca489d9783cf700c6862848b
[100%] 15.15 MB @ 471.4 GB/s
==> Extracting mpich-4.3.2-uaioo2homcambwkqlfarew27bk6dqgqa from binary cache
==> mpich: Successfully installed mpich-4.3.2-uaioo2homcambwkqlfarew27bk6dqgqa
Search: 0.00s. Fetch: 0.03s. Install: 0.95s. Extract: 0.88s. Relocate: 0.04s. Total: 0.98s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.2-uaioo2homcambwkqlfarew27bk6dqgqa
==> Installing mpich-4.3.2-uaioo2homcambwkqlfarew27bk6dqgqa [63/68]
==> Fetching file:///mirror/blobs/sha256/d2/d263c358d41e304231d8f8d07132398600fd36c64c4877cd5f5b111423512a62
[100%] 14.55 MB @ 441.4 GB/s
==> Extracting openmpi-5.0.8-p2gmhau5kodki37wh5qws6a6b3jclhf6 from binary cache
==> openmpi: Successfully installed openmpi-5.0.8-p2gmhau5kodki37wh5qws6a6b3jclhf6
Search: 0.00s. Fetch: 0.03s. Install: 0.72s. Extract: 0.65s. Relocate: 0.04s. Total: 0.75s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-p2gmhau5kodki37wh5qws6a6b3jclhf6
==> Installing openmpi-5.0.8-p2gmhau5kodki37wh5qws6a6b3jclhf6 [64/68]
==> Fetching file:///mirror/blobs/sha256/8b/8be728f429fd697cbd43ec01a478621520fec33a0c863fc06e8c51cad76e68a6
[100%] 62.72 MB @ 461.2 GB/s
==> Extracting netlib-scalapack-2.2.2-3t7cajdej6kytam44sv3h6hermemexli from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.2-3t7cajdej6kytam44sv3h6hermemexli
Search: 0.00s. Fetch: 0.01s. Install: 0.20s. Extract: 0.06s. Relocate: 0.03s. Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-3t7cajdej6kytam44sv3h6hermemexli
==> Installing netlib-scalapack-2.2.2-3t7cajdej6kytam44sv3h6hermemexli [65/68]
==> Fetching file:///mirror/blobs/sha256/0a/0a453b08ef1a681c9bde495eeb29e416b91b5c46cde573767ff61fd2524f2ba8
[100%] 62.72 MB @ 421.2 GB/s
==> Extracting netlib-scalapack-2.2.2-pglf7pu6w2t7p2itr5sq5arvlc2xmrjt from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.2-pglf7pu6w2t7p2itr5sq5arvlc2xmrjt
Search: 0.00s. Fetch: 0.01s. Install: 0.13s. Extract: 0.06s. Relocate: 0.03s. Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-pglf7pu6w2t7p2itr5sq5arvlc2xmrjt
==> Installing netlib-scalapack-2.2.2-pglf7pu6w2t7p2itr5sq5arvlc2xmrjt [66/68]
==> Fetching file:///mirror/blobs/sha256/9d/9dc420645aca7c0b19bb8eba80b5781d3e688b6b2f1a6b8cb8b5a57b3425d394
[100%] 62.73 MB @ 371.2 GB/s
==> Extracting netlib-scalapack-2.2.2-apaz22ojhzvggduhgoqhdd2paxix3azc from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.2-apaz22ojhzvggduhgoqhdd2paxix3azc
Search: 0.00s. Fetch: 0.01s. Install: 0.14s. Extract: 0.06s. Relocate: 0.03s. Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-apaz22ojhzvggduhgoqhdd2paxix3azc
==> Installing netlib-scalapack-2.2.2-apaz22ojhzvggduhgoqhdd2paxix3azc [67/68]
==> Fetching file:///mirror/blobs/sha256/14/140755102624721dcb4e526fd3aad57a7e612d977a05f94f2f8f97cd6fea7408
[100%] 62.73 MB @ 391.0 GB/s
==> Extracting netlib-scalapack-2.2.2-yxweja4r47huk5yxgel4byighydafl5q from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.2-yxweja4r47huk5yxgel4byighydafl5q
Search: 0.00s. Fetch: 0.01s. Install: 0.21s. Extract: 0.06s. Relocate: 0.03s. Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-yxweja4r47huk5yxgel4byighydafl5q
==> Installing netlib-scalapack-2.2.2-yxweja4r47huk5yxgel4byighydafl5q [68/68]
Let’s double check which specs we have installed:
$ spack find
==> In environment /home/spack/stacks
==> 5 root specs
-- no arch / no compilers ---------------------------------------
[+] gcc@12 [+] netlib-scalapack [+] netlib-scalapack
[+] netlib-scalapack [+] netlib-scalapack
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@12.3.0 ------
mpich@4.3.2 openblas@0.3.30 openmpi@5.0.8
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
berkeley-db@18.1.40 gcc@12.3.0 m4@1.4.20 texinfo@7.2
bison@3.8.2 gettext@0.23.1 ncurses@6.5-20250705 zlib-ng@2.0.7
flex@2.6.3 gmp@6.3.0 nghttp2@1.48.0 zstd@1.5.7
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@12.3.0 --------------
cmake@3.31.9 gettext@0.23.1 libffi@3.5.2 openssl@3.6.0 zstd@1.5.7
curl@8.15.0 hwloc@2.12.2 ncurses@6.5-20250705 python@3.14.0
expat@2.7.3 krb5@1.21.3 openssh@9.9p1 zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,fortran=gcc@12.3.0 ----------
netlib-lapack@3.12.1 netlib-scalapack@2.2.2 netlib-scalapack@2.2.2
netlib-scalapack@2.2.2 netlib-scalapack@2.2.2
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
automake@1.16.5 gawk@5.3.1 libsigsegv@2.14 mpfr@4.2.1 readline@8.3
bzip2@1.0.8 gdbm@1.25 libtool@2.4.7 perl@5.42.0 tar@1.35
diffutils@3.12 gmake@4.4.1 libxml2@2.13.5 pigz@2.8 xz@5.6.3
findutils@4.10.0 libiconv@1.18 mpc@1.3.1 pkgconf@2.5.1
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@12.3.0 ------------------
automake@1.16.5 libedit@3.1-20240808 libpciaccess@0.17 pigz@2.8 tar@1.35
bzip2@1.0.8 libevent@2.1.12 libxcrypt@4.4.38 pmix@6.0.0 util-linux-uuid@2.41
diffutils@3.12 libfabric@2.3.1 libxml2@2.13.5 prrte@4.0.0 xz@5.6.3
gdbm@1.25 libiconv@1.18 numactl@2.0.18 readline@8.3 yaksa@0.4
libbsd@0.12.2 libmd@1.1.0 perl@5.42.0 sqlite@3.50.4
-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
autoconf@2.72 compiler-wrapper@1.0 glibc@2.35
autoconf@2.72 gcc@11.4.0 util-macros@1.20.1
autoconf-archive@2023.02.20 gcc-runtime@11.4.0
ca-certificates-mozilla@2025-08-12 gcc-runtime@12.3.0
==> 86 installed packages
==> 0 concretized packages to be installed (show with `spack find -c`)
As we can see we have our four variations of netlib-scalapack installed.
Reusable definitions¶
So far, we have seen how we can use spec matrices to generate cross-product specs from rows containing a list of constraints. A common situation you will encounter with large deployments is the necessity to add multiple matrices to the list of specs, that possibly share some of those rows.
To reduce the amount of duplication needed in the manifest file, and thus the maintenance burden, Spack allows to define lists of constraints under the definitions attribute, and expand them later when needed.
Let’s rewrite our manifest accordingly:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [ openmpi, mpich ]
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
view: false
concretizer:
unify: false
Check that re-concretizing won’t change the environment:
$ spack concretize
==> No new specs to concretize.
$ spack find -l
==> In environment /home/spack/stacks
==> 5 root specs
-- no arch / no compilers ---------------------------------------
[+] fmnvqo4 gcc@12 [+] 3t7cajd netlib-scalapack [+] yxweja4 netlib-scalapack
[+] pglf7pu netlib-scalapack [+] apaz22o netlib-scalapack
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@12.3.0 ------
uaioo2h mpich@4.3.2 dwjd7g2 openblas@0.3.30 p2gmhau openmpi@5.0.8
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
vdgigsw berkeley-db@18.1.40 cakgj4n gettext@0.23.1 ft5kpbd nghttp2@1.48.0
n7yzkyl bison@3.8.2 mj4re3l gmp@6.3.0 k6ygirs texinfo@7.2
gmhq65u flex@2.6.3 lxvpwti m4@1.4.20 qlavhjb zlib-ng@2.0.7
fmnvqo4 gcc@12.3.0 ncdxq3j ncurses@6.5-20250705 foiizhd zstd@1.5.7
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@12.3.0 --------------
4a7thjg cmake@3.31.9 onmo4bv krb5@1.21.3 yvs3szq python@3.14.0
zianoaa curl@8.15.0 s56v4gf libffi@3.5.2 4tglvhv zlib-ng@2.2.4
ikeoatl expat@2.7.3 ytk4y2k ncurses@6.5-20250705 fj5u5hm zstd@1.5.7
3f5v73y gettext@0.23.1 lip7jtp openssh@9.9p1
wkj6z6m hwloc@2.12.2 q4fenfo openssl@3.6.0
-- linux-ubuntu22.04-x86_64_v3 / %c,fortran=gcc@12.3.0 ----------
rhz3uek netlib-lapack@3.12.1 apaz22o netlib-scalapack@2.2.2
pglf7pu netlib-scalapack@2.2.2 yxweja4 netlib-scalapack@2.2.2
3t7cajd netlib-scalapack@2.2.2
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
pzmnwzm automake@1.16.5 qtepnkr libiconv@1.18 kaz756e pigz@2.8
x7t4naj bzip2@1.0.8 bs5ujst libsigsegv@2.14 f4qiprw pkgconf@2.5.1
cih4xrz diffutils@3.12 yt7ajy4 libtool@2.4.7 c6d2zlj readline@8.3
irvryts findutils@4.10.0 5trxrsw libxml2@2.13.5 lfgvgva tar@1.35
irhvzch gawk@5.3.1 sczvrku mpc@1.3.1 yzaocbs xz@5.6.3
aq7qwy6 gdbm@1.25 m3nwalt mpfr@4.2.1
4obn7cg gmake@4.4.1 62kt5y4 perl@5.42.0
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@12.3.0 ------------------
zmzk4bb automake@1.16.5 g3zxoz6 libiconv@1.18 76oyav4 pmix@6.0.0
zom5syd bzip2@1.0.8 cq4lpjp libmd@1.1.0 zalt7cs prrte@4.0.0
msusunh diffutils@3.12 p7g23cj libpciaccess@0.17 eyfbskp readline@8.3
y5bsvao gdbm@1.25 drjmmlw libxcrypt@4.4.38 plzt2nd sqlite@3.50.4
zb37a5t libbsd@0.12.2 idam6zh libxml2@2.13.5 wfarfth tar@1.35
c5o6gvv libedit@3.1-20240808 t2nikrt numactl@2.0.18 b4npzn6 util-linux-uuid@2.41
fn26hil libevent@2.1.12 jpuw66s perl@5.42.0 643vviq xz@5.6.3
7imejdf libfabric@2.3.1 bs2taxm pigz@2.8 7jn3viv yaksa@0.4
-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
nzbffup autoconf@2.72 ml7cem5 gcc@11.4.0
fgsf5ij autoconf@2.72 nokfxva gcc-runtime@11.4.0
7p7gq7u autoconf-archive@2023.02.20 pgwnyw7 gcc-runtime@12.3.0
etqlnw5 ca-certificates-mozilla@2025-08-12 qg7qyaz glibc@2.35
ntccuj2 compiler-wrapper@1.0 hwxnwvm util-macros@1.20.1
==> 86 installed packages
==> 0 concretized packages to be installed (show with `spack find -c`)
Now we can use those definitions to add e.g. serial packages built against the LAPACK libraries.
Let’s try to do that by using py-scipy as an example:
Another useful ability is excluding specific entries from a cross-product matrix.
We can do that with the exclude keyword, in the same item as the matrix.
Try to remove py-scipy ^netlib-lapack from our matrix:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [ openmpi, mpich ]
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
- serial_packages: [py-scipy]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
- matrix:
- [$serial_packages]
- [$^lapacks]
- [$%compilers]
exclude:
- "py-scipy ^netlib-lapack"
view: false
concretizer:
unify: false
Concretize the environment and install the specs again:
$ spack concretize
==> Starting concretization
==> Concretized 1 spec:
- igjijid py-scipy@1.16.3 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
[+] ntccuj2 ^compiler-wrapper@1.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] fmnvqo4 ^gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cih4xrz ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] qtepnkr ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] irhvzch ^gawk@5.3.1~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] bs5ujst ^libsigsegv@2.14 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] c6d2zlj ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[e] ml7cem5 ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3
[+] nokfxva ^gcc-runtime@11.4.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 4obn7cg ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] mj4re3l ^gmp@6.3.0+cxx build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] fgsf5ij ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] pzmnwzm ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lxvpwti ^m4@1.4.20+sigsegv build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] yt7ajy4 ^libtool@2.4.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] irvryts ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] sczvrku ^mpc@1.3.1 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] m3nwalt ^mpfr@4.2.1 build_system=autotools libs:=shared,static patches:=3ec29a6 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] 7p7gq7u ^autoconf-archive@2023.02.20 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 62kt5y4 ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] vdgigsw ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] x7t4naj ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] aq7qwy6 ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] k6ygirs ^texinfo@7.2~xs build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] cakgj4n ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] 5trxrsw ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] lfgvgva ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] kaz756e ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] yzaocbs ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] ncdxq3j ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] qlavhjb ^zlib-ng@2.0.7 cflags=-O3 +compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] foiizhd ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] pgwnyw7 ^gcc-runtime@12.3.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[e] qg7qyaz ^glibc@2.35 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] dwjd7g2 ^openblas@0.3.30~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=openmp platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
[+] f4qiprw ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- apuchub ^py-cython@3.1.3 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- urwrpfo ^py-setuptools@80.9.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
- o6u3um7 ^py-meson-python@0.18.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- c5mkho7 ^meson@1.8.5 build_system=python_pip patches:=0f0b1bd platform=linux os=ubuntu22.04 target=x86_64_v3
[+] 2stmhpc ^ninja@1.13.0+re2c build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] rbf2x4i ^python@3.11.14+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches:=13fa8bf,b0615b2,ebdca64,f2fd060 platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] 7yr5v6w ^expat@2.7.3+libbsd build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] ucrhsyw ^libbsd@0.12.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] gth3ii5 ^libmd@1.1.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] zgro4tw ^libffi@3.5.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] yiij42p ^libxcrypt@4.4.38~obsolete_api build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] gv7wpik ^openssl@3.6.0~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] elvodyb ^sqlite@3.50.4+column_metadata+fts+rtree build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] n45otd3 ^util-linux-uuid@2.41 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+] axmwics ^re2c@3.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- j3t7cjg ^py-packaging@25.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- 55omqj2 ^py-flit-core@3.12.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- sypchiv ^py-pyproject-metadata@0.9.1 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- ucqh5ku ^py-numpy@2.3.4 build_system=python_pip patches:=873745d platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- qwew5rg ^py-pip@25.1.1 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
- b7sx7ll ^py-pybind11@3.0.1+ipo build_system=cmake build_type=Release generator=ninja platform=linux os=ubuntu22.04 target=x86_64_v3 %cxx=gcc@12.3.0
[+] 4a7thjg ^cmake@3.31.9~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] zianoaa ^curl@8.15.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] ft5kpbd ^nghttp2@1.48.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
- 5r47zyp ^py-scikit-build-core@0.11.5~pyproject build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@12.3.0
- 44uhp2g ^py-hatch-vcs@0.5.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- xcq4max ^py-setuptools-scm@8.2.1+toml build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- aim3224 ^git@2.48.1+man+nls+perl+subtree~tcltk build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] nzbffup ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+] zmzk4bb ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- gntupl3 ^libidn2@2.3.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
- x5b7oet ^libunistring@1.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] lip7jtp ^openssh@9.9p1+gssapi build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] onmo4bv ^krb5@1.21.3+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] n7yzkyl ^bison@3.8.2~color build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+] c5o6gvv ^libedit@3.1-20240808 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] drjmmlw ^libxcrypt@4.4.38~obsolete_api build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] z5vjj7q ^pcre2@10.44~jit+multibyte+pic build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
- qb7x6jy ^py-hatchling@1.27.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- 2c2amjc ^py-pluggy@1.6.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- cwn5qw7 ^py-trove-classifiers@2025.9.11.17 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- gnnyu6h ^py-calver@2025.4.17 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- wvr3fhe ^py-pathspec@0.12.1 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- w4fhoiy ^py-pythran@0.18.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3 %cxx=gcc@12.3.0
- g6mqwbr ^py-beniget@0.4.2.post1 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- xrd6sez ^py-gast@0.6.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- xgx3hu4 ^py-ply@3.11 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3
- vs4xbx3 ^py-wheel@0.45.1 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] yvs3szq ^python@3.14.0+bz2+ctypes+dbm~debug+libxml2+lzma~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib+zstd build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] zom5syd ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] msusunh ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] ikeoatl ^expat@2.7.3+libbsd build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] zb37a5t ^libbsd@0.12.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] cq4lpjp ^libmd@1.1.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] y5bsvao ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] 3f5v73y ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] g3zxoz6 ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] idam6zh ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] wfarfth ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] bs2taxm ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] s56v4gf ^libffi@3.5.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] ytk4y2k ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] q4fenfo ^openssl@3.6.0~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] etqlnw5 ^ca-certificates-mozilla@2025-08-12 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+] jpuw66s ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] eyfbskp ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] plzt2nd ^sqlite@3.50.4+column_metadata+fts+rtree build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] b4npzn6 ^util-linux-uuid@2.41 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] 643vviq ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+] 4tglvhv ^zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+] fj5u5hm ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
- nrdm37j ^python-venv@1.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
$ spack install
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-12.3.0-pgwnyw7ukf64qshxkhmfe4i3mnhnz2ed
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.30-dwjd7g2k2xnn4qekllidmd3mbibk2pmm
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-drjmmlw4cw7xa42jvz2zkj7fhmvflbzs
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-fj5u5hmzffnxn433whymaz2n5uhajwqw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-linux-uuid-2.41-b4npzn6ixc2runjxjalulilgkmhpnmeq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libffi-3.5.2-s56v4gfjyubrphm3pwte4xkkpzsbalmd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-lapack-3.12.1-rhz3ueke3w4sennowbhe5wkehj32jcyt
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libmd-1.1.0-cq4lpjpcxcz5lrsu7twuxqlfcvxw4x5b
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-t2nikrtxvuwdjvtutokwb374p2sbinlr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-g3zxoz6huo7tpvkqhsmrmogb4wp6mzly
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-zom5sydb4bski4vwb4db4ah4d6ykcxgu
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-p7g23cjqjlm6bqct2miagkzxxxq76jjk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.3.1-7imejdfjnycxqaiaswob5cylcjiwal3t
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-643vviqh75hvv5zwyghppl72gqfr64rx
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.4-7jn3vivsnjknixt6nr4il7jdglpprcob
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-4tglvhvqq7j2ftxifhnwsqx7ykr2gdiq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ytk4y2kvs7h2vlkltndotzgejrlj4ylb
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pcre2-10.44-z5vjj7qwopnby63vu35fgh5ojadzfc4x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ninja-1.13.0-2stmhpcux6apkymvlm34reuwmddvngjm
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-bs2taxmcalqybzx3ekltr74adkskotaz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-eyfbskp7ur7n6y3ceyawjxyncivdlo3k
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.12-msusunhi5vdgrgniq3n6f6el4d3sdmns
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libbsd-0.12.2-zb37a5t5npeobk3tjjqcukstmpiwgv5b
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-q4fenforztsbdicbojnnh2ursudyzygb
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-c5o6gvvaovwqjx4d6dei3437rycaxpef
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-idam6zhjw4pckpaqppqomwiivjkuyu5d
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-wfarfthvpwnuxoxzaznsrvply2sgx2zl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/sqlite-3.50.4-plzt2ndvbqjwuh52b5es4vkokl5voxxq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.25-y5bsvao3cxpaqhcskqoe2wwm4reknblj
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/expat-2.7.3-ikeoatlzkkhg67u2gvk66yrplhodsa7t
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-fn26hildnamhqbytlfpq7hnnb5buy36v
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.12.2-wkj6z6mxkax4joosfjb3j6c55b7lqzuf
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-zianoaa5jzrbwhxsmm7bnhaxrdbq6jpb
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-3f5v73yqnfdtac6tgkv43ceywl5ujlbt
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.42.0-jpuw66splunzfj35iooigoy5bpzpmage
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpfr-4.2.1-m3nwaltjkwzqahxlfylauzm5nxkuk2ud
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-6.0.0-76oyav4s3nnn3iba2rxxip3gvv6rrybc
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.2-uaioo2homcambwkqlfarew27bk6dqgqa
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-4a7thjgehxuwjfswyxnyoquuj5lmtzku
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/python-3.14.0-yvs3szqzvvdlgtd5oih22mie2uyjgz42
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-onmo4bvd2j5t6x3udrswlorxjaxxmc3z
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-zmzk4bb3og3uivh4e75edsiyc3pjid55
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-nzbffupyigbbaxqhjt4qxa2tdt6ezhxb
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-3t7cajdej6kytam44sv3h6hermemexli
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-pglf7pu6w2t7p2itr5sq5arvlc2xmrjt
==> Fetching file:///mirror/blobs/sha256/81/814bb309cb856dddb13d4d98e061a15b8ba3eec88ccc77c023f5ba5d334f4df5
[100%] 17.79 KB @ 111.4 MB/s
==> Extracting python-venv-1.0-nrdm37joniuvt4jfj6tajmu3za4vkpak from binary cache
==> python-venv: Successfully installed python-venv-1.0-nrdm37joniuvt4jfj6tajmu3za4vkpak
Search: 0.00s. Fetch: 0.18s. Install: 0.08s. Extract: 0.04s. Relocate: 0.01s. Total: 0.27s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/python-venv-1.0-nrdm37joniuvt4jfj6tajmu3za4vkpak
==> Installing python-venv-1.0-nrdm37joniuvt4jfj6tajmu3za4vkpak [61/94]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-lip7jtpgcoxwbzodoemijlvwudtfkjz5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/prrte-4.0.0-zalt7csrlsooyok5gqhodzwtab3qvoc3
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc
==> Fetching file:///mirror/blobs/sha256/a6/a6d81e462f8065bbacf57740c65fa85e638cad01bdd4c3dd31c99f31ea8680fa
[100%] 64.18 MB @ 401.2 GB/s
==> Extracting py-pip-25.1.1-qwew5rgzuujgyohcvicralh7ftlbovfz from binary cache
==> py-pip: Successfully installed py-pip-25.1.1-qwew5rgzuujgyohcvicralh7ftlbovfz
Search: 0.00s. Fetch: 0.01s. Install: 0.26s. Extract: 0.21s. Relocate: 0.01s. Total: 0.28s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-pip-25.1.1-qwew5rgzuujgyohcvicralh7ftlbovfz
==> Installing py-pip-25.1.1-qwew5rgzuujgyohcvicralh7ftlbovfz [65/94]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-p2gmhau5kodki37wh5qws6a6b3jclhf6
==> Fetching file:///mirror/blobs/sha256/bd/bd4a5a9651c3f67b2d3eacbbe8f8e7f32e0db6bec82089542ee4c74b9606383c
[100%] 63.28 MB @ 411.2 GB/s
==> Extracting libunistring-1.2-x5b7oeto7bjq43zcvwutli3l6atwbvps from binary cache
==> libunistring: Successfully installed libunistring-1.2-x5b7oeto7bjq43zcvwutli3l6atwbvps
Search: 0.00s. Fetch: 0.01s. Install: 0.20s. Extract: 0.07s. Relocate: 0.01s. Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libunistring-1.2-x5b7oeto7bjq43zcvwutli3l6atwbvps
==> Installing libunistring-1.2-x5b7oeto7bjq43zcvwutli3l6atwbvps [67/94]
==> Fetching file:///mirror/blobs/sha256/0d/0d4dead6e72865c30b79abf0966ef4929438668153c5494ef40a3c63c858f266
[100%] 63.02 MB @ 351.0 GB/s
==> Extracting py-setuptools-80.9.0-urwrpfosir5bsqujgsywyinsjltws5ft from binary cache
==> py-setuptools: Successfully installed py-setuptools-80.9.0-urwrpfosir5bsqujgsywyinsjltws5ft
Search: 0.00s. Fetch: 0.01s. Install: 0.24s. Extract: 0.19s. Relocate: 0.01s. Total: 0.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-setuptools-80.9.0-urwrpfosir5bsqujgsywyinsjltws5ft
==> Installing py-setuptools-80.9.0-urwrpfosir5bsqujgsywyinsjltws5ft [68/94]
==> Fetching file:///mirror/blobs/sha256/18/184a896cdfc7520a22f84afe1ed8f950429f4f9ecd181251bc0737970cab23fa
[100%] 202.72 KB @ 493.8 MB/s
==> Extracting py-wheel-0.45.1-vs4xbx3m62sptk4ch3fs5oozhru53eae from binary cache
==> py-wheel: Successfully installed py-wheel-0.45.1-vs4xbx3m62sptk4ch3fs5oozhru53eae
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.02s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-wheel-0.45.1-vs4xbx3m62sptk4ch3fs5oozhru53eae
==> Installing py-wheel-0.45.1-vs4xbx3m62sptk4ch3fs5oozhru53eae [69/94]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-apaz22ojhzvggduhgoqhdd2paxix3azc
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/netlib-scalapack-2.2.2-yxweja4r47huk5yxgel4byighydafl5q
==> Fetching file:///mirror/blobs/sha256/6e/6e871d5a6e612e1cfa930b5d5ecf61910720ca704aca344c7484c64a5e18cc4c
[100%] 521.92 KB @ 861.2 MB/s
==> Extracting libidn2-2.3.7-gntupl34gn7ghsb44ybuohibki52dfwa from binary cache
==> libidn2: Successfully installed libidn2-2.3.7-gntupl34gn7ghsb44ybuohibki52dfwa
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.03s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libidn2-2.3.7-gntupl34gn7ghsb44ybuohibki52dfwa
==> Installing libidn2-2.3.7-gntupl34gn7ghsb44ybuohibki52dfwa [72/94]
==> Fetching file:///mirror/blobs/sha256/3f/3fdbe64a0223f88017656e072a0c834e1d9812518669de26b3945316a7037d67
[100%] 63.09 MB @ 401.2 GB/s
==> Extracting meson-1.8.5-c5mkho7hg3354cm5522zpotkrkflvxk6 from binary cache
==> meson: Successfully installed meson-1.8.5-c5mkho7hg3354cm5522zpotkrkflvxk6
Search: 0.00s. Fetch: 0.01s. Install: 0.19s. Extract: 0.14s. Relocate: 0.01s. Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/meson-1.8.5-c5mkho7hg3354cm5522zpotkrkflvxk6
==> Installing meson-1.8.5-c5mkho7hg3354cm5522zpotkrkflvxk6 [73/94]
==> Fetching file:///mirror/blobs/sha256/05/05468a8127a10d28153e2c6c43b9e00aad774c993727726b004d90e7faebe181
[100%] 141.85 KB @ 415.8 MB/s
==> Extracting py-ply-3.11-xgx3hu4hlcph2m57ehnmndnp76tmju6b from binary cache
==> py-ply: Successfully installed py-ply-3.11-xgx3hu4hlcph2m57ehnmndnp76tmju6b
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-ply-3.11-xgx3hu4hlcph2m57ehnmndnp76tmju6b
==> Installing py-ply-3.11-xgx3hu4hlcph2m57ehnmndnp76tmju6b [74/94]
==> Fetching file:///mirror/blobs/sha256/70/702d48b4c1e390c3e0b3f55dd651bd3d30113e4f61413be9d3a3acd8d5d667c6
[100%] 15.06 MB @ 411.2 GB/s
==> Extracting py-cython-3.1.3-apuchub6dg7aq6almwsbcbcbolixfr5f from binary cache
==> py-cython: Successfully installed py-cython-3.1.3-apuchub6dg7aq6almwsbcbcbolixfr5f
Search: 0.00s. Fetch: 0.03s. Install: 0.55s. Extract: 0.35s. Relocate: 0.15s. Total: 0.57s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-cython-3.1.3-apuchub6dg7aq6almwsbcbcbolixfr5f
==> Installing py-cython-3.1.3-apuchub6dg7aq6almwsbcbcbolixfr5f [75/94]
==> Fetching file:///mirror/blobs/sha256/4e/4e44dfcc1e6b3781705ef00e627647add329779aa3cee51f6b2c118a59154bd2
[100%] 137.36 KB @ 470.7 MB/s
==> Extracting py-flit-core-3.12.0-55omqj2ucvxm5haltjpcktwthiiqx4gg from binary cache
==> py-flit-core: Successfully installed py-flit-core-3.12.0-55omqj2ucvxm5haltjpcktwthiiqx4gg
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.02s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-flit-core-3.12.0-55omqj2ucvxm5haltjpcktwthiiqx4gg
==> Installing py-flit-core-3.12.0-55omqj2ucvxm5haltjpcktwthiiqx4gg [76/94]
==> Fetching file:///mirror/blobs/sha256/1a/1af3c86479ca912856ba95337d685cc8c567b90bc60f4f89d04409c196d9fa69
[100%] 22.90 KB @ 166.2 MB/s
==> Extracting py-calver-2025.4.17-gnnyu6h5kxryhtjplbj6gn3ojdyzamxj from binary cache
==> py-calver: Successfully installed py-calver-2025.4.17-gnnyu6h5kxryhtjplbj6gn3ojdyzamxj
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-calver-2025.4.17-gnnyu6h5kxryhtjplbj6gn3ojdyzamxj
==> Installing py-calver-2025.4.17-gnnyu6h5kxryhtjplbj6gn3ojdyzamxj [77/94]
==> Fetching file:///mirror/blobs/sha256/60/60054f411e5e4792e707f485791b9342d8fdbb9882cde6d8b8a45064e82a4a7b
[100%] 80.75 KB @ 371.8 MB/s
==> Extracting py-gast-0.6.0-xrd6sez3xnzdg3fjs34whdod3msbamgp from binary cache
==> py-gast: Successfully installed py-gast-0.6.0-xrd6sez3xnzdg3fjs34whdod3msbamgp
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-gast-0.6.0-xrd6sez3xnzdg3fjs34whdod3msbamgp
==> Installing py-gast-0.6.0-xrd6sez3xnzdg3fjs34whdod3msbamgp [78/94]
==> Fetching file:///mirror/blobs/sha256/6e/6ef69795d15b583c186d375fc9b2b4310df1c0108f66ec99a525aca6b498389b
[100%] 63.56 MB @ 411.4 GB/s
==> Extracting git-2.48.1-aim32246bedbrqnty77sopsyhea6gwcu from binary cache
==> git: Successfully installed git-2.48.1-aim32246bedbrqnty77sopsyhea6gwcu
Search: 0.00s. Fetch: 0.10s. Install: 1.41s. Extract: 1.19s. Relocate: 0.17s. Total: 1.51s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/git-2.48.1-aim32246bedbrqnty77sopsyhea6gwcu
==> Installing git-2.48.1-aim32246bedbrqnty77sopsyhea6gwcu [79/94]
==> Fetching file:///mirror/blobs/sha256/0d/0d88c32ed44b626a50154210f9befa1ab9c519bdabdb4aecc4f3e77a17580caf
[100%] 181.82 KB @ 593.5 MB/s
==> Extracting py-packaging-25.0-j3t7cjg7qdefoqnyiycarurgegdq3rzo from binary cache
==> py-packaging: Successfully installed py-packaging-25.0-j3t7cjg7qdefoqnyiycarurgegdq3rzo
Search: 0.00s. Fetch: 0.01s. Install: 0.15s. Extract: 0.01s. Relocate: 0.01s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-packaging-25.0-j3t7cjg7qdefoqnyiycarurgegdq3rzo
==> Installing py-packaging-25.0-j3t7cjg7qdefoqnyiycarurgegdq3rzo [80/94]
==> Fetching file:///mirror/blobs/sha256/bc/bc6d75995d7beef0e1d74b08be8b2e80ebbd2384c8a56a02ae74867115547005
[100%] 72.06 KB @ 310.0 MB/s
==> Extracting py-pathspec-0.12.1-wvr3fheyxtq7r63itflim6rf55mxpk4n from binary cache
==> py-pathspec: Successfully installed py-pathspec-0.12.1-wvr3fheyxtq7r63itflim6rf55mxpk4n
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-pathspec-0.12.1-wvr3fheyxtq7r63itflim6rf55mxpk4n
==> Installing py-pathspec-0.12.1-wvr3fheyxtq7r63itflim6rf55mxpk4n [81/94]
==> Fetching file:///mirror/blobs/sha256/bc/bc23fb8e5ea0e883c90decd7f6ccbabacaedaa64ac85b4189abed13374d95dff
[100%] 45.95 KB @ 275.7 MB/s
==> Extracting py-trove-classifiers-2025.9.11.17-cwn5qw7ibd5afs2nm3ortj752cpydzwi from binary cache
==> py-trove-classifiers: Successfully installed py-trove-classifiers-2025.9.11.17-cwn5qw7ibd5afs2nm3ortj752cpydzwi
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-trove-classifiers-2025.9.11.17-cwn5qw7ibd5afs2nm3ortj752cpydzwi
==> Installing py-trove-classifiers-2025.9.11.17-cwn5qw7ibd5afs2nm3ortj752cpydzwi [82/94]
==> Fetching file:///mirror/blobs/sha256/5c/5c54a464640f8879cf84c3fb44f49fd5748a4d5edb03ddb040faf1ce841df1b4
[100%] 68.34 KB @ 267.2 MB/s
==> Extracting py-beniget-0.4.2.post1-g6mqwbrfiyaec7n52og2aj3exkas2dfr from binary cache
==> py-beniget: Successfully installed py-beniget-0.4.2.post1-g6mqwbrfiyaec7n52og2aj3exkas2dfr
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.01s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-beniget-0.4.2.post1-g6mqwbrfiyaec7n52og2aj3exkas2dfr
==> Installing py-beniget-0.4.2.post1-g6mqwbrfiyaec7n52og2aj3exkas2dfr [83/94]
==> Fetching file:///mirror/blobs/sha256/f9/f99d6c344e2a4d8118297a8399978fa7ab007f69980f025e878e7d04690366cb
[100%] 124.74 KB @ 488.1 MB/s
==> Extracting py-setuptools-scm-8.2.1-xcq4maxl4uvt4fzgvckb5dxabce5kgla from binary cache
==> py-setuptools-scm: Successfully installed py-setuptools-scm-8.2.1-xcq4maxl4uvt4fzgvckb5dxabce5kgla
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.02s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-setuptools-scm-8.2.1-xcq4maxl4uvt4fzgvckb5dxabce5kgla
==> Installing py-setuptools-scm-8.2.1-xcq4maxl4uvt4fzgvckb5dxabce5kgla [84/94]
==> Fetching file:///mirror/blobs/sha256/17/17ba06d9a2de6c868c9edc332607a2695308e0e0d4d86562c9d223ef76e2f1d3
[100%] 61.10 KB @ 338.1 MB/s
==> Extracting py-pyproject-metadata-0.9.1-sypchiv5kanvcsa2jltzimi4yfeaoj7d from binary cache
==> py-pyproject-metadata: Successfully installed py-pyproject-metadata-0.9.1-sypchiv5kanvcsa2jltzimi4yfeaoj7d
Search: 0.00s. Fetch: 0.01s. Install: 0.14s. Extract: 0.01s. Relocate: 0.01s. Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-pyproject-metadata-0.9.1-sypchiv5kanvcsa2jltzimi4yfeaoj7d
==> Installing py-pyproject-metadata-0.9.1-sypchiv5kanvcsa2jltzimi4yfeaoj7d [85/94]
==> Fetching file:///mirror/blobs/sha256/75/7559f321f491a13d67f4f769064810681cf9611541b1aeb374ad3a32f93dd151
[100%] 70.56 KB @ 277.4 MB/s
==> Extracting py-pluggy-1.6.0-2c2amjcima3ytgzfpe6e2vpsnufbxbdy from binary cache
==> py-pluggy: Successfully installed py-pluggy-1.6.0-2c2amjcima3ytgzfpe6e2vpsnufbxbdy
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.01s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-pluggy-1.6.0-2c2amjcima3ytgzfpe6e2vpsnufbxbdy
==> Installing py-pluggy-1.6.0-2c2amjcima3ytgzfpe6e2vpsnufbxbdy [86/94]
==> Fetching file:///mirror/blobs/sha256/85/858437ca532078963b27d9446e5d3e8a7f149002ea5c66e74f2248afec4b3824
[100%] 99.86 KB @ 363.0 MB/s
==> Extracting py-meson-python-0.18.0-o6u3um7xjpxbhw7qvrqpcxetc7kayuth from binary cache
==> py-meson-python: Successfully installed py-meson-python-0.18.0-o6u3um7xjpxbhw7qvrqpcxetc7kayuth
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.01s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-meson-python-0.18.0-o6u3um7xjpxbhw7qvrqpcxetc7kayuth
==> Installing py-meson-python-0.18.0-o6u3um7xjpxbhw7qvrqpcxetc7kayuth [87/94]
==> Fetching file:///mirror/blobs/sha256/2a/2a1d6fa351776a4aba752aa2e01368598dd7dcc101d443919e5a402e9a5e6a75
[100%] 230.20 KB @ 621.7 MB/s
==> Extracting py-hatchling-1.27.0-qb7x6jyrjbqihor6e2w7ignu74vujzwk from binary cache
==> py-hatchling: Successfully installed py-hatchling-1.27.0-qb7x6jyrjbqihor6e2w7ignu74vujzwk
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.03s. Relocate: 0.01s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-hatchling-1.27.0-qb7x6jyrjbqihor6e2w7ignu74vujzwk
==> Installing py-hatchling-1.27.0-qb7x6jyrjbqihor6e2w7ignu74vujzwk [88/94]
==> Fetching file:///mirror/blobs/sha256/e2/e29502c35959a031a6b10f1cb507e35977e904c2e9e44fb82e4fd1855c5191c7
[100%] 12.25 MB @ 401.3 GB/s
==> Extracting py-numpy-2.3.4-ucqh5kunp6zmwio5o7bazmu5gx7yxcu2 from binary cache
==> py-numpy: Successfully installed py-numpy-2.3.4-ucqh5kunp6zmwio5o7bazmu5gx7yxcu2
Search: 0.00s. Fetch: 0.02s. Install: 0.64s. Extract: 0.44s. Relocate: 0.06s. Total: 0.66s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-numpy-2.3.4-ucqh5kunp6zmwio5o7bazmu5gx7yxcu2
==> Installing py-numpy-2.3.4-ucqh5kunp6zmwio5o7bazmu5gx7yxcu2 [89/94]
==> Fetching file:///mirror/blobs/sha256/c2/c262ee6c0255d34ff1f1935f81b4252f4283c6f4e3d47984663bd227f84fa11e
[100%] 28.60 KB @ 165.9 MB/s
==> Extracting py-hatch-vcs-0.5.0-44uhp2gd536qdfjmes5mjziueiakfrfr from binary cache
==> py-hatch-vcs: Successfully installed py-hatch-vcs-0.5.0-44uhp2gd536qdfjmes5mjziueiakfrfr
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.01s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-hatch-vcs-0.5.0-44uhp2gd536qdfjmes5mjziueiakfrfr
==> Installing py-hatch-vcs-0.5.0-44uhp2gd536qdfjmes5mjziueiakfrfr [90/94]
==> Fetching file:///mirror/blobs/sha256/a4/a4f39e5253d88260161bec5a7b78bee9d003fe42a3dd618cdb688dc01094c040
[100%] 63.35 MB @ 371.2 GB/s
==> Extracting py-pythran-0.18.0-w4fhoiyknplbtmf6m53wm72chgsmvq2r from binary cache
==> py-pythran: Successfully installed py-pythran-0.18.0-w4fhoiyknplbtmf6m53wm72chgsmvq2r
Search: 0.00s. Fetch: 0.01s. Install: 0.75s. Extract: 0.69s. Relocate: 0.01s. Total: 0.76s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-pythran-0.18.0-w4fhoiyknplbtmf6m53wm72chgsmvq2r
==> Installing py-pythran-0.18.0-w4fhoiyknplbtmf6m53wm72chgsmvq2r [91/94]
==> Fetching file:///mirror/blobs/sha256/24/247103da0e19b58f9c313a76b48d35f86f08dd7011f7834fa1853361c860f7e1
[100%] 410.53 KB @ 710.9 MB/s
==> Extracting py-scikit-build-core-0.11.5-5r47zypnbtkwfvfsodcshtfgahqrlfxq from binary cache
==> py-scikit-build-core: Successfully installed py-scikit-build-core-0.11.5-5r47zypnbtkwfvfsodcshtfgahqrlfxq
Search: 0.00s. Fetch: 0.01s. Install: 0.10s. Extract: 0.04s. Relocate: 0.01s. Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-scikit-build-core-0.11.5-5r47zypnbtkwfvfsodcshtfgahqrlfxq
==> Installing py-scikit-build-core-0.11.5-5r47zypnbtkwfvfsodcshtfgahqrlfxq [92/94]
==> Fetching file:///mirror/blobs/sha256/81/81f33dd00b3e657306c4c0055ac4124295f75a5d8ea6f112ae5c15bac05d1a31
[100%] 560.56 KB @ 786.1 MB/s
==> Extracting py-pybind11-3.0.1-b7sx7ll7umjvkjv2qalti2iqppheryso from binary cache
==> py-pybind11: Successfully installed py-pybind11-3.0.1-b7sx7ll7umjvkjv2qalti2iqppheryso
Search: 0.00s. Fetch: 0.01s. Install: 0.19s. Extract: 0.04s. Relocate: 0.01s. Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-pybind11-3.0.1-b7sx7ll7umjvkjv2qalti2iqppheryso
==> Installing py-pybind11-3.0.1-b7sx7ll7umjvkjv2qalti2iqppheryso [93/94]
==> Fetching file:///mirror/blobs/sha256/08/0824e3670aba080202229e3bb01f3174c6a5800c3699f18e4427b1eae13de246
[100%] 34.55 MB @ 351.3 GB/s
==> Extracting py-scipy-1.16.3-igjijidvsqssk52ucfm55gzaa4ug4agb from binary cache
==> py-scipy: Successfully installed py-scipy-1.16.3-igjijidvsqssk52ucfm55gzaa4ug4agb
Search: 0.00s. Fetch: 0.06s. Install: 1.20s. Extract: 1.02s. Relocate: 0.12s. Total: 1.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/py-scipy-1.16.3-igjijidvsqssk52ucfm55gzaa4ug4agb
==> Installing py-scipy-1.16.3-igjijidvsqssk52ucfm55gzaa4ug4agb [94/94]
At this point, the environment contains only py-scipy ^openblas.
Verify it:
$ spack find -ld py-scipy
==> In environment /home/spack/stacks
==> 6 root specs
-- no arch / no compilers ---------------------------------------
[+] fmnvqo4 gcc@12
- ------- gcc@11
[+] pglf7pu netlib-scalapack
- ------- gcc@12
- ------- mpich
- ------- netlib-lapack
[+] 3t7cajd netlib-scalapack
- ------- gcc@12
- ------- mpich
- ------- openblas
[+] apaz22o netlib-scalapack
- ------- gcc@12
- ------- netlib-lapack
- ------- openmpi
[+] yxweja4 netlib-scalapack
- ------- gcc@12
- ------- openblas
- ------- openmpi
[+] igjijid py-scipy
- ------- gcc@12
- ------- openblas
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@12.3.0 ------
igjijid py-scipy@1.16.3
ntccuj2 compiler-wrapper@1.0
fmnvqo4 gcc@12.3.0
cih4xrz diffutils@3.12
qtepnkr libiconv@1.18
irhvzch gawk@5.3.1
bs5ujst libsigsegv@2.14
c6d2zlj readline@8.3
ml7cem5 gcc@11.4.0
nokfxva gcc-runtime@11.4.0
4obn7cg gmake@4.4.1
mj4re3l gmp@6.3.0
fgsf5ij autoconf@2.72
pzmnwzm automake@1.16.5
lxvpwti m4@1.4.20
yt7ajy4 libtool@2.4.7
irvryts findutils@4.10.0
sczvrku mpc@1.3.1
m3nwalt mpfr@4.2.1
7p7gq7u autoconf-archive@2023.02.20
62kt5y4 perl@5.42.0
vdgigsw berkeley-db@18.1.40
x7t4naj bzip2@1.0.8
aq7qwy6 gdbm@1.25
k6ygirs texinfo@7.2
cakgj4n gettext@0.23.1
5trxrsw libxml2@2.13.5
lfgvgva tar@1.35
kaz756e pigz@2.8
yzaocbs xz@5.6.3
ncdxq3j ncurses@6.5-20250705
qlavhjb zlib-ng@2.0.7
foiizhd zstd@1.5.7
pgwnyw7 gcc-runtime@12.3.0
qg7qyaz glibc@2.35
dwjd7g2 openblas@0.3.30
f4qiprw pkgconf@2.5.1
apuchub py-cython@3.1.3
urwrpfo py-setuptools@80.9.0
o6u3um7 py-meson-python@0.18.0
c5mkho7 meson@1.8.5
2stmhpc ninja@1.13.0
rbf2x4i python@3.11.14
7yr5v6w expat@2.7.3
ucrhsyw libbsd@0.12.2
gth3ii5 libmd@1.1.0
zgro4tw libffi@3.5.2
yiij42p libxcrypt@4.4.38
gv7wpik openssl@3.6.0
elvodyb sqlite@3.50.4
n45otd3 util-linux-uuid@2.41
axmwics re2c@3.1
j3t7cjg py-packaging@25.0
55omqj2 py-flit-core@3.12.0
sypchiv py-pyproject-metadata@0.9.1
ucqh5ku py-numpy@2.3.4
qwew5rg py-pip@25.1.1
b7sx7ll py-pybind11@3.0.1
4a7thjg cmake@3.31.9
zianoaa curl@8.15.0
ft5kpbd nghttp2@1.48.0
5r47zyp py-scikit-build-core@0.11.5
44uhp2g py-hatch-vcs@0.5.0
xcq4max py-setuptools-scm@8.2.1
aim3224 git@2.48.1
nzbffup autoconf@2.72
zmzk4bb automake@1.16.5
gntupl3 libidn2@2.3.7
x5b7oet libunistring@1.2
lip7jtp openssh@9.9p1
onmo4bv krb5@1.21.3
n7yzkyl bison@3.8.2
c5o6gvv libedit@3.1-20240808
drjmmlw libxcrypt@4.4.38
z5vjj7q pcre2@10.44
qb7x6jy py-hatchling@1.27.0
2c2amjc py-pluggy@1.6.0
cwn5qw7 py-trove-classifiers@2025.9.11.17
gnnyu6h py-calver@2025.4.17
wvr3fhe py-pathspec@0.12.1
w4fhoiy py-pythran@0.18.0
g6mqwbr py-beniget@0.4.2.post1
xrd6sez py-gast@0.6.0
xgx3hu4 py-ply@3.11
vs4xbx3 py-wheel@0.45.1
yvs3szq python@3.14.0
zom5syd bzip2@1.0.8
msusunh diffutils@3.12
ikeoatl expat@2.7.3
zb37a5t libbsd@0.12.2
cq4lpjp libmd@1.1.0
y5bsvao gdbm@1.25
3f5v73y gettext@0.23.1
g3zxoz6 libiconv@1.18
idam6zh libxml2@2.13.5
wfarfth tar@1.35
bs2taxm pigz@2.8
s56v4gf libffi@3.5.2
ytk4y2k ncurses@6.5-20250705
q4fenfo openssl@3.6.0
etqlnw5 ca-certificates-mozilla@2025-08-12
jpuw66s perl@5.42.0
eyfbskp readline@8.3
plzt2nd sqlite@3.50.4
b4npzn6 util-linux-uuid@2.41
643vviq xz@5.6.3
4tglvhv zlib-ng@2.2.4
fj5u5hm zstd@1.5.7
nrdm37j python-venv@1.0
==> 1 installed package
==> 0 concretized packages to be installed (show with `spack find -c`)
Conditional definitions¶
Spec list definitions can also be conditioned on a when clause.
The when clause is a Python conditional that is evaluated in a restricted environment.
The variables available in when clauses are:
variable name |
value |
|---|---|
|
The spack platform name for this machine |
|
The default spack os name and version string for this machine |
|
The default spack target string for this machine |
|
The default spack architecture string platform-os-target for this machine |
|
Alias for |
|
A dictionary representing the users environment variables |
|
The python |
|
The hostname of this node |
Suppose we want to limit usage to only mpich, unless the SPACK_STACK_USE_OPENMPI environment variable is set.
To do so we could write the following spack.yaml:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [mpich]
- mpis: [openmpi]
when: 'env.get("SPACK_STACK_USE_OPENMPI", "") == "1"'
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
- serial_packages: [py-scipy]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
- matrix:
- [$serial_packages]
- [$^lapacks]
- [$%compilers]
exclude:
- "py-scipy ^netlib-lapack"
view: false
concretizer:
unify: false
Different definitions of lists with the same name are concatenated, so we can define our MPI list in one place unconditionally, and then conditionally append one or more values to it.
First, check what happens when we concretize and don’t set any environment variable:
$ spack concretize
==> No new specs to concretize.
$ spack find -cl netlib-scalapack
==> In environment /home/spack/stacks
==> 4 root specs
-- no arch / no compilers ---------------------------------------
[+] fmnvqo4 gcc@12 [+] 3t7cajd netlib-scalapack
[+] pglf7pu netlib-scalapack [+] igjijid py-scipy
-- linux-ubuntu22.04-x86_64_v3 / %c,fortran=gcc@12.3.0 ----------
[+] pglf7pu netlib-scalapack@2.2.2 [+] 3t7cajd netlib-scalapack@2.2.2
==> 2 installed packages
==> 0 concretized packages to be installed
As we expected we are only using mpich as an MPI provider.
To get openmpi back we need to set the appropriate environment variable:
$ export SPACK_STACK_USE_OPENMPI=1
$ spack concretize
$ spack find -cl netlib-scalapack
==> In environment /home/spack/stacks
==> 6 root specs
-- no arch / no compilers ---------------------------------------
[+] fmnvqo4 gcc@12 [+] 3t7cajd netlib-scalapack [+] yxweja4 netlib-scalapack
[+] pglf7pu netlib-scalapack [+] apaz22o netlib-scalapack [+] igjijid py-scipy
-- linux-ubuntu22.04-x86_64_v3 / %c,fortran=gcc@12.3.0 ----------
[+] pglf7pu netlib-scalapack@2.2.2 [+] apaz22o netlib-scalapack@2.2.2
[+] 3t7cajd netlib-scalapack@2.2.2 [+] yxweja4 netlib-scalapack@2.2.2
==> 4 installed packages
==> 0 concretized packages to be installed
There is no need to install this time, since all the specs were still in the store.
Other useful features¶
Sometimes it might be useful to create a local source mirror for the specs installed in an environment. If the environment is active, this is as simple as:
$ spack mirror create --all -d ./stacks-mirror
This command fetches all the tarballs for the packages in the spack.lock file, and puts them in the directory passed as argument.
Later you can move this mirror to e.g. an air-gapped machine and:
$ spack mirror add <name> <stacks-mirror>
to be able to re-build the specs from sources. Alternatively, to create a buildcache you can:
$ spack gpg create <name> <e-mail>
$ spack buildcache push ./mirror
Don’t forget to set an appropriate value for the padding of the install tree, see how to setup relocation in our documentation.
By default, Spack installs one package at a time, using the -j option where it can.
The spack install command has an optional -p option for the number of packages to build in parallel.
Note that each parallel package may consume the number of threads of the -j option.
You can use node resources more optimally by creating a depfile, when the environment is active:
$ spack env depfile -o Makefile
The result is a makefile that starts multiple Spack instances, and the resources are shared through the GNU jobserver. More information of this feature can be found in our documentation. This might cut down your build time by a fair amount, if you build frequently from sources. Expect this feature to be streamlined in future versions of Spack.
Make the software stack easy to use¶
Now that the software stack has been installed, we need to focus on how it can be used by our customers. We’ll first see how we can configure views to project a subset of the specs we installed onto a filesystem folder with the usual Unix structure. Then we’ll have a similar discussion for module files. Which of the two approaches is better depends strongly on the use case at hand.
View descriptors¶
At the beginning, we configured Spack not to create a view for this stack because simple views won’t work with stacks. We’ve been concretizing multiple packages of the same name, and they would conflict if linked into the same view.
What we can do is create multiple views, using view descriptors.
This would allows us to define which packages are linked into the view, and how.
Edit our spack.yaml file again.
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [mpich]
- mpis: [openmpi]
when: 'env.get("SPACK_STACK_USE_OPENMPI", "") == "1"'
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
- serial_packages: [py-scipy]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
- matrix:
- [$serial_packages]
- [$^lapacks]
- [$%compilers]
exclude:
- "py-scipy ^netlib-lapack"
concretizer:
unify: false
view:
default:
root: views/default
select: ['%gcc@12']
exclude: [^mpich, ^netlib-lapack]
full:
root: views/full
projections:
^mpi^lapack: '{name}/{name}-{version}-{^c.name}-{^c.version}-{^mpi.name}-{^mpi.version}-{^lapack.name}-{^lapack.version}'
^lapack: '{name}/{name}-{version}-{^c.name}-{^c.version}-{^lapack.name}-{^lapack.version}'
'%c': '{name}/{name}-{version}-{^c.name}-{^c.version}'
'%cxx': '{name}/{name}-{version}-{^cxx.name}-{^cxx.version}'
'%fortran': '{name}/{name}-{version}-{^fortran.name}-{^fortran.version}'
all: '{name}/{name}-{version}'
In the configuration above we created two views, named default and full.
The default view consists of all the packages that are compiled with gcc@12, but do not depend on either mpich or netlib-lapack.
As we can see, we can both include and exclude specs using constraints.
The full view contains a more complex projection, so to put each spec into an appropriate subdirectory, according to the first constraint that the spec matches.
all is the default projection, and has always the lowest priority, independent of the order in which it appears.
To avoid confusion, we advise always keeping it last in projections.
Concretize to regenerate the views, and check their structure:
$ spack concretize
==> No new specs to concretize.
==> Updating view at /home/spack/stacks/views/default
==> Updating view at /home/spack/stacks/views/full
$ ls ~/stacks/views/default
bin etc include lib lib64 libexec man pyvenv.cfg sbin share var
$ ls ~/stacks/views/default/lib
cmake libmenu.so
gettext libmenu.so.6
krb5 libmenu.so.6.5
libasan.so.8 libmenu_g.a
libasprintf.a libmenuw.a
libasprintf.so libmenuw.so
libasprintf.so.0 libmenuw.so.6
libasprintf.so.0.0.0 libmenuw.so.6.5
libatomic.so.1 libmenuw_g.a
libblas.so libmpi.a
libblas.so.3 libmpi.so
libblas.so.3.12.0 libmpi.so.12
libbsd-ctor.a libmpi.so.12.5.2
libbsd.a libmpi.so.40
libbsd.so libmpi.so.40.40.7
libbsd.so.0 libmpi_mpifh.so
libbsd.so.0.12.2 libmpi_mpifh.so.40
libbz2.a libmpi_mpifh.so.40.40.1
libbz2.so libmpi_usempi_ignore_tkr.so
libbz2.so.1 libmpi_usempi_ignore_tkr.so.40
libbz2.so.1.0 libmpi_usempi_ignore_tkr.so.40.40.1
libbz2.so.1.0.8 libmpi_usempif08.so
libcblas.so libmpi_usempif08.so.40
libcblas.so.3 libmpi_usempif08.so.40.40.3
libcblas.so.3.12.0 libmpich.so
libcharset.a libmpichcxx.so
libcharset.so libmpichf90.so
libcharset.so.1 libmpicxx.a
libcharset.so.1.0.0 libmpicxx.so
libcom_err.so libmpicxx.so.12
libcom_err.so.3 libmpicxx.so.12.5.2
libcom_err.so.3.0 libmpifort.a
libcrypt.a libmpifort.so
libcrypt.so libmpifort.so.12
libcrypt.so.2 libmpifort.so.12.5.2
libcrypt.so.2.0.0 libmpl.so
libcurses.so libncurses++.a
libedit.a libncurses++.so
libedit.so libncurses++.so.6
libedit.so.0 libncurses++.so.6.5
libedit.so.0.0.74 libncurses++_g.a
libevent-2.1.so.7 libncurses++w.a
libevent-2.1.so.7.0.1 libncurses++w.so
libevent.a libncurses++w.so.6
libevent.so libncurses++w.so.6.5
libevent_core-2.1.so.7 libncurses++w_g.a
libevent_core-2.1.so.7.0.1 libncurses.a
libevent_core.a libncurses.so
libevent_core.so libncurses.so.6
libevent_extra-2.1.so.7 libncurses.so.6.5
libevent_extra-2.1.so.7.0.1 libncurses_g.a
libevent_extra.a libncursesw.a
libevent_extra.so libncursesw.so
libevent_openssl-2.1.so.7 libncursesw.so.6
libevent_openssl-2.1.so.7.0.1 libncursesw.so.6.5
libevent_openssl.a libncursesw_g.a
libevent_openssl.so libnuma.a
libevent_pthreads-2.1.so.7 libnuma.so
libevent_pthreads-2.1.so.7.0.1 libnuma.so.1
libevent_pthreads.a libnuma.so.1.0.0
libevent_pthreads.so libopa.so
libexpat.a libopen-pal.so
libexpat.so libopen-pal.so.80
libexpat.so.1 libopen-pal.so.80.0.5
libexpat.so.1.11.1 libopenblas.a
libfabric.a libopenblas.so
libfabric.so libopenblas.so.0
libfabric.so.1 libopenblasp-r0.3.30.a
libfabric.so.1.29.1 libopenblasp-r0.3.30.so
libfmpich.so libpanel.a
libform.a libpanel.so
libform.so libpanel.so.6
libform.so.6 libpanel.so.6.5
libform.so.6.5 libpanel_g.a
libform_g.a libpanelw.a
libformw.a libpanelw.so
libformw.so libpanelw.so.6
libformw.so.6 libpanelw.so.6.5
libformw.so.6.5 libpanelw_g.a
libformw_g.a libpciaccess.a
libgcc_s.so.1 libpciaccess.so
libgdbm.a libpciaccess.so.0
libgdbm.so libpciaccess.so.0.11.1
libgdbm.so.6 libpmix.a
libgdbm.so.6.0.0 libpmix.so
libgdbm_compat.a libpmix.so.2
libgdbm_compat.so libpmix.so.2.18.0
libgdbm_compat.so.4 libprrte.a
libgdbm_compat.so.4.0.0 libprrte.so
libgettextlib-0.23.1.so libprrte.so.4
libgettextlib.a libprrte.so.4.0.0
libgettextlib.so libpython3.14.so
libgettextpo.a libpython3.14.so.1.0
libgettextpo.so libpython3.so
libgettextpo.so.0 libquadmath.so.0
libgettextpo.so.0.5.12 libreadline.a
libgettextsrc-0.23.1.so libreadline.so
libgettextsrc.a libreadline.so.8
libgettextsrc.so libreadline.so.8.3
libgfortran.so.5 libscalapack.so
libgomp.so.1 libscalapack.so.2.2
libgssapi_krb5.so libscalapack.so.2.2.1
libgssapi_krb5.so.2 libsqlite3.a
libgssapi_krb5.so.2.2 libsqlite3.so
libgssrpc.so libsqlite3.so.0
libgssrpc.so.4 libsqlite3.so.3.50.4
libgssrpc.so.4.2 libssp.so.0
libhistory.a libstdc++.so.6
libhistory.so libtextstyle.a
libhistory.so.8 libtextstyle.so
libhistory.so.8.3 libtextstyle.so.0
libhwloc.a libtextstyle.so.0.2.3
libhwloc.so libtinfo.a
libhwloc.so.15 libtinfo.so
libhwloc.so.15.10.1 libtinfo.so.6
libiconv.a libtinfo.so.6.5
libiconv.so libtinfo_g.a
libiconv.so.2 libtinfow.a
libiconv.so.2.7.0 libtinfow.so
libintl.a libtinfow.so.6
libintl.so libtinfow.so.6.5
libintl.so.8 libtinfow_g.a
libintl.so.8.4.2 libtmglib.so
libitm.so.1 libtmglib.so.3
libk5crypto.so libtmglib.so.3.12.0
libk5crypto.so.3 libtsan.so.2
libk5crypto.so.3.1 libubsan.so.1
libkadm5clnt.so libuuid.a
libkadm5clnt_mit.so libuuid.so
libkadm5clnt_mit.so.12 libuuid.so.1
libkadm5clnt_mit.so.12.0 libuuid.so.1.3.0
libkadm5srv.so libverto.so
libkadm5srv_mit.so libverto.so.0
libkadm5srv_mit.so.12 libverto.so.0.0
libkadm5srv_mit.so.12.0 libxml2.so
libkdb5.so libxml2.so.2
libkdb5.so.10 libxml2.so.2.13.5
libkdb5.so.10.0 libyaksa.a
libkrad.so libyaksa.so
libkrad.so.0 libyaksa.so.0
libkrad.so.0.0 libyaksa.so.0.0.0
libkrb5.so libz.a
libkrb5.so.3 libz.so
libkrb5.so.3.3 libz.so.1
libkrb5support.so libz.so.1.3.1.zlib-ng
libkrb5support.so.0 libzstd.a
libkrb5support.so.0.1 libzstd.so
liblapack.so libzstd.so.1
liblapack.so.3 libzstd.so.1.5.7
liblapack.so.3.12.0 mpi.mod
liblapacke.so mpi_ext.mod
liblapacke.so.3 mpi_f08.mod
liblapacke.so.3.12.0 mpi_f08_callbacks.mod
liblsan.so.0 mpi_f08_ext.mod
liblzma.a mpi_f08_interfaces.mod
liblzma.so mpi_f08_interfaces_callbacks.mod
liblzma.so.5 mpi_f08_types.mod
liblzma.so.5.6.3 mpi_types.mod
libmd.a openmpi
libmd.so pkgconfig
libmd.so.0 pmpi_f08_interfaces.mod
libmd.so.0.1.0 python3.14
libmenu.a terminfo
$ ls ~/stacks/views/full
bzip2 hwloc libiconv mpich openssh sqlite
expat krb5 libmd ncurses openssl tar
gcc libbsd libpciaccess netlib-lapack pigz util-linux-uuid
gcc-runtime libedit libxcrypt netlib-scalapack pmix xz
gdbm libevent libxml2 numactl prrte yaksa
gettext libfabric mpc openblas python zlib-ng
gmp libffi mpfr openmpi readline zstd
$ ls ~/stacks/views/full/gcc/
gcc-12.3.0-gcc-11.4.0
$ ls ~/stacks/views/full/gcc/gcc-12.3.0-gcc-11.4.0
bin include lib lib64 libexec share
The view descriptor also contains a link key.
The default behavior, as we have seen, is to link all packages, including implicit link and run dependencies, into the view.
If we set the option to “roots”, Spack links only the root packages into the view.
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [mpich]
- mpis: [openmpi]
when: 'env.get("SPACK_STACK_USE_OPENMPI", "") == "1"'
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
- serial_packages: [py-scipy]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
- matrix:
- [$serial_packages]
- [$^lapacks]
- [$%compilers]
exclude:
- "py-scipy ^netlib-lapack"
concretizer:
unify: false
view:
default:
root: views/default
select: ['%gcc@12']
exclude: [^mpich, ^netlib-lapack]
link: roots
full:
root: views/full
projections:
^mpi^lapack: '{name}/{name}-{version}-{^c.name}-{^c.version}-{^mpi.name}-{^mpi.version}-{^lapack.name}-{^lapack.version}'
^lapack: '{name}/{name}-{version}-{^c.name}-{^c.version}-{^lapack.name}-{^lapack.version}'
'%c': '{name}/{name}-{version}-{^c.name}-{^c.version}'
'%cxx': '{name}/{name}-{version}-{^cxx.name}-{^cxx.version}'
'%fortran': '{name}/{name}-{version}-{^fortran.name}-{^fortran.version}'
all: '{name}/{name}-{version}'
$ spack concretize
==> No new specs to concretize.
==> Updating view at /home/spack/stacks/views/default
$ ls ~/stacks/views/default
lib
$ ls ~/stacks/views/default/lib
cmake libscalapack.so libscalapack.so.2.2 libscalapack.so.2.2.1 pkgconfig python3.14
$ ls ~/stacks/views/full
bzip2 hwloc libiconv mpich openssh sqlite
expat krb5 libmd ncurses openssl tar
gcc libbsd libpciaccess netlib-lapack pigz util-linux-uuid
gcc-runtime libedit libxcrypt netlib-scalapack pmix xz
gdbm libevent libxml2 numactl prrte yaksa
gettext libfabric mpc openblas python zlib-ng
gmp libffi mpfr openmpi readline zstd
Now we see only the root libraries in the default view. The rest are hidden, but are still available in the full view. The complete documentation on views can be found here.
Module files¶
Module files are another very popular way to use software on HPC systems.
In this section we’ll show how to configure and generate a hierarchical module structure, suitable for lmod.
A more in-depth tutorial, focused only on module files, can be found at Module Files Tutorial.
There we discuss the general architecture of module file generation in Spack and we highlight differences between environment-modules and lmod that won’t be covered in this section.
Let’s start by adding lmod to the software installed with the system compiler:
$ spack add lmod%gcc@11
$ spack concretize
$ spack install
Once that is done, let’s add the module command to our shell like this:
$ . $(spack location -i lmod)/lmod/lmod/init/bash
If everything worked out correctly you should have the module command available in your shell:
$ module --version
Modules based on Lua: Version 8.7.18 2023-01-14 07:33 -06:00
by Robert McLay mclay@tacc.utexas.edu
The next step is to add some basic configuration to our spack.yaml to generate module files:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [mpich]
- mpis: [openmpi]
when: 'env.get("SPACK_STACK_USE_OPENMPI", "") == "1"'
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
- serial_packages: [py-scipy]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
- matrix:
- [$serial_packages]
- [$^lapacks]
- [$%compilers]
exclude:
- "py-scipy ^netlib-lapack"
view: false
concretizer:
unify: false
modules:
default:
enable:
- lmod
roots:
lmod: modules
lmod:
hierarchy:
- mpi
- lapack
core_specs:
- '%gcc@11'
In these few lines of additional configuration we told Spack to generate lmod module files in a subdirectory named modules, using a hierarchy comprising both lapack and mpi.
We’ve also configured it to place all specs built with our system compiler into the Core designation in the lmod hierarchy.
We can generate the module files and use them with the following commands:
$ spack module lmod refresh -y
$ module use $PWD/stacks/modules/linux-ubuntu22.04-x86_64/Core
Now we should be able to see the module files that have been generated:
$ module av
---- /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/Core ----
autoconf-archive/2023.02.20-7p7gq7u
automake/1.16.5-pzmnwzm
bc/1.07.1-s3qhnq4
berkeley-db/18.1.40-vdgigsw
bison/3.8.2-n7yzkyl
bzip2/1.0.8-x7t4naj
ca-certificates-mozilla/2025-08-12-etqlnw5
compiler-wrapper/1.0-ntccuj2
curl/8.15.0-isdtvvd
diffutils/3.12-cih4xrz
ed/1.4-4cbvnhd
expat/2.7.3-7yr5v6w
findutils/4.10.0-irvryts
flex/2.6.3-gmhq65u
gawk/5.3.1-irhvzch
gcc-runtime/11.4.0-nokfxva
gcc-runtime/12.3.0-pgwnyw7 (D)
gcc/11.4.0-ml7cem5
gcc/12.3.0-fmnvqo4 (D)
gdbm/1.25-aq7qwy6
gettext/0.23.1-cakgj4n
glibc/2.35-qg7qyaz
gmake/4.4.1-4obn7cg
gmp/6.3.0-mj4re3l
libbsd/0.12.2-ucrhsyw
libffi/3.5.2-zgro4tw
libiconv/1.18-qtepnkr
libmd/1.1.0-gth3ii5
libsigsegv/2.14-bs5ujst
libssh2/1.11.1-txa2olx
libtool/2.4.7-yt7ajy4
libxcrypt/4.4.38-yiij42p
libxml2/2.13.5-5trxrsw
lmod/8.7.18-gbpxgjw
lua-luafilesystem/1.8.0-nsymk62
lua-luaposix/36.1-bubs6lu
lua/5.4.6-hdxlqej
m4/1.4.20-lxvpwti
mbedtls/2.28.9-bz3ghzh
mpc/1.3.1-sczvrku
mpfr/4.2.1-m3nwalt
ncurses/6.5-20250705-ncdxq3j
nghttp2/1.48.0-ft5kpbd
ninja/1.13.0-2stmhpc
openssl/3.6.0-gv7wpik
pcre2/10.44-z5vjj7q
perl/5.42.0-62kt5y4
pigz/2.8-kaz756e
pkgconf/2.5.1-f4qiprw
python/3.11.14-rbf2x4i
re2c/3.1-axmwics
readline/8.3-c6d2zlj
sqlite/3.50.4-elvodyb
tar/1.35-lfgvgva
tcl/8.6.17-x74vmgr
texinfo/7.2-k6ygirs
unzip/6.0-5gxay2a
util-linux-uuid/2.41-n45otd3
util-macros/1.20.1-hwxnwvm
xz/5.6.3-yzaocbs
zlib-ng/2.0.7-qlavhjb
zstd/1.5.7-foiizhd
Where:
D: Default Module
If the avail list is too long
consider trying:
"module --default avail" or
"ml -d av" to just list the
default modules.
"module overview" or "ml ov"
to display the number of
modules for each name.
Use "module spider" to find
all possible modules and
extensions.
Use "module keyword key1 key2
..." to search for all
possible modules matching any
of the "keys".
The set of modules is already usable, and the hierarchy already works.
For instance, we can load the gcc compiler and check that we have gcc in out path and we have a lot of modules available - all the ones compiled with gcc@12:
$ module load gcc
$ which gcc
/home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc/bin/gcc
$ gcc --version
gcc (Spack GCC) 12.3.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ module av
---- /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/gcc/12.3.0 ----
automake/1.16.5-zmzk4bb (D)
bzip2/1.0.8-zom5syd (D)
cmake/3.31.9-4a7thjg
curl/8.15.0-zianoaa (D)
diffutils/3.12-msusunh (D)
expat/2.7.3-ikeoatl
gdbm/1.25-y5bsvao (D)
gettext/0.23.1-3f5v73y (D)
git/2.48.1-aim3224
hwloc/2.12.2-wkj6z6m
krb5/1.21.3-onmo4bv
libbsd/0.12.2-zb37a5t (D)
libedit/3.1-20240808-c5o6gvv
libevent/2.1.12-fn26hil
libfabric/2.3.1-7imejdf
libffi/3.5.2-s56v4gf
libiconv/1.18-g3zxoz6
libidn2/2.3.7-gntupl3
libmd/1.1.0-cq4lpjp
libpciaccess/0.17-p7g23cj
libunistring/1.2-x5b7oet
libxcrypt/4.4.38-drjmmlw
libxml2/2.13.5-idam6zh
mpich/4.3.2-uaioo2h
ncurses/6.5-20250705-ytk4y2k (D)
netlib-lapack/3.12.1-rhz3uek
numactl/2.0.18-t2nikrt
openblas/0.3.30-dwjd7g2
openmpi/5.0.8-p2gmhau
openssh/9.9p1-lip7jtp
openssl/3.6.0-q4fenfo (D)
perl/5.42.0-jpuw66s
pigz/2.8-bs2taxm
pmix/6.0.0-76oyav4
prrte/4.0.0-zalt7cs
py-beniget/0.4.2.post1-g6mqwbr
py-calver/2025.4.17-gnnyu6h
py-cython/3.1.3-apuchub
py-flit-core/3.12.0-55omqj2
py-gast/0.6.0-xrd6sez
py-hatch-vcs/0.5.0-44uhp2g
py-hatchling/1.27.0-qb7x6jy
py-meson-python/0.18.0-o6u3um7
py-packaging/25.0-j3t7cjg
py-pathspec/0.12.1-wvr3fhe
py-pip/25.1.1-qwew5rg
py-pluggy/1.6.0-2c2amjc
py-ply/3.11-xgx3hu4
py-pybind11/3.0.1-b7sx7ll
py-pyproject-metadata/0.9.1-sypchiv
py-scikit-build-core/0.11.5-5r47zyp
py-setuptools-scm/8.2.1-xcq4max
py-setuptools/80.9.0-urwrpfo
py-trove-classifiers/2025.9.11.17-cwn5qw7
py-wheel/0.45.1-vs4xbx3
python-venv/1.0-nrdm37j
python/3.14.0-yvs3szq (D)
readline/8.3-eyfbskp (D)
sqlite/3.50.4-plzt2nd (D)
tar/1.35-wfarfth (D)
util-linux-uuid/2.41-b4npzn6
xz/5.6.3-643vviq (D)
yaksa/0.4-7jn3viv
zlib-ng/2.2.4-4tglvhv (D)
zstd/1.5.7-fj5u5hm
---- /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/Core ----
autoconf-archive/2023.02.20-7p7gq7u
automake/1.16.5-pzmnwzm
bc/1.07.1-s3qhnq4
berkeley-db/18.1.40-vdgigsw
bison/3.8.2-n7yzkyl
bzip2/1.0.8-x7t4naj
ca-certificates-mozilla/2025-08-12-etqlnw5
compiler-wrapper/1.0-ntccuj2
curl/8.15.0-isdtvvd
diffutils/3.12-cih4xrz
ed/1.4-4cbvnhd
expat/2.7.3-7yr5v6w (D)
findutils/4.10.0-irvryts
flex/2.6.3-gmhq65u
gawk/5.3.1-irhvzch
gcc-runtime/11.4.0-nokfxva (L)
gcc-runtime/12.3.0-pgwnyw7 (D)
gcc/11.4.0-ml7cem5
gcc/12.3.0-fmnvqo4 (L,D)
gdbm/1.25-aq7qwy6
gettext/0.23.1-cakgj4n
glibc/2.35-qg7qyaz (L)
gmake/4.4.1-4obn7cg
gmp/6.3.0-mj4re3l (L)
libbsd/0.12.2-ucrhsyw
libffi/3.5.2-zgro4tw (D)
libiconv/1.18-qtepnkr (D)
libmd/1.1.0-gth3ii5 (D)
libsigsegv/2.14-bs5ujst
libssh2/1.11.1-txa2olx
libtool/2.4.7-yt7ajy4
libxcrypt/4.4.38-yiij42p (D)
libxml2/2.13.5-5trxrsw (D)
lmod/8.7.18-gbpxgjw
lua-luafilesystem/1.8.0-nsymk62
lua-luaposix/36.1-bubs6lu
lua/5.4.6-hdxlqej
m4/1.4.20-lxvpwti
mbedtls/2.28.9-bz3ghzh
mpc/1.3.1-sczvrku (L)
mpfr/4.2.1-m3nwalt (L)
ncurses/6.5-20250705-ncdxq3j
nghttp2/1.48.0-ft5kpbd
ninja/1.13.0-2stmhpc
openssl/3.6.0-gv7wpik
pcre2/10.44-z5vjj7q
perl/5.42.0-62kt5y4 (D)
pigz/2.8-kaz756e (D)
pkgconf/2.5.1-f4qiprw
python/3.11.14-rbf2x4i
re2c/3.1-axmwics
readline/8.3-c6d2zlj
sqlite/3.50.4-elvodyb
tar/1.35-lfgvgva
tcl/8.6.17-x74vmgr
texinfo/7.2-k6ygirs
unzip/6.0-5gxay2a
util-linux-uuid/2.41-n45otd3 (D)
util-macros/1.20.1-hwxnwvm
xz/5.6.3-yzaocbs
zlib-ng/2.0.7-qlavhjb (L)
zstd/1.5.7-foiizhd (L,D)
Where:
D: Default Module
L: Module is loaded
If the avail list is too long
consider trying:
"module --default avail" or
"ml -d av" to just list the
default modules.
"module overview" or "ml ov"
to display the number of
modules for each name.
Use "module spider" to find
all possible modules and
extensions.
Use "module keyword key1 key2
..." to search for all
possible modules matching any
of the "keys".
$ module unload gcc
There are a few issues though.
For instance, we have a lot of modules generated from dependencies of gcc that are cluttering the view, and won’t likely be needed directly by users.
Then, module names contain hashes, which prevent users from being able to reuse the same script in similar, but not equal, environments.
Also, some of the modules might need to set custom environment variables, which are specific to the deployment aspects that are not part of the hash - for instance a policy at the deploying site.
To address all these needs we can complicate our modules configuration a bit more:
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
definitions:
- mpis: [mpich]
- mpis: [openmpi]
when: 'env.get("SPACK_STACK_USE_OPENMPI", "") == "1"'
- lapacks: [ openblas, netlib-lapack ]
- compilers: [ "gcc@12" ]
- mpi_packages: [ netlib-scalapack ]
- serial_packages: [py-scipy]
specs:
- gcc@12%gcc@11
- matrix:
- [$mpi_packages]
- [$^mpis]
- [$^lapacks]
- [$%compilers]
- matrix:
- [$serial_packages]
- [$^lapacks]
- [$%compilers]
exclude:
- "py-scipy ^netlib-lapack"
view: false
concretizer:
unify: false
modules:
default:
enable:
- lmod
roots:
lmod: modules
lmod:
hierarchy:
- mpi
- lapack
core_specs:
- '%gcc@11'
hash_length: 0
include:
- gcc
exclude:
- '%gcc@11.4.0'
- 'autoconf'
all:
environment:
set:
'{name}_ROOT': '{prefix}'
openmpi:
environment:
set:
SLURM_MPI_TYPE: pmi2
OMPI_MCA_btl_openib_warn_default_gid_prefix: '0'
projections:
all: '{name}/{version}'
Regenerate the modules again:
$ spack module lmod refresh --delete-tree -y
==> Warning: autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3/nzbffup uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/ml7cem5 as the LMod compiler.
==> Warning: automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3/zmzk4bb uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: cmake@3.31.9~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release platform=linux os=ubuntu22.04 target=x86_64_v3/4a7thjg uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: curl@8.15.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl platform=linux os=ubuntu22.04 target=x86_64_v3/zianoaa uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: git@2.48.1+man+nls+perl+subtree~tcltk build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3/aim3224 uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: meson@1.8.5 build_system=python_pip patches:=0f0b1bd platform=linux os=ubuntu22.04 target=x86_64_v3/c5mkho7 uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/ml7cem5 as the LMod compiler.
==> Warning: perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3/jpuw66s uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: py-hatch-vcs@0.5.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3/44uhp2g uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: py-meson-python@0.18.0 build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3/o6u3um7 uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: py-scikit-build-core@0.11.5~pyproject build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3/5r47zyp uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Warning: py-setuptools-scm@8.2.1+toml build_system=python_pip platform=linux os=ubuntu22.04 target=x86_64_v3/xcq4max uses more than one compiler, and might not fit the LMod hierarchy. Using gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3/fmnvqo4 as the LMod compiler.
==> Regenerating lmod module files
Now we have a set of module files without hashes, with a correct hierarchy, and with all our custom modifications:
$ module load gcc
$ module load openmpi openblas netlib-scalapack py-scipy
$ module av
---- /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/gcc/12.3.0 ----
automake/1.16.5
bzip2/1.0.8
cmake/3.31.9
curl/8.15.0
diffutils/3.12
expat/2.7.3
gdbm/1.25
gettext/0.23.1
git/2.48.1
hwloc/2.12.2
krb5/1.21.3
libbsd/0.12.2
libedit/3.1-20240808
libevent/2.1.12
libfabric/2.3.1
libffi/3.5.2
libiconv/1.18
libidn2/2.3.7
libmd/1.1.0
libpciaccess/0.17
libunistring/1.2
libxcrypt/4.4.38
libxml2/2.13.5
mpich/4.3.2
ncurses/6.5-20250705
netlib-lapack/3.12.1
numactl/2.0.18
openblas/0.3.30
openmpi/5.0.8
openssh/9.9p1
openssl/3.6.0
perl/5.42.0
pigz/2.8
pmix/6.0.0
prrte/4.0.0
py-beniget/0.4.2.post1
py-calver/2025.4.17
py-cython/3.1.3
py-flit-core/3.12.0
py-gast/0.6.0
py-hatch-vcs/0.5.0
py-hatchling/1.27.0
py-meson-python/0.18.0
py-packaging/25.0
py-pathspec/0.12.1
py-pip/25.1.1
py-pluggy/1.6.0
py-ply/3.11
py-pybind11/3.0.1
py-pyproject-metadata/0.9.1
py-scikit-build-core/0.11.5
py-setuptools-scm/8.2.1
py-setuptools/80.9.0
py-trove-classifiers/2025.9.11.17
py-wheel/0.45.1
python-venv/1.0
python/3.14.0
readline/8.3
sqlite/3.50.4
tar/1.35
util-linux-uuid/2.41
xz/5.6.3
yaksa/0.4
zlib-ng/2.2.4
zstd/1.5.7
---- /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/Core ----
autoconf-archive/2023.02.20
ca-certificates-mozilla/2025-08-12
compiler-wrapper/1.0
gcc-runtime/12.3.0
gcc/11.4.0
gcc/12.3.0 (L,D)
glibc/2.35 (L)
util-macros/1.20.1
Where:
D: Default Module
L: Module is loaded
If the avail list is too long
consider trying:
"module --default avail" or
"ml -d av" to just list the
default modules.
"module overview" or "ml ov"
to display the number of
modules for each name.
Use "module spider" to find
all possible modules and
extensions.
Use "module keyword key1 key2
..." to search for all
possible modules matching any
of the "keys".
$ module load mpich
Lmod is automatically
replacing "openmpi/5.0.8"
with "mpich/4.3.2".
Due to MODULEPATH changes, the following have been reloaded:
1) netlib-scalapack/2.2.2
$ module load netlib-lapack
Lmod is automatically
replacing "openblas/0.3.30"
with "netlib-lapack/3.12.1".
Due to MODULEPATH changes, the following have been reloaded:
1) netlib-scalapack/2.2.2
$ module purge
This concludes the quick tour of module file generation, and the tutorial on stacks.
Summary¶
In this tutorial, we configured Spack to install a stack of software built on a cross-product of different MPI and LAPACK libraries. We used the spec matrix syntax to express in a compact way the specs to be installed, and spec list definitions to reuse the same matrix rows in different places. Then, we discussed how to make the software easy to use, leveraging either filesystem views or module files.