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:hpcic24

and then set Spack up like this:

git clone --depth=100 --branch=releases/v0.22 https://github.com/spack/spack
. spack/share/spack/setup-env.sh
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

So far, 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.

In the following 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.

In the first part 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.

Then 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

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:

  1. Install the compiler first, then register it in the environment

  2. Use a second environment just for the compiler

In the following we’ll use the first approach. For people interested, an example of the latter approach 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

Now 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 gcc@12%gcc@11
 -   hc3fmfi  gcc@12.3.0%gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3
 -   mhzfdlk	  ^diffutils@3.10%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3duehf4	  ^gawk@5.3.0%gcc@11.4.0~nls build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   jwy3fyz	      ^libsigsegv@2.14%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   cb6x34k	      ^readline@8.2%gcc@11.4.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   f47qm6q	  ^gcc-runtime@11.4.0%gcc@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  a7drdl4	  ^glibc@2.35%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   qfrotcc	  ^gmake@4.4.1%gcc@11.4.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   5znqdnf	  ^gmp@6.2.1%gcc@11.4.0+cxx build_system=autotools libs=shared,static patches=69ad2e2 arch=linux-ubuntu22.04-x86_64_v3
 -   ljmgup2	      ^autoconf@2.72%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   p742yhm	      ^automake@1.16.5%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   7d6p4sf	      ^m4@1.4.19%gcc@11.4.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   lop7htu	  ^libtool@2.4.7%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   v4yzc2w	      ^findutils@4.9.0%gcc@11.4.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   t7z22ep	  ^mpc@1.3.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   c42jb45	  ^mpfr@4.2.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   rq5jepf	      ^autoconf-archive@2023.02.20%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   uliw6sp	  ^perl@5.38.0%gcc@11.4.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   br27jq6	      ^berkeley-db@18.1.40%gcc@11.4.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   qmy6dpi	      ^bzip2@1.0.8%gcc@11.4.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   ohbrdtp	      ^gdbm@1.23%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   y6pez2a	  ^texinfo@7.0.3%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   eux6e6v	      ^gettext@0.22.5%gcc@11.4.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   jv5es2y		  ^libxml2@2.10.3%gcc@11.4.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   wx4xfdn		  ^tar@1.34%gcc@11.4.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   gk55zt7		      ^pigz@2.8%gcc@11.4.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   syttnnt		  ^xz@5.4.6%gcc@11.4.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   gk4xs2i	      ^ncurses@6.5%gcc@11.4.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   h3x3l7s		  ^pkgconf@2.2.0%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   xqtp62n	  ^zlib-ng@2.1.6%gcc@11.4.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ew3aaos	  ^zstd@1.5.6%gcc@11.4.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3

$ spack install
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
==> Installing gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd [2/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd.spack
==> Extracting gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd
  Search: 0.00s.  Fetch: 0.28s.  Install: 0.38s.  Extract: 0.32s.  Relocate: 0.04s.  Total: 0.67s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd
==> Installing gmake-4.4.1-qfrotccvbyovembcoto3jajc3vuvcejo [3/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmake-4.4.1-qfrotccvbyovembcoto3jajc3vuvcejo.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmake-4.4.1-qfrotccvbyovembcoto3jajc3vuvcejo.spack
==> Extracting gmake-4.4.1-qfrotccvbyovembcoto3jajc3vuvcejo from binary cache
==> gmake: Successfully installed gmake-4.4.1-qfrotccvbyovembcoto3jajc3vuvcejo
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.03s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-qfrotccvbyovembcoto3jajc3vuvcejo
==> Installing berkeley-db-18.1.40-br27jq6mkoumsbtdldgzcm3lw5zqjvel [4/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-berkeley-db-18.1.40-br27jq6mkoumsbtdldgzcm3lw5zqjvel.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-berkeley-db-18.1.40-br27jq6mkoumsbtdldgzcm3lw5zqjvel.spack
==> Extracting berkeley-db-18.1.40-br27jq6mkoumsbtdldgzcm3lw5zqjvel from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-br27jq6mkoumsbtdldgzcm3lw5zqjvel
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.13s.  Extract: 0.10s.  Relocate: 0.02s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-br27jq6mkoumsbtdldgzcm3lw5zqjvel
==> Installing xz-5.4.6-syttnntihi6n463mupmgl5e7kp5izxkz [5/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-xz-5.4.6-syttnntihi6n463mupmgl5e7kp5izxkz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-xz-5.4.6-syttnntihi6n463mupmgl5e7kp5izxkz.spack
==> Extracting xz-5.4.6-syttnntihi6n463mupmgl5e7kp5izxkz from binary cache
==> xz: Successfully installed xz-5.4.6-syttnntihi6n463mupmgl5e7kp5izxkz
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.13s.  Extract: 0.11s.  Relocate: 0.02s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6-syttnntihi6n463mupmgl5e7kp5izxkz
==> Installing pkgconf-2.2.0-h3x3l7sed4l2efuskhaldi6ilmkoyeaa [6/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pkgconf-2.2.0-h3x3l7sed4l2efuskhaldi6ilmkoyeaa.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pkgconf-2.2.0-h3x3l7sed4l2efuskhaldi6ilmkoyeaa.spack
==> Extracting pkgconf-2.2.0-h3x3l7sed4l2efuskhaldi6ilmkoyeaa from binary cache
==> pkgconf: Successfully installed pkgconf-2.2.0-h3x3l7sed4l2efuskhaldi6ilmkoyeaa
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0-h3x3l7sed4l2efuskhaldi6ilmkoyeaa
==> Installing libsigsegv-2.14-jwy3fyzf5vk74lvkdpa6uf4rqlvfz7my [7/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libsigsegv-2.14-jwy3fyzf5vk74lvkdpa6uf4rqlvfz7my.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libsigsegv-2.14-jwy3fyzf5vk74lvkdpa6uf4rqlvfz7my.spack
==> Extracting libsigsegv-2.14-jwy3fyzf5vk74lvkdpa6uf4rqlvfz7my from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-jwy3fyzf5vk74lvkdpa6uf4rqlvfz7my
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14-jwy3fyzf5vk74lvkdpa6uf4rqlvfz7my
==> Installing diffutils-3.10-mhzfdlk4s72qc2lndxqz4v6tcxkis5ez [8/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-diffutils-3.10-mhzfdlk4s72qc2lndxqz4v6tcxkis5ez.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.10/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-diffutils-3.10-mhzfdlk4s72qc2lndxqz4v6tcxkis5ez.spack
==> Extracting diffutils-3.10-mhzfdlk4s72qc2lndxqz4v6tcxkis5ez from binary cache
==> diffutils: Successfully installed diffutils-3.10-mhzfdlk4s72qc2lndxqz4v6tcxkis5ez
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.10-mhzfdlk4s72qc2lndxqz4v6tcxkis5ez
==> Installing autoconf-archive-2023.02.20-rq5jepflkcjrdarashhdmody3xoweq3x [9/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-archive-2023.02.20-rq5jepflkcjrdarashhdmody3xoweq3x.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-archive-2023.02.20/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-archive-2023.02.20-rq5jepflkcjrdarashhdmody3xoweq3x.spack
==> Extracting autoconf-archive-2023.02.20-rq5jepflkcjrdarashhdmody3xoweq3x from binary cache
==> autoconf-archive: Successfully installed autoconf-archive-2023.02.20-rq5jepflkcjrdarashhdmody3xoweq3x
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.14s.  Extract: 0.12s.  Relocate: 0.01s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-archive-2023.02.20-rq5jepflkcjrdarashhdmody3xoweq3x
==> Installing zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4 [10/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4.spack
==> Extracting zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4 from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.05s.  Extract: 0.02s.  Relocate: 0.03s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4
==> Installing findutils-4.9.0-v4yzc2wwg33pu64bs64rfhu6k4nb3r33 [11/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-findutils-4.9.0-v4yzc2wwg33pu64bs64rfhu6k4nb3r33.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-findutils-4.9.0-v4yzc2wwg33pu64bs64rfhu6k4nb3r33.spack
==> Extracting findutils-4.9.0-v4yzc2wwg33pu64bs64rfhu6k4nb3r33 from binary cache
==> findutils: Successfully installed findutils-4.9.0-v4yzc2wwg33pu64bs64rfhu6k4nb3r33
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.06s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0-v4yzc2wwg33pu64bs64rfhu6k4nb3r33
==> Installing zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr [12/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr.spack
==> Extracting zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr from binary cache
==> zstd: Successfully installed zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.05s.  Relocate: 0.04s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr
==> Installing ncurses-6.5-gk4xs2idegfiwoyaikamyhxkjrruxtxa [13/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ncurses-6.5-gk4xs2idegfiwoyaikamyhxkjrruxtxa.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ncurses-6.5-gk4xs2idegfiwoyaikamyhxkjrruxtxa.spack
==> Extracting ncurses-6.5-gk4xs2idegfiwoyaikamyhxkjrruxtxa from binary cache
==> ncurses: Successfully installed ncurses-6.5-gk4xs2idegfiwoyaikamyhxkjrruxtxa
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.75s.  Extract: 0.69s.  Relocate: 0.05s.  Total: 0.76s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-gk4xs2idegfiwoyaikamyhxkjrruxtxa
==> Installing bzip2-1.0.8-qmy6dpipkzgotxrxqwxlnfsj5vbzkbcc [14/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bzip2-1.0.8-qmy6dpipkzgotxrxqwxlnfsj5vbzkbcc.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bzip2-1.0.8-qmy6dpipkzgotxrxqwxlnfsj5vbzkbcc.spack
==> Extracting bzip2-1.0.8-qmy6dpipkzgotxrxqwxlnfsj5vbzkbcc from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-qmy6dpipkzgotxrxqwxlnfsj5vbzkbcc
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.03s.  Relocate: 0.04s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-qmy6dpipkzgotxrxqwxlnfsj5vbzkbcc
==> Installing m4-1.4.19-7d6p4sfrp4viryzbg5nxd2nsgm46d6x2 [15/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-m4-1.4.19-7d6p4sfrp4viryzbg5nxd2nsgm46d6x2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-m4-1.4.19-7d6p4sfrp4viryzbg5nxd2nsgm46d6x2.spack
==> Extracting m4-1.4.19-7d6p4sfrp4viryzbg5nxd2nsgm46d6x2 from binary cache
==> m4: Successfully installed m4-1.4.19-7d6p4sfrp4viryzbg5nxd2nsgm46d6x2
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-7d6p4sfrp4viryzbg5nxd2nsgm46d6x2
==> Installing pigz-2.8-gk55zt73c5ekv3iogqn4lo4r66tuzv5z [16/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pigz-2.8-gk55zt73c5ekv3iogqn4lo4r66tuzv5z.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pigz-2.8-gk55zt73c5ekv3iogqn4lo4r66tuzv5z.spack
==> Extracting pigz-2.8-gk55zt73c5ekv3iogqn4lo4r66tuzv5z from binary cache
==> pigz: Successfully installed pigz-2.8-gk55zt73c5ekv3iogqn4lo4r66tuzv5z
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.03s.  Extract: 0.01s.  Relocate: 0.02s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8-gk55zt73c5ekv3iogqn4lo4r66tuzv5z
==> Installing libxml2-2.10.3-jv5es2yg6on55zdsb5xyvvg7xvqh6h4e [17/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxml2-2.10.3-jv5es2yg6on55zdsb5xyvvg7xvqh6h4e.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxml2-2.10.3-jv5es2yg6on55zdsb5xyvvg7xvqh6h4e.spack
==> Extracting libxml2-2.10.3-jv5es2yg6on55zdsb5xyvvg7xvqh6h4e from binary cache
==> libxml2: Successfully installed libxml2-2.10.3-jv5es2yg6on55zdsb5xyvvg7xvqh6h4e
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.15s.  Extract: 0.12s.  Relocate: 0.03s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3-jv5es2yg6on55zdsb5xyvvg7xvqh6h4e
==> Installing readline-8.2-cb6x34ku73pjh3f4t7rmpthnxuumw25x [18/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-readline-8.2-cb6x34ku73pjh3f4t7rmpthnxuumw25x.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-readline-8.2-cb6x34ku73pjh3f4t7rmpthnxuumw25x.spack
==> Extracting readline-8.2-cb6x34ku73pjh3f4t7rmpthnxuumw25x from binary cache
==> readline: Successfully installed readline-8.2-cb6x34ku73pjh3f4t7rmpthnxuumw25x
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-cb6x34ku73pjh3f4t7rmpthnxuumw25x
==> Installing libtool-2.4.7-lop7htuzty2qpcu6own5hdvs6evoa2bg [19/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libtool-2.4.7-lop7htuzty2qpcu6own5hdvs6evoa2bg.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libtool-2.4.7-lop7htuzty2qpcu6own5hdvs6evoa2bg.spack
==> Extracting libtool-2.4.7-lop7htuzty2qpcu6own5hdvs6evoa2bg from binary cache
==> libtool: Successfully installed libtool-2.4.7-lop7htuzty2qpcu6own5hdvs6evoa2bg
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.05s.  Relocate: 0.03s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-lop7htuzty2qpcu6own5hdvs6evoa2bg
==> Installing tar-1.34-wx4xfdnr4uzmlkbzpeuizbduh4e5klhj [20/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tar-1.34-wx4xfdnr4uzmlkbzpeuizbduh4e5klhj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tar-1.34-wx4xfdnr4uzmlkbzpeuizbduh4e5klhj.spack
==> Extracting tar-1.34-wx4xfdnr4uzmlkbzpeuizbduh4e5klhj from binary cache
==> tar: Successfully installed tar-1.34-wx4xfdnr4uzmlkbzpeuizbduh4e5klhj
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.12s.  Extract: 0.09s.  Relocate: 0.03s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-wx4xfdnr4uzmlkbzpeuizbduh4e5klhj
==> Installing gdbm-1.23-ohbrdtphnhbycgd6p3btrxzjbtkwiqn6 [21/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gdbm-1.23-ohbrdtphnhbycgd6p3btrxzjbtkwiqn6.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gdbm-1.23-ohbrdtphnhbycgd6p3btrxzjbtkwiqn6.spack
==> Extracting gdbm-1.23-ohbrdtphnhbycgd6p3btrxzjbtkwiqn6 from binary cache
==> gdbm: Successfully installed gdbm-1.23-ohbrdtphnhbycgd6p3btrxzjbtkwiqn6
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.04s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-ohbrdtphnhbycgd6p3btrxzjbtkwiqn6
==> Installing gettext-0.22.5-eux6e6vvrk7uz4tx3vmjkyonhnvhseeu [22/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gettext-0.22.5-eux6e6vvrk7uz4tx3vmjkyonhnvhseeu.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gettext-0.22.5-eux6e6vvrk7uz4tx3vmjkyonhnvhseeu.spack
==> Extracting gettext-0.22.5-eux6e6vvrk7uz4tx3vmjkyonhnvhseeu from binary cache
==> gettext: Successfully installed gettext-0.22.5-eux6e6vvrk7uz4tx3vmjkyonhnvhseeu
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.71s.  Extract: 0.64s.  Relocate: 0.06s.  Total: 0.72s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5-eux6e6vvrk7uz4tx3vmjkyonhnvhseeu
==> Installing perl-5.38.0-uliw6spxatqyj5bjxwtf6ckndktozqqo [23/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-perl-5.38.0-uliw6spxatqyj5bjxwtf6ckndktozqqo.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.38.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-perl-5.38.0-uliw6spxatqyj5bjxwtf6ckndktozqqo.spack
==> Extracting perl-5.38.0-uliw6spxatqyj5bjxwtf6ckndktozqqo from binary cache
==> perl: Successfully installed perl-5.38.0-uliw6spxatqyj5bjxwtf6ckndktozqqo
  Search: 0.00s.  Fetch: 0.02s.  Install: 0.94s.  Extract: 0.75s.  Relocate: 0.18s.  Total: 0.96s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.38.0-uliw6spxatqyj5bjxwtf6ckndktozqqo
==> Installing texinfo-7.0.3-y6pez2asfozl3agjwfjkak2wcysgx72s [24/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-texinfo-7.0.3-y6pez2asfozl3agjwfjkak2wcysgx72s.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/texinfo-7.0.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-texinfo-7.0.3-y6pez2asfozl3agjwfjkak2wcysgx72s.spack
==> Extracting texinfo-7.0.3-y6pez2asfozl3agjwfjkak2wcysgx72s from binary cache
==> texinfo: Successfully installed texinfo-7.0.3-y6pez2asfozl3agjwfjkak2wcysgx72s
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.26s.  Extract: 0.19s.  Relocate: 0.06s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/texinfo-7.0.3-y6pez2asfozl3agjwfjkak2wcysgx72s
==> Installing autoconf-2.72-ljmgup2xu5fzbqhilaeonlgfasmo5hhh [25/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-2.72-ljmgup2xu5fzbqhilaeonlgfasmo5hhh.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.72/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-2.72-ljmgup2xu5fzbqhilaeonlgfasmo5hhh.spack
==> Extracting autoconf-2.72-ljmgup2xu5fzbqhilaeonlgfasmo5hhh from binary cache
==> autoconf: Successfully installed autoconf-2.72-ljmgup2xu5fzbqhilaeonlgfasmo5hhh
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.10s.  Extract: 0.06s.  Relocate: 0.03s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.72-ljmgup2xu5fzbqhilaeonlgfasmo5hhh
==> Installing automake-1.16.5-p742yhmxrgeohdxdmiduznbou2rnf3bt [26/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-automake-1.16.5-p742yhmxrgeohdxdmiduznbou2rnf3bt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-automake-1.16.5-p742yhmxrgeohdxdmiduznbou2rnf3bt.spack
==> Extracting automake-1.16.5-p742yhmxrgeohdxdmiduznbou2rnf3bt from binary cache
==> automake: Successfully installed automake-1.16.5-p742yhmxrgeohdxdmiduznbou2rnf3bt
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.10s.  Extract: 0.05s.  Relocate: 0.04s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5-p742yhmxrgeohdxdmiduznbou2rnf3bt
==> Installing gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq [27/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.2.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq.spack
==> Extracting gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq from binary cache
==> gmp: Successfully installed gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq
==> Installing mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h [28/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h.spack
==> Extracting mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h from binary cache
==> mpfr: Successfully installed mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.15s.  Extract: 0.10s.  Relocate: 0.04s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h
==> Installing mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz [29/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpc-1.3.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz.spack
==> Extracting mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz from binary cache
==> mpc: Successfully installed mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.06s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz
==> Installing gawk-5.3.0-3duehf4iefmj7rfyv52adv2x4yahvwm3 [30/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gawk-5.3.0-3duehf4iefmj7rfyv52adv2x4yahvwm3.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gawk-5.3.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gawk-5.3.0-3duehf4iefmj7rfyv52adv2x4yahvwm3.spack
==> Extracting gawk-5.3.0-3duehf4iefmj7rfyv52adv2x4yahvwm3 from binary cache
==> gawk: Successfully installed gawk-5.3.0-3duehf4iefmj7rfyv52adv2x4yahvwm3
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.15s.  Extract: 0.08s.  Relocate: 0.05s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gawk-5.3.0-3duehf4iefmj7rfyv52adv2x4yahvwm3
==> Installing gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh [31/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh.spack
==> Extracting gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh from binary cache
==> Wrote new spec file to /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/lib/gcc/x86_64-pc-linux-gnu/12.3.0/specs
==> gcc: Successfully installed gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh
  Search: 0.00s.  Fetch: 0.42s.  Install: 16.55s.  Extract: 14.81s.  Relocate: 1.68s.  Total: 16.97s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh

Finally, let’s register it as a new compiler in the environment:

$ spack compiler find "$(spack location -i gcc)"
==> Added 1 new compiler to /home/spack/stacks/spack.yaml
    gcc@12.3.0
==> Compilers are defined in the following files:
    /home/spack/.spack/linux/compilers.yaml  /home/spack/stacks/spack.yaml

The spack location -i command returns the installation prefix for the spec being queried:

$ spack location -i gcc
/home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh

This might be useful in general when scripting Spack commands, as the example above shows. Listing the compilers now shows the presence of gcc@12.3.0:

$ spack compiler list
==> Available compilers
-- clang ubuntu22.04-x86_64 -------------------------------------
clang@14.0.0

-- gcc ubuntu22.04-x86_64 ---------------------------------------
gcc@12.3.0  gcc@11.4.0	gcc@10.5.0

The manifest file at this point looks like:

# 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []

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:

$ spack concretize
==> Error: Spack concretizer internal error. Please submit a bug report and include the command, environment if applicable and the following error message.
    [netlib-scalapack%gcc@12 ^openblas ^openmpi, netlib-scalapack%gcc@12 ^mpich ^openblas, gcc@=12.3.0%gcc@=11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] autoconf@=2.72%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] autoconf-archive@=2023.02.20%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] automake@=1.16.5%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] berkeley-db@=18.1.40%gcc@=11.4.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link,run] bzip2@=1.0.8%gcc@=11.4.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] diffutils@=3.10%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=run] findutils@=4.9.0%gcc@=11.4.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] gawk@=5.3.0%gcc@=11.4.0~nls build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=link] gcc-runtime@=11.4.0%gcc@=11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] gdbm@=1.23%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] gettext@=0.22.5%gcc@=11.4.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link virtuals=iconv,libc] glibc@=2.35%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] gmake@=4.4.1%gcc@=11.4.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] gmp@=6.2.1%gcc@=11.4.0+cxx build_system=autotools libs=shared,static patches=69ad2e2 arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] libsigsegv@=2.14%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] libtool@=2.4.7%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] libxml2@=2.10.3%gcc@=11.4.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,run] m4@=1.4.19%gcc@=11.4.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] mpc@=1.3.1%gcc@=11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] mpfr@=4.2.1%gcc@=11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] ncurses@=6.5%gcc@=11.4.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link,run] perl@=5.38.0%gcc@=11.4.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=run] pigz@=2.8%gcc@=11.4.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build virtuals=pkgconfig] pkgconf@=2.2.0%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] readline@=8.2%gcc@=11.4.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link] tar@=1.34%gcc@=11.4.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build] texinfo@=7.0.3%gcc@=11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link,run] xz@=5.4.6%gcc@=11.4.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link virtuals=zlib-api] zlib-ng@=2.1.6%gcc@=11.4.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 ^[deptypes=build,link,run] zstd@=1.5.6%gcc@=11.4.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3] is unsatisfiable. Couldn't concretize without changing the existing environment. If you are ok with changing it, try `spack concretize --force`. You could consider setting `concretizer:unify` to `when_possible` or `false` to allow multiple versions of some packages.

The error message is quite verbose, and admittedly complicated, but at the end it gives a useful hint:

You could consider setting `concretizer:unify` to `when_possible` or `false` to allow multiple versions of some packages.

Let’s see what that means.

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 to better visualize the concept:

_images/stacks-unify.svg

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.

Clearly, we can’t respect this requirement, since our roots already contain two different configurations of netlib-scalapack. Let’s set the value to false, and try to re-concretize:

$ spack config add concretizer:unify:false
$ spack concretize
==> Starting concretization pool with 2 processes
==> Environment concretized in 37.78 seconds
==> Concretized gcc@12%gcc@11
[+]  hc3fmfi  gcc@12.3.0%gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3
[+]  mhzfdlk	  ^diffutils@3.10%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3duehf4	  ^gawk@5.3.0%gcc@11.4.0~nls build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  jwy3fyz	      ^libsigsegv@2.14%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  cb6x34k	      ^readline@8.2%gcc@11.4.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  f47qm6q	  ^gcc-runtime@11.4.0%gcc@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  a7drdl4	  ^glibc@2.35%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  qfrotcc	  ^gmake@4.4.1%gcc@11.4.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  5znqdnf	  ^gmp@6.2.1%gcc@11.4.0+cxx build_system=autotools libs=shared,static patches=69ad2e2 arch=linux-ubuntu22.04-x86_64_v3
[+]  ljmgup2	      ^autoconf@2.72%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  p742yhm	      ^automake@1.16.5%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  7d6p4sf	      ^m4@1.4.19%gcc@11.4.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  lop7htu	  ^libtool@2.4.7%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  v4yzc2w	      ^findutils@4.9.0%gcc@11.4.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  t7z22ep	  ^mpc@1.3.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  c42jb45	  ^mpfr@4.2.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  rq5jepf	      ^autoconf-archive@2023.02.20%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  uliw6sp	  ^perl@5.38.0%gcc@11.4.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  br27jq6	      ^berkeley-db@18.1.40%gcc@11.4.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  qmy6dpi	      ^bzip2@1.0.8%gcc@11.4.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  ohbrdtp	      ^gdbm@1.23%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  y6pez2a	  ^texinfo@7.0.3%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  eux6e6v	      ^gettext@0.22.5%gcc@11.4.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  jv5es2y		  ^libxml2@2.10.3%gcc@11.4.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  wx4xfdn		  ^tar@1.34%gcc@11.4.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  gk55zt7		      ^pigz@2.8%gcc@11.4.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  syttnnt		  ^xz@5.4.6%gcc@11.4.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  gk4xs2i	      ^ncurses@6.5%gcc@11.4.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  h3x3l7s		  ^pkgconf@2.2.0%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  xqtp62n	  ^zlib-ng@2.1.6%gcc@11.4.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ew3aaos	  ^zstd@1.5.6%gcc@11.4.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^openblas ^openmpi
 -   4kiidhc  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
 -   636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
 -   7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
 -   tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
 -   a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
 -   ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lhm6hsy		      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   itcqz6x	  ^openmpi@5.0.3%gcc@12.3.0~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-ubuntu22.04-x86_64_v3
 -   so7orfs	      ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   sssghcu	      ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   zf3qbx3		  ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   5ir45vn		      ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   f7j6s4z		      ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   3jhmflq	      ^libevent@2.1.12%gcc@12.3.0+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3qfbro	      ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lu6imec		  ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   ycvznwt	      ^numactl@2.0.14%gcc@12.3.0 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu22.04-x86_64_v3
 -   witkwii	      ^openssh@9.7p1%gcc@12.3.0+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   nn5dx4c		  ^krb5@1.20.1%gcc@12.3.0+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   nleqxiv		      ^bison@3.8.2%gcc@12.3.0~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   x2uvezl		      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ddxcrg5			  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   7lweqai			      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   vvj7472			      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   ri7efzb		  ^libedit@3.1-20230828%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
 -   2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   dsrozes	      ^pmix@5.0.1%gcc@12.3.0~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^mpich ^openblas
 -   bhtne2a  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
 -   636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
 -   7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
 -   tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
 -   a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   kkrar7t	  ^mpich@4.2.1%gcc@12.3.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default arch=linux-ubuntu22.04-x86_64_v3
 -   lu6imec	      ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   rgjhj7a	      ^libfabric@1.21.0%gcc@12.3.0~debug~kdreg~uring build_system=autotools fabrics=sockets,tcp,udp arch=linux-ubuntu22.04-x86_64_v3
 -   zf3qbx3	      ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3qfbro		  ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   5ir45vn		  ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   upw4yvr	      ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   pztnzd3	      ^yaksa@0.3%gcc@12.3.0~cuda~rocm build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   so7orfs		  ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   sssghcu		  ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ciwhyra		  ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
 -   syod3as		      ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3xlyij			  ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ri2ny52			      ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   x2uvezl		      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ddxcrg5			  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   7lweqai			      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   vvj7472			      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   cl63ri3		      ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   m7la4pp		      ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
 -   lhm6hsy		      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   q5uuhah		      ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ofkdrzu		      ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
 -   ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

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 expand our stack further 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 as soon as 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []

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
==> Environment concretized in 36.67 seconds
==> Concretized gcc@12%gcc@11
[+]  hc3fmfi  gcc@12.3.0%gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3
[+]  mhzfdlk	  ^diffutils@3.10%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3duehf4	  ^gawk@5.3.0%gcc@11.4.0~nls build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  jwy3fyz	      ^libsigsegv@2.14%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  cb6x34k	      ^readline@8.2%gcc@11.4.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  f47qm6q	  ^gcc-runtime@11.4.0%gcc@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  a7drdl4	  ^glibc@2.35%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  qfrotcc	  ^gmake@4.4.1%gcc@11.4.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  5znqdnf	  ^gmp@6.2.1%gcc@11.4.0+cxx build_system=autotools libs=shared,static patches=69ad2e2 arch=linux-ubuntu22.04-x86_64_v3
[+]  ljmgup2	      ^autoconf@2.72%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  p742yhm	      ^automake@1.16.5%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  7d6p4sf	      ^m4@1.4.19%gcc@11.4.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  lop7htu	  ^libtool@2.4.7%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  v4yzc2w	      ^findutils@4.9.0%gcc@11.4.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  t7z22ep	  ^mpc@1.3.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  c42jb45	  ^mpfr@4.2.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  rq5jepf	      ^autoconf-archive@2023.02.20%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  uliw6sp	  ^perl@5.38.0%gcc@11.4.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  br27jq6	      ^berkeley-db@18.1.40%gcc@11.4.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  qmy6dpi	      ^bzip2@1.0.8%gcc@11.4.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  ohbrdtp	      ^gdbm@1.23%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  y6pez2a	  ^texinfo@7.0.3%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  eux6e6v	      ^gettext@0.22.5%gcc@11.4.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  jv5es2y		  ^libxml2@2.10.3%gcc@11.4.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  wx4xfdn		  ^tar@1.34%gcc@11.4.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  gk55zt7		      ^pigz@2.8%gcc@11.4.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  syttnnt		  ^xz@5.4.6%gcc@11.4.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  gk4xs2i	      ^ncurses@6.5%gcc@11.4.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  h3x3l7s		  ^pkgconf@2.2.0%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  xqtp62n	  ^zlib-ng@2.1.6%gcc@11.4.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ew3aaos	  ^zstd@1.5.6%gcc@11.4.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^openblas ^openmpi
 -   4kiidhc  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
 -   636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
 -   7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
 -   tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
 -   a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
 -   ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lhm6hsy		      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   itcqz6x	  ^openmpi@5.0.3%gcc@12.3.0~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-ubuntu22.04-x86_64_v3
 -   so7orfs	      ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   sssghcu	      ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   zf3qbx3		  ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   5ir45vn		      ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   f7j6s4z		      ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   3jhmflq	      ^libevent@2.1.12%gcc@12.3.0+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3qfbro	      ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lu6imec		  ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   ycvznwt	      ^numactl@2.0.14%gcc@12.3.0 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu22.04-x86_64_v3
 -   witkwii	      ^openssh@9.7p1%gcc@12.3.0+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   nn5dx4c		  ^krb5@1.20.1%gcc@12.3.0+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   nleqxiv		      ^bison@3.8.2%gcc@12.3.0~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   x2uvezl		      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ddxcrg5			  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   7lweqai			      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   vvj7472			      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   ri7efzb		  ^libedit@3.1-20230828%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
 -   2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   dsrozes	      ^pmix@5.0.1%gcc@12.3.0~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^mpich ^openblas
 -   bhtne2a  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
 -   636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
 -   7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
 -   tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
 -   a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   kkrar7t	  ^mpich@4.2.1%gcc@12.3.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default arch=linux-ubuntu22.04-x86_64_v3
 -   lu6imec	      ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   rgjhj7a	      ^libfabric@1.21.0%gcc@12.3.0~debug~kdreg~uring build_system=autotools fabrics=sockets,tcp,udp arch=linux-ubuntu22.04-x86_64_v3
 -   zf3qbx3	      ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3qfbro		  ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   5ir45vn		  ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   upw4yvr	      ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   pztnzd3	      ^yaksa@0.3%gcc@12.3.0~cuda~rocm build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   so7orfs		  ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   sssghcu		  ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ciwhyra		  ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
 -   syod3as		      ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3xlyij			  ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ri2ny52			      ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   x2uvezl		      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ddxcrg5			  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   7lweqai			      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   vvj7472			      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   cl63ri3		      ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   m7la4pp		      ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
 -   lhm6hsy		      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   q5uuhah		      ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ofkdrzu		      ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
 -   ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^netlib-lapack ^openmpi
 -   cknsmak  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
 -   xyma4ep	  ^amdblis@4.2%gcc@12.3.0~aocl_gemm+blas+cblas~ilp64~logging+suphandling~tracing build_system=makefile libs=shared,static threads=none arch=linux-ubuntu22.04-x86_64_v3
 -   ciwhyra	      ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
 -   q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   syod3as		  ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3xlyij		      ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ri2ny52			  ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   x2uvezl		  ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ddxcrg5		      ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   7lweqai			  ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   vvj7472			  ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   cl63ri3		  ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
 -   oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
 -   a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   lhm6hsy		  ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   q5uuhah		  ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ofkdrzu		  ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
 -   7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
 -   tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   vvhuv65	  ^netlib-lapack@3.11.0%gcc@12.3.0~external-blas~ipo+lapacke+shared~xblas build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3
 -   itcqz6x	  ^openmpi@5.0.3%gcc@12.3.0~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-ubuntu22.04-x86_64_v3
 -   so7orfs	      ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   sssghcu	      ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   zf3qbx3		  ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   5ir45vn		      ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3jhmflq	      ^libevent@2.1.12%gcc@12.3.0+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3qfbro	      ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lu6imec		  ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   ycvznwt	      ^numactl@2.0.14%gcc@12.3.0 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu22.04-x86_64_v3
 -   witkwii	      ^openssh@9.7p1%gcc@12.3.0+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   nn5dx4c		  ^krb5@1.20.1%gcc@12.3.0+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   nleqxiv		      ^bison@3.8.2%gcc@12.3.0~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ri7efzb		  ^libedit@3.1-20230828%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   dsrozes	      ^pmix@5.0.1%gcc@12.3.0~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^mpich ^netlib-lapack
 -   q7ooqre  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
 -   xyma4ep	  ^amdblis@4.2%gcc@12.3.0~aocl_gemm+blas+cblas~ilp64~logging+suphandling~tracing build_system=makefile libs=shared,static threads=none arch=linux-ubuntu22.04-x86_64_v3
 -   ciwhyra	      ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
 -   q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   syod3as		  ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3xlyij		      ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ri2ny52			  ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   x2uvezl		  ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ddxcrg5		      ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
 -   7lweqai			  ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
 -   vvj7472			  ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   cl63ri3		  ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
 -   oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
 -   a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   lhm6hsy		  ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
 -   q5uuhah		  ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ofkdrzu		  ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
 -   7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
 -   tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   ucv4k3y		  ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
 -   wekshz6		      ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
 -   bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
 -   klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   kkrar7t	  ^mpich@4.2.1%gcc@12.3.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default arch=linux-ubuntu22.04-x86_64_v3
 -   lu6imec	      ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
 -   ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
 -   rgjhj7a	      ^libfabric@1.21.0%gcc@12.3.0~debug~kdreg~uring build_system=autotools fabrics=sockets,tcp,udp arch=linux-ubuntu22.04-x86_64_v3
 -   zf3qbx3	      ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   h3qfbro		  ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   5ir45vn		  ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   upw4yvr	      ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   pztnzd3	      ^yaksa@0.3%gcc@12.3.0~cuda~rocm build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   so7orfs		  ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   sssghcu		  ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
 -   y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   vvhuv65	  ^netlib-lapack@3.11.0%gcc@12.3.0~external-blas~ipo+lapacke+shared~xblas build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3

$ spack install
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /usr (external glibc-2.35-gkoh6axllpo5u5oc3rv2vglpxcr22dbx)
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd
==> Installing gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3 [4/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gcc-runtime-12.3.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3.spack
==> Extracting gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3 from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3
  Search: 0.00s.  Fetch: 0.20s.  Install: 0.37s.  Extract: 0.32s.  Relocate: 0.04s.  Total: 0.57s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4
==> Installing gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i [8/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gmake-4.4.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i.spack
==> Extracting gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i from binary cache
==> gmake: Successfully installed gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.06s.  Extract: 0.02s.  Relocate: 0.04s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i
==> Installing ca-certificates-mozilla-2023-05-30-a2gxp4hsy3n6gcnlzkxfqpizqsxlqsn5 [9/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-ca-certificates-mozilla-2023-05-30-a2gxp4hsy3n6gcnlzkxfqpizqsxlqsn5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ca-certificates-mozilla-2023-05-30/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-ca-certificates-mozilla-2023-05-30-a2gxp4hsy3n6gcnlzkxfqpizqsxlqsn5.spack
==> Extracting ca-certificates-mozilla-2023-05-30-a2gxp4hsy3n6gcnlzkxfqpizqsxlqsn5 from binary cache
==> ca-certificates-mozilla: Successfully installed ca-certificates-mozilla-2023-05-30-a2gxp4hsy3n6gcnlzkxfqpizqsxlqsn5
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.01s.  Relocate: 0.04s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ca-certificates-mozilla-2023-05-30-a2gxp4hsy3n6gcnlzkxfqpizqsxlqsn5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h
==> Installing libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4 [11/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libmd-1.0.4/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4.spack
==> Extracting libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4 from binary cache
==> libmd: Successfully installed libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.05s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4
==> Installing zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt [12/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/zlib-ng-2.1.6/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt.spack
==> Extracting zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.04s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt
==> Installing pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7 [13/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pkgconf-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7.spack
==> Extracting pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7 from binary cache
==> pkgconf: Successfully installed pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.02s.  Relocate: 0.04s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7
==> Installing findutils-4.9.0-lu6imecya6og3jwk437lves6sldap3qo [14/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-findutils-4.9.0-lu6imecya6og3jwk437lves6sldap3qo.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/findutils-4.9.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-findutils-4.9.0-lu6imecya6og3jwk437lves6sldap3qo.spack
==> Extracting findutils-4.9.0-lu6imecya6og3jwk437lves6sldap3qo from binary cache
==> findutils: Successfully installed findutils-4.9.0-lu6imecya6og3jwk437lves6sldap3qo
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.06s.  Relocate: 0.02s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/findutils-4.9.0-lu6imecya6og3jwk437lves6sldap3qo
==> Installing libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv [15/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libffi-3.4.6/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv.spack
==> Extracting libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv from binary cache
==> libffi: Successfully installed libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.04s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv
==> Installing libsigsegv-2.14-y3txxwvgnhgipybsguybmurq7ceby3e2 [16/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libsigsegv-2.14-y3txxwvgnhgipybsguybmurq7ceby3e2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libsigsegv-2.14/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libsigsegv-2.14-y3txxwvgnhgipybsguybmurq7ceby3e2.spack
==> Extracting libsigsegv-2.14-y3txxwvgnhgipybsguybmurq7ceby3e2 from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-y3txxwvgnhgipybsguybmurq7ceby3e2
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.04s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libsigsegv-2.14-y3txxwvgnhgipybsguybmurq7ceby3e2
==> Installing libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj [17/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libfabric-1.21.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj.spack
==> Extracting libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj from binary cache
==> libfabric: Successfully installed libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.11s.  Extract: 0.08s.  Relocate: 0.02s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj
==> Installing xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn [18/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/xz-5.4.6/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn.spack
==> Extracting xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn from binary cache
==> xz: Successfully installed xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.14s.  Extract: 0.11s.  Relocate: 0.02s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn
==> Installing zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip [19/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/zstd-1.5.6/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip.spack
==> Extracting zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip from binary cache
==> zstd: Successfully installed zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip
==> Installing diffutils-3.10-6qrh24vuzl5dgp2bbmdggh3qawwoefmr [20/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-diffutils-3.10-6qrh24vuzl5dgp2bbmdggh3qawwoefmr.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/diffutils-3.10/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-diffutils-3.10-6qrh24vuzl5dgp2bbmdggh3qawwoefmr.spack
==> Extracting diffutils-3.10-6qrh24vuzl5dgp2bbmdggh3qawwoefmr from binary cache
==> diffutils: Successfully installed diffutils-3.10-6qrh24vuzl5dgp2bbmdggh3qawwoefmr
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.06s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/diffutils-3.10-6qrh24vuzl5dgp2bbmdggh3qawwoefmr
==> Installing berkeley-db-18.1.40-wekshz6buo52bt36nbkqqclem5g2f2d2 [21/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-berkeley-db-18.1.40-wekshz6buo52bt36nbkqqclem5g2f2d2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/berkeley-db-18.1.40/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-berkeley-db-18.1.40-wekshz6buo52bt36nbkqqclem5g2f2d2.spack
==> Extracting berkeley-db-18.1.40-wekshz6buo52bt36nbkqqclem5g2f2d2 from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-wekshz6buo52bt36nbkqqclem5g2f2d2
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.14s.  Extract: 0.10s.  Relocate: 0.02s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/berkeley-db-18.1.40-wekshz6buo52bt36nbkqqclem5g2f2d2
==> Installing util-macros-1.19.3-5ir45vn2xisnui7qhbqcbn3y6yjqbgnr [22/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-util-macros-1.19.3-5ir45vn2xisnui7qhbqcbn3y6yjqbgnr.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/util-macros-1.19.3/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-util-macros-1.19.3-5ir45vn2xisnui7qhbqcbn3y6yjqbgnr.spack
==> Extracting util-macros-1.19.3-5ir45vn2xisnui7qhbqcbn3y6yjqbgnr from binary cache
==> util-macros: Successfully installed util-macros-1.19.3-5ir45vn2xisnui7qhbqcbn3y6yjqbgnr
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/util-macros-1.19.3-5ir45vn2xisnui7qhbqcbn3y6yjqbgnr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz
==> Installing libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h [24/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libbsd-0.12.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h.spack
==> Extracting libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h from binary cache
==> libbsd: Successfully installed libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.11s.  Extract: 0.06s.  Relocate: 0.04s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h
==> Installing pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs [25/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pigz-2.8/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs.spack
==> Extracting pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs from binary cache
==> pigz: Successfully installed pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.04s.  Extract: 0.01s.  Relocate: 0.02s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs
==> Installing ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2 [26/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ncurses-6.5/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2.spack
==> Extracting ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2 from binary cache
==> ncurses: Successfully installed ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.71s.  Extract: 0.68s.  Relocate: 0.02s.  Total: 0.73s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2
==> Installing util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h [27/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/util-linux-uuid-2.38.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h.spack
==> Extracting util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.13s.  Extract: 0.10s.  Relocate: 0.01s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h
==> Installing libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc [28/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libxml2-2.10.3/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc.spack
==> Extracting libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc from binary cache
==> libxml2: Successfully installed libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.15s.  Extract: 0.12s.  Relocate: 0.03s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc
==> Installing bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj [29/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/bzip2-1.0.8/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj.spack
==> Extracting bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.02s.  Relocate: 0.03s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj
==> Installing nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2 [30/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/nghttp2-1.57.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2.spack
==> Extracting nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2 from binary cache
==> nghttp2: Successfully installed nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.03s.  Relocate: 0.04s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2
==> Installing m4-1.4.19-lvqszzirn3ufzyzgvnsztj4xapf5ppjj [31/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-m4-1.4.19-lvqszzirn3ufzyzgvnsztj4xapf5ppjj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/m4-1.4.19/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-m4-1.4.19-lvqszzirn3ufzyzgvnsztj4xapf5ppjj.spack
==> Extracting m4-1.4.19-lvqszzirn3ufzyzgvnsztj4xapf5ppjj from binary cache
==> m4: Successfully installed m4-1.4.19-lvqszzirn3ufzyzgvnsztj4xapf5ppjj
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.04s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/m4-1.4.19-lvqszzirn3ufzyzgvnsztj4xapf5ppjj
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh
==> Installing expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg [33/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/expat-2.6.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg.spack
==> Extracting expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg from binary cache
==> expat: Successfully installed expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.06s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg
==> Installing libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5 [34/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libedit-3.1-20230828/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5.spack
==> Extracting libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5 from binary cache
==> libedit: Successfully installed libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.04s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5
==> Installing readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4 [35/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/readline-8.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4.spack
==> Extracting readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4 from binary cache
==> readline: Successfully installed readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4
==> Installing tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp [36/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/tar-1.34/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp.spack
==> Extracting tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp from binary cache
==> tar: Successfully installed tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.13s.  Extract: 0.09s.  Relocate: 0.03s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp
==> Installing libtool-2.4.7-h3qfbro6g434k2phwtdzydt7y6wmjny4 [37/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libtool-2.4.7-h3qfbro6g434k2phwtdzydt7y6wmjny4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libtool-2.4.7/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libtool-2.4.7-h3qfbro6g434k2phwtdzydt7y6wmjny4.spack
==> Extracting libtool-2.4.7-h3qfbro6g434k2phwtdzydt7y6wmjny4 from binary cache
==> libtool: Successfully installed libtool-2.4.7-h3qfbro6g434k2phwtdzydt7y6wmjny4
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.05s.  Relocate: 0.03s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libtool-2.4.7-h3qfbro6g434k2phwtdzydt7y6wmjny4
==> Installing bison-3.8.2-nleqxivwtqhdjanly6lxymvvwk3d5nfw [38/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-bison-3.8.2-nleqxivwtqhdjanly6lxymvvwk3d5nfw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/bison-3.8.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-bison-3.8.2-nleqxivwtqhdjanly6lxymvvwk3d5nfw.spack
==> Extracting bison-3.8.2-nleqxivwtqhdjanly6lxymvvwk3d5nfw from binary cache
==> bison: Successfully installed bison-3.8.2-nleqxivwtqhdjanly6lxymvvwk3d5nfw
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.15s.  Extract: 0.11s.  Relocate: 0.02s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/bison-3.8.2-nleqxivwtqhdjanly6lxymvvwk3d5nfw
==> Installing gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz [39/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gdbm-1.23/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz.spack
==> Extracting gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz from binary cache
==> gdbm: Successfully installed gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz
==> Installing sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt [40/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/sqlite-3.43.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt.spack
==> Extracting sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt from binary cache
==> sqlite: Successfully installed sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.34s.  Extract: 0.29s.  Relocate: 0.04s.  Total: 0.35s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt
==> Installing gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt [41/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gettext-0.22.5/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt.spack
==> Extracting gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt from binary cache
==> gettext: Successfully installed gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.76s.  Extract: 0.66s.  Relocate: 0.08s.  Total: 0.78s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt
==> Installing libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh [42/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libpciaccess-0.17/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh.spack
==> Extracting libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.02s.  Relocate: 0.03s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh
==> Installing perl-5.38.0-ucv4k3yxrccxecds7erl26s7g4lzqsce [43/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-perl-5.38.0-ucv4k3yxrccxecds7erl26s7g4lzqsce.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/perl-5.38.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-perl-5.38.0-ucv4k3yxrccxecds7erl26s7g4lzqsce.spack
==> Extracting perl-5.38.0-ucv4k3yxrccxecds7erl26s7g4lzqsce from binary cache
==> perl: Successfully installed perl-5.38.0-ucv4k3yxrccxecds7erl26s7g4lzqsce
  Search: 0.00s.  Fetch: 0.02s.  Install: 1.01s.  Extract: 0.76s.  Relocate: 0.22s.  Total: 1.02s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/perl-5.38.0-ucv4k3yxrccxecds7erl26s7g4lzqsce
==> Installing hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy [44/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/hwloc-2.9.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy.spack
==> Extracting hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy from binary cache
==> hwloc: Successfully installed hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.25s.  Extract: 0.20s.  Relocate: 0.04s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy
==> Installing openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx [45/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openblas-0.3.26/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx.spack
==> Extracting openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx from binary cache
==> openblas: Successfully installed openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx
  Search: 0.00s.  Fetch: 0.02s.  Install: 0.93s.  Extract: 0.82s.  Relocate: 0.08s.  Total: 0.95s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx
==> Installing autoconf-2.72-so7orfshxi2d4dzz37p7tj6lwve4f66b [46/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-autoconf-2.72-so7orfshxi2d4dzz37p7tj6lwve4f66b.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/autoconf-2.72/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-autoconf-2.72-so7orfshxi2d4dzz37p7tj6lwve4f66b.spack
==> Extracting autoconf-2.72-so7orfshxi2d4dzz37p7tj6lwve4f66b from binary cache
==> autoconf: Successfully installed autoconf-2.72-so7orfshxi2d4dzz37p7tj6lwve4f66b
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.11s.  Extract: 0.06s.  Relocate: 0.03s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/autoconf-2.72-so7orfshxi2d4dzz37p7tj6lwve4f66b
==> Installing libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct [47/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libxcrypt-4.4.35/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct.spack
==> Extracting libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.11s.  Extract: 0.03s.  Relocate: 0.04s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct
==> Installing openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko [48/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openssl-3.3.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko.spack
==> Extracting openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko from binary cache
==> openssl: Successfully installed openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.27s.  Extract: 0.23s.  Relocate: 0.03s.  Total: 0.29s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko
==> Installing automake-1.16.5-sssghcu4ho3s6mr35moe2wkroph6ylsz [49/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-automake-1.16.5-sssghcu4ho3s6mr35moe2wkroph6ylsz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/automake-1.16.5/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-automake-1.16.5-sssghcu4ho3s6mr35moe2wkroph6ylsz.spack
==> Extracting automake-1.16.5-sssghcu4ho3s6mr35moe2wkroph6ylsz from binary cache
==> automake: Successfully installed automake-1.16.5-sssghcu4ho3s6mr35moe2wkroph6ylsz
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.11s.  Extract: 0.06s.  Relocate: 0.04s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/automake-1.16.5-sssghcu4ho3s6mr35moe2wkroph6ylsz
==> Installing krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp [50/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/krb5-1.20.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp.spack
==> Extracting krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp from binary cache
==> krb5: Successfully installed krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.19s.  Extract: 0.11s.  Relocate: 0.06s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp
==> Installing python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk [51/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/python-3.11.7/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk.spack
==> Extracting python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk from binary cache
==> python: Successfully installed python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk
  Search: 0.00s.  Fetch: 0.06s.  Install: 3.65s.  Extract: 3.44s.  Relocate: 0.18s.  Total: 3.70s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk
==> Installing libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s [52/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libevent-2.1.12/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s.spack
==> Extracting libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s from binary cache
==> libevent: Successfully installed libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.16s.  Extract: 0.09s.  Relocate: 0.04s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s
==> Installing curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3 [53/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/curl-8.7.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3.spack
==> Extracting curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3 from binary cache
==> curl: Successfully installed curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.18s.  Extract: 0.14s.  Relocate: 0.02s.  Total: 0.19s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3
==> Installing numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng [54/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/numactl-2.0.14/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng.spack
==> Extracting numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng from binary cache
==> numactl: Successfully installed numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.03s.  Relocate: 0.04s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng
==> Installing openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv [55/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openssh-9.7p1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv.spack
==> Extracting openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv from binary cache
==> openssh: Successfully installed openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.18s.  Extract: 0.10s.  Relocate: 0.06s.  Total: 0.18s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv
==> Installing yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t [56/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/yaksa-0.3/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t.spack
==> Extracting yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t from binary cache
==> yaksa: Successfully installed yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t
  Search: 0.00s.  Fetch: 0.02s.  Install: 0.83s.  Extract: 0.72s.  Relocate: 0.08s.  Total: 0.85s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t
==> Installing amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36 [57/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/amdblis-4.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36.spack
==> Extracting amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36 from binary cache
==> amdblis: Successfully installed amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36
  Search: 0.00s.  Fetch: 0.05s.  Install: 0.21s.  Extract: 0.14s.  Relocate: 0.04s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36
==> Installing pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23 [58/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pmix-5.0.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23.spack
==> Extracting pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23 from binary cache
==> pmix: Successfully installed pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.27s.  Extract: 0.20s.  Relocate: 0.05s.  Total: 0.28s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23
==> Installing cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34 [59/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/cmake-3.27.9/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34.spack
==> Extracting cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34 from binary cache
==> cmake: Successfully installed cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34
  Search: 0.00s.  Fetch: 0.02s.  Install: 1.40s.  Extract: 1.26s.  Relocate: 0.12s.  Total: 1.42s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34
==> Installing mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif [60/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/mpich-4.2.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif.spack
==> Extracting mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif from binary cache
==> mpich: Successfully installed mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif
  Search: 0.00s.  Fetch: 0.02s.  Install: 1.10s.  Extract: 1.00s.  Relocate: 0.07s.  Total: 1.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif
==> Installing openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2 [61/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openmpi-5.0.3/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2.spack
==> Extracting openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2 from binary cache
==> openmpi: Successfully installed openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2
  Search: 0.00s.  Fetch: 0.02s.  Install: 1.04s.  Extract: 0.93s.  Relocate: 0.08s.  Total: 1.06s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2
==> Installing netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu [62/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-lapack-3.11.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu.spack
==> Extracting netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu from binary cache
==> netlib-lapack: Successfully installed netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.21s.  Extract: 0.16s.  Relocate: 0.02s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu
==> Installing netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz [63/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz.spack
==> Extracting netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.18s.  Extract: 0.10s.  Relocate: 0.05s.  Total: 0.19s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz
==> Installing netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct [64/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct.spack
==> Extracting netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.23s.  Extract: 0.11s.  Relocate: 0.10s.  Total: 0.24s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct
==> Installing netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6 [65/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6.spack
==> Extracting netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6 from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.20s.  Extract: 0.11s.  Relocate: 0.06s.  Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6
==> Installing netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu [66/66]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu.spack
==> Extracting netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu from binary cache
==> netlib-scalapack: Successfully installed netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.19s.  Extract: 0.11s.  Relocate: 0.05s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu

Let’s double check which specs we have installed so far:

$ spack find
==> In environment /home/spack/stacks
==> 5 root specs
-- no arch / gcc@11 ---------------------------------------------
[+] gcc@12%gcc@11

-- no arch / gcc@12 ---------------------------------------------
[+] netlib-scalapack%gcc@12  [+] netlib-scalapack%gcc@12
[+] netlib-scalapack%gcc@12  [+] netlib-scalapack%gcc@12

==> Installed packages
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
autoconf@2.72		     gcc@12.3.0 	 libtool@2.4.7	 pkgconf@2.2.0
autoconf-archive@2023.02.20  gcc-runtime@11.4.0  libxml2@2.10.3  readline@8.2
automake@1.16.5 	     gdbm@1.23		 m4@1.4.19	 tar@1.34
berkeley-db@18.1.40	     gettext@0.22.5	 mpc@1.3.1	 texinfo@7.0.3
bzip2@1.0.8		     glibc@2.35 	 mpfr@4.2.1	 xz@5.4.6
diffutils@3.10		     gmake@4.4.1	 ncurses@6.5	 zlib-ng@2.1.6
findutils@4.9.0 	     gmp@6.2.1		 perl@5.38.0	 zstd@1.5.6
gawk@5.3.0		     libsigsegv@2.14	 pigz@2.8

-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
amdblis@4.2			    libedit@3.1-20230828    openblas@0.3.26
autoconf@2.72			    libevent@2.1.12	    openmpi@5.0.3
automake@1.16.5 		    libfabric@1.21.0	    openssh@9.7p1
berkeley-db@18.1.40		    libffi@3.4.6	    openssl@3.3.0
bison@3.8.2			    libmd@1.0.4 	    perl@5.38.0
bzip2@1.0.8			    libpciaccess@0.17	    pigz@2.8
ca-certificates-mozilla@2023-05-30  libsigsegv@2.14	    pkgconf@2.2.0
cmake@3.27.9			    libtool@2.4.7	    pmix@5.0.1
curl@8.7.1			    libxcrypt@4.4.35	    python@3.11.7
diffutils@3.10			    libxml2@2.10.3	    readline@8.2
expat@2.6.2			    m4@1.4.19		    sqlite@3.43.2
findutils@4.9.0 		    mpich@4.2.1 	    tar@1.34
gcc-runtime@12.3.0		    ncurses@6.5 	    util-linux-uuid@2.38.1
gdbm@1.23			    netlib-lapack@3.11.0    util-macros@1.19.3
gettext@0.22.5			    netlib-scalapack@2.2.0  xz@5.4.6
glibc@2.35			    netlib-scalapack@2.2.0  yaksa@0.3
gmake@4.4.1			    netlib-scalapack@2.2.0  zlib-ng@2.1.6
hwloc@2.9.1			    netlib-scalapack@2.2.0  zstd@1.5.6
krb5@1.20.1			    nghttp2@1.57.0
libbsd@0.12.1			    numactl@2.0.14
==> 89 installed packages

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 for people maintaining it, Spack allows to define lists of constraints under the definitions attribute, and expand them later when needed. Let’s rewrite our manifest in that sense:

# 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []

And check that re-concretizing won’t change the environment:

$ spack concretize
$ spack find -l
==> In environment /home/spack/stacks
==> 5 root specs
-- no arch / gcc@11 ---------------------------------------------
[+] hc3fmfi gcc@12%gcc@11

-- no arch / gcc@12 ---------------------------------------------
[+] q7ooqre netlib-scalapack%gcc@12  [+] cknsmak netlib-scalapack%gcc@12
[+] bhtne2a netlib-scalapack%gcc@12  [+] 4kiidhc netlib-scalapack%gcc@12

==> Installed packages
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
ljmgup2 autoconf@2.72		     eux6e6v gettext@0.22.5   uliw6sp perl@5.38.0
rq5jepf autoconf-archive@2023.02.20  a7drdl4 glibc@2.35       gk55zt7 pigz@2.8
p742yhm automake@1.16.5 	     qfrotcc gmake@4.4.1      h3x3l7s pkgconf@2.2.0
br27jq6 berkeley-db@18.1.40	     5znqdnf gmp@6.2.1	      cb6x34k readline@8.2
qmy6dpi bzip2@1.0.8		     jwy3fyz libsigsegv@2.14  wx4xfdn tar@1.34
mhzfdlk diffutils@3.10		     lop7htu libtool@2.4.7    y6pez2a texinfo@7.0.3
v4yzc2w findutils@4.9.0 	     jv5es2y libxml2@2.10.3   syttnnt xz@5.4.6
3duehf4 gawk@5.3.0		     7d6p4sf m4@1.4.19	      xqtp62n zlib-ng@2.1.6
hc3fmfi gcc@12.3.0		     t7z22ep mpc@1.3.1	      ew3aaos zstd@1.5.6
f47qm6q gcc-runtime@11.4.0	     c42jb45 mpfr@4.2.1
ohbrdtp gdbm@1.23		     gk4xs2i ncurses@6.5

-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
xyma4ep amdblis@4.2			    upw4yvr libxml2@2.10.3
so7orfs autoconf@2.72			    lvqszzi m4@1.4.19
sssghcu automake@1.16.5 		    kkrar7t mpich@4.2.1
wekshz6 berkeley-db@18.1.40		    bu5gu2m ncurses@6.5
nleqxiv bison@3.8.2			    vvhuv65 netlib-lapack@3.11.0
q4g6mhd bzip2@1.0.8			    q7ooqre netlib-scalapack@2.2.0
a2gxp4h ca-certificates-mozilla@2023-05-30  4kiidhc netlib-scalapack@2.2.0
636pa3o cmake@3.27.9			    bhtne2a netlib-scalapack@2.2.0
7du7zou curl@8.7.1			    cknsmak netlib-scalapack@2.2.0
6qrh24v diffutils@3.10			    tmufr6s nghttp2@1.57.0
syod3as expat@2.6.2			    ycvznwt numactl@2.0.14
lu6imec findutils@4.9.0 		    eyhwdj2 openblas@0.3.26
hbicyv7 gcc-runtime@12.3.0		    itcqz6x openmpi@5.0.3
e6zxtqt gdbm@1.23			    witkwii openssh@9.7p1
x2uvezl gettext@0.22.5			    oxocupu openssl@3.3.0
gkoh6ax glibc@2.35			    ucv4k3y perl@5.38.0
3eefcyu gmake@4.4.1			    7lweqai pigz@2.8
ui75hni hwloc@2.9.1			    2t42aln pkgconf@2.2.0
nn5dx4c krb5@1.20.1			    dsrozes pmix@5.0.1
h3xlyij libbsd@0.12.1			    ciwhyra python@3.11.7
ri7efzb libedit@3.1-20230828		    lhm6hsy readline@8.2
3jhmflq libevent@2.1.12 		    q5uuhah sqlite@3.43.2
rgjhj7a libfabric@1.21.0		    ddxcrg5 tar@1.34
cl63ri3 libffi@3.4.6			    ofkdrzu util-linux-uuid@2.38.1
ri2ny52 libmd@1.0.4			    5ir45vn util-macros@1.19.3
zf3qbx3 libpciaccess@0.17		    f7j6s4z xz@5.4.6
y3txxwv libsigsegv@2.14 		    pztnzd3 yaksa@0.3
h3qfbro libtool@2.4.7			    klmqckv zlib-ng@2.1.6
m7la4pp libxcrypt@4.4.35		    vvj7472 zstd@1.5.6
==> 89 installed packages

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-scypy as an example:

# 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]
  view: false
  concretizer:
    unify: false
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []
$ spack concretize
==> Starting concretization pool with 2 processes
==> Environment concretized in 37.77 seconds
==> Concretized gcc@12%gcc@11
[+]  hc3fmfi  gcc@12.3.0%gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3
[+]  mhzfdlk	  ^diffutils@3.10%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3duehf4	  ^gawk@5.3.0%gcc@11.4.0~nls build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  jwy3fyz	      ^libsigsegv@2.14%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  cb6x34k	      ^readline@8.2%gcc@11.4.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  f47qm6q	  ^gcc-runtime@11.4.0%gcc@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  a7drdl4	  ^glibc@2.35%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  qfrotcc	  ^gmake@4.4.1%gcc@11.4.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  5znqdnf	  ^gmp@6.2.1%gcc@11.4.0+cxx build_system=autotools libs=shared,static patches=69ad2e2 arch=linux-ubuntu22.04-x86_64_v3
[+]  ljmgup2	      ^autoconf@2.72%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  p742yhm	      ^automake@1.16.5%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  7d6p4sf	      ^m4@1.4.19%gcc@11.4.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  lop7htu	  ^libtool@2.4.7%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  v4yzc2w	      ^findutils@4.9.0%gcc@11.4.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  t7z22ep	  ^mpc@1.3.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  c42jb45	  ^mpfr@4.2.1%gcc@11.4.0 build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  rq5jepf	      ^autoconf-archive@2023.02.20%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  uliw6sp	  ^perl@5.38.0%gcc@11.4.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  br27jq6	      ^berkeley-db@18.1.40%gcc@11.4.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  qmy6dpi	      ^bzip2@1.0.8%gcc@11.4.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  ohbrdtp	      ^gdbm@1.23%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  y6pez2a	  ^texinfo@7.0.3%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  eux6e6v	      ^gettext@0.22.5%gcc@11.4.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  jv5es2y		  ^libxml2@2.10.3%gcc@11.4.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  wx4xfdn		  ^tar@1.34%gcc@11.4.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  gk55zt7		      ^pigz@2.8%gcc@11.4.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  syttnnt		  ^xz@5.4.6%gcc@11.4.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  gk4xs2i	      ^ncurses@6.5%gcc@11.4.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  h3x3l7s		  ^pkgconf@2.2.0%gcc@11.4.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  xqtp62n	  ^zlib-ng@2.1.6%gcc@11.4.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ew3aaos	  ^zstd@1.5.6%gcc@11.4.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^openblas ^openmpi
[+]  4kiidhc  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
[+]  636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
[+]  7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
[+]  tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
[+]  a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
[+]  ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lhm6hsy		      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  itcqz6x	  ^openmpi@5.0.3%gcc@12.3.0~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-ubuntu22.04-x86_64_v3
[+]  so7orfs	      ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  sssghcu	      ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  zf3qbx3		  ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  5ir45vn		      ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  f7j6s4z		      ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  3jhmflq	      ^libevent@2.1.12%gcc@12.3.0+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3qfbro	      ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lu6imec		  ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  ycvznwt	      ^numactl@2.0.14%gcc@12.3.0 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu22.04-x86_64_v3
[+]  witkwii	      ^openssh@9.7p1%gcc@12.3.0+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  nn5dx4c		  ^krb5@1.20.1%gcc@12.3.0+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  nleqxiv		      ^bison@3.8.2%gcc@12.3.0~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  x2uvezl		      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ddxcrg5			  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  7lweqai			      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  vvj7472			      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  ri7efzb		  ^libedit@3.1-20230828%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
[+]  2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  dsrozes	      ^pmix@5.0.1%gcc@12.3.0~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^mpich ^openblas
[+]  bhtne2a  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
[+]  636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
[+]  7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
[+]  tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
[+]  a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  kkrar7t	  ^mpich@4.2.1%gcc@12.3.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default arch=linux-ubuntu22.04-x86_64_v3
[+]  lu6imec	      ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  rgjhj7a	      ^libfabric@1.21.0%gcc@12.3.0~debug~kdreg~uring build_system=autotools fabrics=sockets,tcp,udp arch=linux-ubuntu22.04-x86_64_v3
[+]  zf3qbx3	      ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3qfbro		  ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  5ir45vn		  ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  upw4yvr	      ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  pztnzd3	      ^yaksa@0.3%gcc@12.3.0~cuda~rocm build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  so7orfs		  ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  sssghcu		  ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ciwhyra		  ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
[+]  syod3as		      ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3xlyij			  ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ri2ny52			      ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  x2uvezl		      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ddxcrg5			  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  7lweqai			      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  vvj7472			      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  cl63ri3		      ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  m7la4pp		      ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
[+]  lhm6hsy		      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  q5uuhah		      ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ofkdrzu		      ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
[+]  ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^netlib-lapack ^openmpi
[+]  cknsmak  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
[+]  xyma4ep	  ^amdblis@4.2%gcc@12.3.0~aocl_gemm+blas+cblas~ilp64~logging+suphandling~tracing build_system=makefile libs=shared,static threads=none arch=linux-ubuntu22.04-x86_64_v3
[+]  ciwhyra	      ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
[+]  q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  syod3as		  ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3xlyij		      ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ri2ny52			  ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  x2uvezl		  ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ddxcrg5		      ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  7lweqai			  ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  vvj7472			  ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  cl63ri3		  ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
[+]  oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
[+]  a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  lhm6hsy		  ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  q5uuhah		  ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ofkdrzu		  ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
[+]  7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
[+]  tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  vvhuv65	  ^netlib-lapack@3.11.0%gcc@12.3.0~external-blas~ipo+lapacke+shared~xblas build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3
[+]  itcqz6x	  ^openmpi@5.0.3%gcc@12.3.0~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-ubuntu22.04-x86_64_v3
[+]  so7orfs	      ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  sssghcu	      ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  zf3qbx3		  ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  5ir45vn		      ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3jhmflq	      ^libevent@2.1.12%gcc@12.3.0+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3qfbro	      ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lu6imec		  ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  ycvznwt	      ^numactl@2.0.14%gcc@12.3.0 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu22.04-x86_64_v3
[+]  witkwii	      ^openssh@9.7p1%gcc@12.3.0+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  nn5dx4c		  ^krb5@1.20.1%gcc@12.3.0+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  nleqxiv		      ^bison@3.8.2%gcc@12.3.0~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ri7efzb		  ^libedit@3.1-20230828%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  dsrozes	      ^pmix@5.0.1%gcc@12.3.0~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-ubuntu22.04-x86_64_v3

==> Concretized netlib-scalapack%gcc@12 ^mpich ^netlib-lapack
[+]  q7ooqre  netlib-scalapack@2.2.0%gcc@12.3.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-ubuntu22.04-x86_64_v3
[+]  xyma4ep	  ^amdblis@4.2%gcc@12.3.0~aocl_gemm+blas+cblas~ilp64~logging+suphandling~tracing build_system=makefile libs=shared,static threads=none arch=linux-ubuntu22.04-x86_64_v3
[+]  ciwhyra	      ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
[+]  q4g6mhd		  ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  6qrh24v		      ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  syod3as		  ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3xlyij		      ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ri2ny52			  ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  e6zxtqt		  ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  x2uvezl		  ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ddxcrg5		      ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  7lweqai			  ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  vvj7472			  ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  cl63ri3		  ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  m7la4pp		  ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
[+]  oxocupu		  ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
[+]  a2gxp4h		      ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  lhm6hsy		  ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  q5uuhah		  ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ofkdrzu		  ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  f7j6s4z		  ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  636pa3o	  ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
[+]  7du7zou	      ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
[+]  tmufr6s		  ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ucv4k3y		  ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  wekshz6		      ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3eefcyu	  ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  kkrar7t	  ^mpich@4.2.1%gcc@12.3.0~argobots~cuda+fortran+hwloc+hydra+libxml2+pci~rocm+romio~slurm~vci~verbs+wrapperrpath~xpmem build_system=autotools datatype-engine=auto device=ch4 netmod=ofi pmi=default arch=linux-ubuntu22.04-x86_64_v3
[+]  lu6imec	      ^findutils@4.9.0%gcc@12.3.0 build_system=autotools patches=440b954 arch=linux-ubuntu22.04-x86_64_v3
[+]  ui75hni	      ^hwloc@2.9.1%gcc@12.3.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  rgjhj7a	      ^libfabric@1.21.0%gcc@12.3.0~debug~kdreg~uring build_system=autotools fabrics=sockets,tcp,udp arch=linux-ubuntu22.04-x86_64_v3
[+]  zf3qbx3	      ^libpciaccess@0.17%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3qfbro		  ^libtool@2.4.7%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  5ir45vn		  ^util-macros@1.19.3%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  upw4yvr	      ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  2t42aln	      ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  pztnzd3	      ^yaksa@0.3%gcc@12.3.0~cuda~rocm build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  so7orfs		  ^autoconf@2.72%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  sssghcu		  ^automake@1.16.5%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  lvqszzi		  ^m4@1.4.19%gcc@12.3.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-ubuntu22.04-x86_64_v3
[+]  y3txxwv		      ^libsigsegv@2.14%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  vvhuv65	  ^netlib-lapack@3.11.0%gcc@12.3.0~external-blas~ipo+lapacke+shared~xblas build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3

==> Concretized py-scipy%gcc@12 ^openblas
 -   3accefe  py-scipy@1.13.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
[+]  hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
[+]  3eefcyu	      ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  2t42aln	  ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   bsef5cj	  ^py-cython@3.0.8%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   7iqxefn	      ^py-setuptools@69.2.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   ol54hmz	  ^py-meson-python@0.15.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   the5myj	      ^meson@1.3.2%gcc@12.3.0 build_system=python_pip patches=0f0b1bd arch=linux-ubuntu22.04-x86_64_v3
 -   5kcqkc6	      ^py-pyproject-metadata@0.7.1%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   rzruklu		  ^py-packaging@23.1%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   vioo2gj		      ^py-flit-core@3.9.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   lmjalxf	  ^py-numpy@1.26.4%gcc@12.3.0 build_system=python_pip patches=873745d arch=linux-ubuntu22.04-x86_64_v3
 -   uc7d3fn	  ^py-pip@23.1.2%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   ts4hcnh	  ^py-pybind11@2.12.0%gcc@12.3.0~ipo build_system=cmake build_type=Release generator=ninja arch=linux-ubuntu22.04-x86_64_v3
[+]  636pa3o	      ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
[+]  7du7zou		  ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
[+]  tmufr6s		      ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   53tomx2	      ^ninja@1.11.1%gcc@12.3.0+re2c build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   mfbo7dd		  ^re2c@2.2%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   yb2yrlm	  ^py-pythran@0.15.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   54x2nx3	      ^py-beniget@0.4.1%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   qeywms6	      ^py-gast@0.5.4%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   yyr4tu6	      ^py-ply@3.11%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   aqfgdmf	  ^py-wheel@0.41.2%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  ciwhyra	  ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
[+]  q4g6mhd	      ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  6qrh24v		  ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  syod3as	      ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3xlyij		  ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ri2ny52		      ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  e6zxtqt	      ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  x2uvezl	      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ddxcrg5		  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  7lweqai		      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  vvj7472		      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  cl63ri3	      ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  m7la4pp	      ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
[+]  bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  oxocupu	      ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
[+]  a2gxp4h		  ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  lhm6hsy	      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  q5uuhah	      ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ofkdrzu	      ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  f7j6s4z	      ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   p6vzj63	  ^python-venv@1.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3

==> Concretized py-scipy%gcc@12 ^netlib-lapack
 -   arwcuqh  py-scipy@1.13.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
[+]  hbicyv7	  ^gcc-runtime@12.3.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]  gkoh6ax	  ^glibc@2.35%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  vvhuv65	  ^netlib-lapack@3.11.0%gcc@12.3.0~external-blas~ipo+lapacke+shared~xblas build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3
[+]  636pa3o	      ^cmake@3.27.9%gcc@12.3.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3
[+]  7du7zou		  ^curl@8.7.1%gcc@12.3.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-ubuntu22.04-x86_64_v3
[+]  tmufr6s		      ^nghttp2@1.57.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  3eefcyu	      ^gmake@4.4.1%gcc@12.3.0~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  eyhwdj2	  ^openblas@0.3.26%gcc@12.3.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-ubuntu22.04-x86_64_v3
[+]  ucv4k3y	      ^perl@5.38.0%gcc@12.3.0+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-ubuntu22.04-x86_64_v3
[+]  wekshz6		  ^berkeley-db@18.1.40%gcc@12.3.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3
[+]  2t42aln	  ^pkgconf@2.2.0%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   bsef5cj	  ^py-cython@3.0.8%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   7iqxefn	      ^py-setuptools@69.2.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   ol54hmz	  ^py-meson-python@0.15.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   the5myj	      ^meson@1.3.2%gcc@12.3.0 build_system=python_pip patches=0f0b1bd arch=linux-ubuntu22.04-x86_64_v3
 -   5kcqkc6	      ^py-pyproject-metadata@0.7.1%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   rzruklu		  ^py-packaging@23.1%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   vioo2gj		      ^py-flit-core@3.9.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   lf5ml2y	  ^py-numpy@1.26.4%gcc@12.3.0 build_system=python_pip patches=873745d arch=linux-ubuntu22.04-x86_64_v3
 -   uc7d3fn	  ^py-pip@23.1.2%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   ts4hcnh	  ^py-pybind11@2.12.0%gcc@12.3.0~ipo build_system=cmake build_type=Release generator=ninja arch=linux-ubuntu22.04-x86_64_v3
 -   53tomx2	      ^ninja@1.11.1%gcc@12.3.0+re2c build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   mfbo7dd		  ^re2c@2.2%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -   pztxizz	  ^py-pythran@0.15.0%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   54x2nx3	      ^py-beniget@0.4.1%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   qeywms6	      ^py-gast@0.5.4%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   yyr4tu6	      ^py-ply@3.11%gcc@12.3.0 build_system=python_pip arch=linux-ubuntu22.04-x86_64_v3
 -   aqfgdmf	  ^py-wheel@0.41.2%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  ciwhyra	  ^python@3.11.7%gcc@12.3.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-ubuntu22.04-x86_64_v3
[+]  q4g6mhd	      ^bzip2@1.0.8%gcc@12.3.0~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  6qrh24v		  ^diffutils@3.10%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  syod3as	      ^expat@2.6.2%gcc@12.3.0+libbsd build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  h3xlyij		  ^libbsd@0.12.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ri2ny52		      ^libmd@1.0.4%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  e6zxtqt	      ^gdbm@1.23%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  x2uvezl	      ^gettext@0.22.5%gcc@12.3.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  upw4yvr		  ^libxml2@2.10.3%gcc@12.3.0+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ddxcrg5		  ^tar@1.34%gcc@12.3.0 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3
[+]  7lweqai		      ^pigz@2.8%gcc@12.3.0 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3
[+]  vvj7472		      ^zstd@1.5.6%gcc@12.3.0+programs build_system=makefile compression=none libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  cl63ri3	      ^libffi@3.4.6%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  m7la4pp	      ^libxcrypt@4.4.35%gcc@12.3.0~obsolete_api build_system=autotools patches=4885da3 arch=linux-ubuntu22.04-x86_64_v3
[+]  bu5gu2m	      ^ncurses@6.5%gcc@12.3.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-ubuntu22.04-x86_64_v3
[+]  oxocupu	      ^openssl@3.3.0%gcc@12.3.0~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3
[+]  a2gxp4h		  ^ca-certificates-mozilla@2023-05-30%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[+]  lhm6hsy	      ^readline@8.2%gcc@12.3.0 build_system=autotools patches=bbf97f1 arch=linux-ubuntu22.04-x86_64_v3
[+]  q5uuhah	      ^sqlite@3.43.2%gcc@12.3.0+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  ofkdrzu	      ^util-linux-uuid@2.38.1%gcc@12.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]  f7j6s4z	      ^xz@5.4.6%gcc@12.3.0~pic build_system=autotools libs=shared,static arch=linux-ubuntu22.04-x86_64_v3
[+]  klmqckv	      ^zlib-ng@2.1.6%gcc@12.3.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -   p6vzj63	  ^python-venv@1.0%gcc@12.3.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3

Another ability that is often useful, is that of excluding specific entries from a cross-product matrix. We can do that with the exclude keyword, in the same item as the matrix. Let’s 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []

Let’s concretize the environment and install the specs once again:

$ spack concretize
$ spack install
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /usr (external glibc-2.35-gkoh6axllpo5u5oc3rv2vglpxcr22dbx)
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-f47qm6qeplqyahc4zhfpfdnf5mo6gxvd
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gcc-runtime-12.3.0-hbicyv7pq7z2eyfldrbt55wfcvxaukc3
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.6-xqtp62nft6pt5slbdljucwnkl5fxd6x4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-ew3aaosbmf3ts2ylqgi4c6enfmf3m5dr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.2.1-5znqdnf25vtk4ec5s7mk4zkz6i6cz3gq
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libmd-1.0.4-ri2ny52pg4ahlm7jy2atvjse6luuuiz4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ncurses-6.5-bu5gu2m6qwvetojkljnbmnhfoajohix2
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/xz-5.4.6-f7j6s4z7xrbfnxmgb5qixyrqxmmrwcwn
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libfabric-1.21.0-rgjhj7a75nfc6qpulv5dka3blplnsgfj
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libffi-3.4.6-cl63ri3k2kc5beigbruwikb2yfb7d7mv
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/nghttp2-1.57.0-tmufr6sotirffp2gfez6mxk4avcq6km2
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libpciaccess-0.17-zf3qbx3nkqy25w5u52p4bl7huggvffhh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/numactl-2.0.14-ycvznwt35tod4zbvvzj7sb4gdsscy2ng
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openblas-0.3.26-eyhwdj22xauke5xatcyaupny4ubjk6cx
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libxcrypt-4.4.35-m7la4pps42vujgacrwtzjdsuzqxpvdct
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/zstd-1.5.6-vvj7472czu7jtqvlqllnfezk2vfoweip
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-lapack-3.11.0-vvhuv65pezkputxcebe6h6flwzqxfaeu
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/yaksa-0.3-pztnzd3urexub53x2ij7z5qfuhja543t
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gmake-4.4.1-3eefcyuup6akimcsndpnuasho3dhvo4i
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.1-c42jb452v4vwgf63vu3jwhqfru24xq6h
==> Installing re2c-2.2-mfbo7ddhyhglyayz6optkjrglf7n7kc6 [23/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-re2c-2.2-mfbo7ddhyhglyayz6optkjrglf7n7kc6.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/re2c-2.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-re2c-2.2-mfbo7ddhyhglyayz6optkjrglf7n7kc6.spack
==> Extracting re2c-2.2-mfbo7ddhyhglyayz6optkjrglf7n7kc6 from binary cache
==> re2c: Successfully installed re2c-2.2-mfbo7ddhyhglyayz6optkjrglf7n7kc6
  Search: 0.00s.  Fetch: 0.22s.  Install: 0.38s.  Extract: 0.30s.  Relocate: 0.05s.  Total: 0.60s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/re2c-2.2-mfbo7ddhyhglyayz6optkjrglf7n7kc6
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libbsd-0.12.1-h3xlyijm4wqek5mcuegdojo43hlnge5h
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/readline-8.2-lhm6hsyxxnsajkkfuienim5kmort3mu4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/zlib-ng-2.1.6-klmqckvaegntcydjnzuir2dw5edpkayt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/bzip2-1.0.8-q4g6mhdrn33n2qg77honoz3tyxclahfj
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libedit-3.1-20230828-ri7efzbikhinpicqfxzbjrlmzfuv5vj5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/util-linux-uuid-2.38.1-ofkdrzuvkp4tf7padmchhfituyokkq5h
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pkgconf-2.2.0-2t42alnci233bktuvm4vlvwq7pr5lhh7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpc-1.3.1-t7z22epcb4ifdqdft6juyncq7pjlvffz
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/expat-2.6.2-syod3asijkoxtqx7w2izig4waiztpekg
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gdbm-1.23-e6zxtqti4vpfgnqfvd7qtnlbet3mf3hz
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/sqlite-3.43.2-q5uuhah4t4gbkqf7fj7lynqjzuyl2ejt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openssl-3.3.0-oxocupunm3vzco5oxj6qv4iutfufe4ko
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pigz-2.8-7lweqaiatauhwnaectyns4pcbrasztvs
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libxml2-2.10.3-upw4yvrsfhq2n4px45kectz7skvjmbnc
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/libevent-2.1.12-3jhmflq4elhweikwwbgsfz3buglfia6s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/curl-8.7.1-7du7zouhvxer4hlfgdyemoaiw3r7zsd3
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/tar-1.34-ddxcrg5kldvvfwroiz7ehxye3kubihkp
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/hwloc-2.9.1-ui75hniwfymwtl5onuo7oual2bipsaoy
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/cmake-3.27.9-636pa3oqjgv5sqnm2mzmkq6ztpmb2t34
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/gettext-0.22.5-x2uvezlojx3cucddz2o6nmj76yx62lzt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/pmix-5.0.1-dsrozesmhppnjw4ny3trvm6htxnaoy23
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/mpich-4.2.1-kkrar7tr4glw5goquycxkkwabl2fetif
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/python-3.11.7-ciwhyra3czawlhxao2u6yjy2ijcx2huk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/krb5-1.20.1-nn5dx4ck26gs2njcaffnngxfvdj6ckgp
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-bhtne2aam7ihsn23uuewqs2m5pzvausz
==> Installing ninja-1.11.1-53tomx2yow5vhd5vzkjegtsrarhjhxf5 [50/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-ninja-1.11.1-53tomx2yow5vhd5vzkjegtsrarhjhxf5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ninja-1.11.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-ninja-1.11.1-53tomx2yow5vhd5vzkjegtsrarhjhxf5.spack
==> Extracting ninja-1.11.1-53tomx2yow5vhd5vzkjegtsrarhjhxf5 from binary cache
==> ninja: Successfully installed ninja-1.11.1-53tomx2yow5vhd5vzkjegtsrarhjhxf5
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.16s.  Extract: 0.10s.  Relocate: 0.04s.  Total: 0.18s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/ninja-1.11.1-53tomx2yow5vhd5vzkjegtsrarhjhxf5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/amdblis-4.2-xyma4ep55l3wcddfrz3bsvdlshuovy36
==> Installing python-venv-1.0-p6vzj63lcqsnwxs3tl2l3b4rcxsq6ani [52/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-python-venv-1.0-p6vzj63lcqsnwxs3tl2l3b4rcxsq6ani.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/python-venv-1.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-python-venv-1.0-p6vzj63lcqsnwxs3tl2l3b4rcxsq6ani.spack
==> Extracting python-venv-1.0-p6vzj63lcqsnwxs3tl2l3b4rcxsq6ani from binary cache
==> python-venv: Successfully installed python-venv-1.0-p6vzj63lcqsnwxs3tl2l3b4rcxsq6ani
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.07s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/python-venv-1.0-p6vzj63lcqsnwxs3tl2l3b4rcxsq6ani
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openssh-9.7p1-witkwiivhfe72fra7l6ksotd4tx7qamv
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-q7ooqrekk5yhe2hzqxyvjochuofuxuhu
==> Installing py-pip-23.1.2-uc7d3fnpvxytktvhr2jiw2mskchz4mii [55/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pip-23.1.2-uc7d3fnpvxytktvhr2jiw2mskchz4mii.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pip-23.1.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pip-23.1.2-uc7d3fnpvxytktvhr2jiw2mskchz4mii.spack
==> Extracting py-pip-23.1.2-uc7d3fnpvxytktvhr2jiw2mskchz4mii from binary cache
==> py-pip: Successfully installed py-pip-23.1.2-uc7d3fnpvxytktvhr2jiw2mskchz4mii
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.36s.  Extract: 0.32s.  Relocate: 0.02s.  Total: 0.37s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pip-23.1.2-uc7d3fnpvxytktvhr2jiw2mskchz4mii
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/openmpi-5.0.3-itcqz6xotn2rgb4iduwdoqhxfj2xmsa2
==> Installing py-wheel-0.41.2-aqfgdmf3j3o42d6lpr3al4xun7ozujjf [57/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-wheel-0.41.2-aqfgdmf3j3o42d6lpr3al4xun7ozujjf.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-wheel-0.41.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-wheel-0.41.2-aqfgdmf3j3o42d6lpr3al4xun7ozujjf.spack
==> Extracting py-wheel-0.41.2-aqfgdmf3j3o42d6lpr3al4xun7ozujjf from binary cache
==> py-wheel: Successfully installed py-wheel-0.41.2-aqfgdmf3j3o42d6lpr3al4xun7ozujjf
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.04s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-wheel-0.41.2-aqfgdmf3j3o42d6lpr3al4xun7ozujjf
==> Installing py-setuptools-69.2.0-7iqxefncvx7i4arznoydbych7ptr6jhk [58/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-setuptools-69.2.0-7iqxefncvx7i4arznoydbych7ptr6jhk.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-setuptools-69.2.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-setuptools-69.2.0-7iqxefncvx7i4arznoydbych7ptr6jhk.spack
==> Extracting py-setuptools-69.2.0-7iqxefncvx7i4arznoydbych7ptr6jhk from binary cache
==> py-setuptools: Successfully installed py-setuptools-69.2.0-7iqxefncvx7i4arznoydbych7ptr6jhk
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.25s.  Extract: 0.16s.  Relocate: 0.06s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-setuptools-69.2.0-7iqxefncvx7i4arznoydbych7ptr6jhk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-cknsmake4lkgx25usduvtmq2hqc7zaq6
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/netlib-scalapack-2.2.0-4kiidhc6wrekajdiq2dli7utmoe2bgct
==> Installing py-flit-core-3.9.0-vioo2gjey3fowaj736l4eupispuhfpov [61/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-flit-core-3.9.0-vioo2gjey3fowaj736l4eupispuhfpov.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-flit-core-3.9.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-flit-core-3.9.0-vioo2gjey3fowaj736l4eupispuhfpov.spack
==> Extracting py-flit-core-3.9.0-vioo2gjey3fowaj736l4eupispuhfpov from binary cache
==> py-flit-core: Successfully installed py-flit-core-3.9.0-vioo2gjey3fowaj736l4eupispuhfpov
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.12s.  Extract: 0.06s.  Relocate: 0.04s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-flit-core-3.9.0-vioo2gjey3fowaj736l4eupispuhfpov
==> Installing py-ply-3.11-yyr4tu6ve22lgxaibw3cxdkyif4ugjxm [62/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-ply-3.11-yyr4tu6ve22lgxaibw3cxdkyif4ugjxm.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-ply-3.11/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-ply-3.11-yyr4tu6ve22lgxaibw3cxdkyif4ugjxm.spack
==> Extracting py-ply-3.11-yyr4tu6ve22lgxaibw3cxdkyif4ugjxm from binary cache
==> py-ply: Successfully installed py-ply-3.11-yyr4tu6ve22lgxaibw3cxdkyif4ugjxm
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-ply-3.11-yyr4tu6ve22lgxaibw3cxdkyif4ugjxm
==> Installing meson-1.3.2-the5myjv5kwbmmyulku6trpr5kspeusl [63/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-meson-1.3.2-the5myjv5kwbmmyulku6trpr5kspeusl.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/meson-1.3.2/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-meson-1.3.2-the5myjv5kwbmmyulku6trpr5kspeusl.spack
==> Extracting meson-1.3.2-the5myjv5kwbmmyulku6trpr5kspeusl from binary cache
==> meson: Successfully installed meson-1.3.2-the5myjv5kwbmmyulku6trpr5kspeusl
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.23s.  Extract: 0.18s.  Relocate: 0.02s.  Total: 0.24s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/meson-1.3.2-the5myjv5kwbmmyulku6trpr5kspeusl
==> Installing py-cython-3.0.8-bsef5cjztaetdhakh73kq3yhmpuctskl [64/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-cython-3.0.8-bsef5cjztaetdhakh73kq3yhmpuctskl.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-cython-3.0.8/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-cython-3.0.8-bsef5cjztaetdhakh73kq3yhmpuctskl.spack
==> Extracting py-cython-3.0.8-bsef5cjztaetdhakh73kq3yhmpuctskl from binary cache
==> py-cython: Successfully installed py-cython-3.0.8-bsef5cjztaetdhakh73kq3yhmpuctskl
  Search: 0.00s.  Fetch: 0.02s.  Install: 0.63s.  Extract: 0.49s.  Relocate: 0.11s.  Total: 0.65s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-cython-3.0.8-bsef5cjztaetdhakh73kq3yhmpuctskl
==> Installing py-gast-0.5.4-qeywms6zqnk4346ryrn3t4osjha75khd [65/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-gast-0.5.4-qeywms6zqnk4346ryrn3t4osjha75khd.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-gast-0.5.4/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-gast-0.5.4-qeywms6zqnk4346ryrn3t4osjha75khd.spack
==> Extracting py-gast-0.5.4-qeywms6zqnk4346ryrn3t4osjha75khd from binary cache
==> py-gast: Successfully installed py-gast-0.5.4-qeywms6zqnk4346ryrn3t4osjha75khd
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-gast-0.5.4-qeywms6zqnk4346ryrn3t4osjha75khd
==> Installing py-pybind11-2.12.0-ts4hcnhho5vbifbepuipaaycxitlsceb [66/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pybind11-2.12.0-ts4hcnhho5vbifbepuipaaycxitlsceb.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pybind11-2.12.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pybind11-2.12.0-ts4hcnhho5vbifbepuipaaycxitlsceb.spack
==> Extracting py-pybind11-2.12.0-ts4hcnhho5vbifbepuipaaycxitlsceb from binary cache
==> py-pybind11: Successfully installed py-pybind11-2.12.0-ts4hcnhho5vbifbepuipaaycxitlsceb
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.11s.  Extract: 0.06s.  Relocate: 0.02s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pybind11-2.12.0-ts4hcnhho5vbifbepuipaaycxitlsceb
==> Installing py-packaging-23.1-rzruklu5pkjvbbim5ntupxfeqcli2r6d [67/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-packaging-23.1-rzruklu5pkjvbbim5ntupxfeqcli2r6d.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-packaging-23.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-packaging-23.1-rzruklu5pkjvbbim5ntupxfeqcli2r6d.spack
==> Extracting py-packaging-23.1-rzruklu5pkjvbbim5ntupxfeqcli2r6d from binary cache
==> py-packaging: Successfully installed py-packaging-23.1-rzruklu5pkjvbbim5ntupxfeqcli2r6d
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-packaging-23.1-rzruklu5pkjvbbim5ntupxfeqcli2r6d
==> Installing py-beniget-0.4.1-54x2nx35dkcks6cjmyjsgtakkiimu6ep [68/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-beniget-0.4.1-54x2nx35dkcks6cjmyjsgtakkiimu6ep.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-beniget-0.4.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-beniget-0.4.1-54x2nx35dkcks6cjmyjsgtakkiimu6ep.spack
==> Extracting py-beniget-0.4.1-54x2nx35dkcks6cjmyjsgtakkiimu6ep from binary cache
==> py-beniget: Successfully installed py-beniget-0.4.1-54x2nx35dkcks6cjmyjsgtakkiimu6ep
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-beniget-0.4.1-54x2nx35dkcks6cjmyjsgtakkiimu6ep
==> Installing py-pyproject-metadata-0.7.1-5kcqkc6qmjdyvyhdxjpezaqgcpqz2b4c [69/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pyproject-metadata-0.7.1-5kcqkc6qmjdyvyhdxjpezaqgcpqz2b4c.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pyproject-metadata-0.7.1/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pyproject-metadata-0.7.1-5kcqkc6qmjdyvyhdxjpezaqgcpqz2b4c.spack
==> Extracting py-pyproject-metadata-0.7.1-5kcqkc6qmjdyvyhdxjpezaqgcpqz2b4c from binary cache
==> py-pyproject-metadata: Successfully installed py-pyproject-metadata-0.7.1-5kcqkc6qmjdyvyhdxjpezaqgcpqz2b4c
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.08s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pyproject-metadata-0.7.1-5kcqkc6qmjdyvyhdxjpezaqgcpqz2b4c
==> Installing py-meson-python-0.15.0-ol54hmznsdrqfnip2xq4gpnyovmvks2h [70/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-meson-python-0.15.0-ol54hmznsdrqfnip2xq4gpnyovmvks2h.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-meson-python-0.15.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-meson-python-0.15.0-ol54hmznsdrqfnip2xq4gpnyovmvks2h.spack
==> Extracting py-meson-python-0.15.0-ol54hmznsdrqfnip2xq4gpnyovmvks2h from binary cache
==> py-meson-python: Successfully installed py-meson-python-0.15.0-ol54hmznsdrqfnip2xq4gpnyovmvks2h
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.09s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-meson-python-0.15.0-ol54hmznsdrqfnip2xq4gpnyovmvks2h
==> Installing py-numpy-1.26.4-lmjalxfvb3flso2dtk76gvmucslaawdx [71/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-numpy-1.26.4-lmjalxfvb3flso2dtk76gvmucslaawdx.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-numpy-1.26.4/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-numpy-1.26.4-lmjalxfvb3flso2dtk76gvmucslaawdx.spack
==> Extracting py-numpy-1.26.4-lmjalxfvb3flso2dtk76gvmucslaawdx from binary cache
==> py-numpy: Successfully installed py-numpy-1.26.4-lmjalxfvb3flso2dtk76gvmucslaawdx
  Search: 0.00s.  Fetch: 0.02s.  Install: 0.78s.  Extract: 0.58s.  Relocate: 0.16s.  Total: 0.79s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-numpy-1.26.4-lmjalxfvb3flso2dtk76gvmucslaawdx
==> Installing py-pythran-0.15.0-yb2yrlmascxunrmpbwrv5sjfq7bb5prh [72/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pythran-0.15.0-yb2yrlmascxunrmpbwrv5sjfq7bb5prh.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pythran-0.15.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-pythran-0.15.0-yb2yrlmascxunrmpbwrv5sjfq7bb5prh.spack
==> Extracting py-pythran-0.15.0-yb2yrlmascxunrmpbwrv5sjfq7bb5prh from binary cache
==> py-pythran: Successfully installed py-pythran-0.15.0-yb2yrlmascxunrmpbwrv5sjfq7bb5prh
  Search: 0.00s.  Fetch: 0.01s.  Install: 0.92s.  Extract: 0.84s.  Relocate: 0.05s.  Total: 0.93s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-pythran-0.15.0-yb2yrlmascxunrmpbwrv5sjfq7bb5prh
==> Installing py-scipy-1.13.0-3accefewudj4noexr4x3zwvuvffdhtkl [73/73]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-scipy-1.13.0-3accefewudj4noexr4x3zwvuvffdhtkl.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-scipy-1.13.0/linux-ubuntu22.04-x86_64_v3-gcc-12.3.0-py-scipy-1.13.0-3accefewudj4noexr4x3zwvuvffdhtkl.spack
==> Extracting py-scipy-1.13.0-3accefewudj4noexr4x3zwvuvffdhtkl from binary cache
==> py-scipy: Successfully installed py-scipy-1.13.0-3accefewudj4noexr4x3zwvuvffdhtkl
  Search: 0.00s.  Fetch: 0.03s.  Install: 1.53s.  Extract: 1.28s.  Relocate: 0.21s.  Total: 1.56s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/py-scipy-1.13.0-3accefewudj4noexr4x3zwvuvffdhtkl

At this point the environment contains only py-scipy ^openblas. Let’s verify it:

$ spack find -ld py-scipy
==> In environment /home/spack/stacks
==> 6 root specs
-- no arch / gcc@11 ---------------------------------------------
[+] hc3fmfi gcc@12%gcc@11


-- no arch / gcc@12 ---------------------------------------------
[+] q7ooqre netlib-scalapack%gcc@12
     -	------- mpich
     -	------- netlib-lapack

[+] bhtne2a netlib-scalapack%gcc@12
     -	------- mpich
     -	------- openblas

[+] cknsmak netlib-scalapack%gcc@12
     -	------- netlib-lapack
     -	------- openmpi

[+] 4kiidhc netlib-scalapack%gcc@12
     -	------- openblas
     -	------- openmpi

[+] 3accefe py-scipy%gcc@12
     -	------- openblas


==> Installed packages
-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
3accefe py-scipy@1.13.0
hbicyv7     gcc-runtime@12.3.0
gkoh6ax     glibc@2.35
eyhwdj2     openblas@0.3.26
3eefcyu 	gmake@4.4.1
ucv4k3y 	perl@5.38.0
wekshz6 	    berkeley-db@18.1.40
2t42aln     pkgconf@2.2.0
bsef5cj     py-cython@3.0.8
7iqxefn 	py-setuptools@69.2.0
ol54hmz     py-meson-python@0.15.0
the5myj 	meson@1.3.2
5kcqkc6 	py-pyproject-metadata@0.7.1
rzruklu 	    py-packaging@23.1
vioo2gj 		py-flit-core@3.9.0
lmjalxf     py-numpy@1.26.4
uc7d3fn     py-pip@23.1.2
ts4hcnh     py-pybind11@2.12.0
636pa3o 	cmake@3.27.9
7du7zou 	    curl@8.7.1
tmufr6s 		nghttp2@1.57.0
53tomx2 	ninja@1.11.1
mfbo7dd 	    re2c@2.2
yb2yrlm     py-pythran@0.15.0
54x2nx3 	py-beniget@0.4.1
qeywms6 	py-gast@0.5.4
yyr4tu6 	py-ply@3.11
aqfgdmf     py-wheel@0.41.2
ciwhyra     python@3.11.7
q4g6mhd 	bzip2@1.0.8
6qrh24v 	    diffutils@3.10
syod3as 	expat@2.6.2
h3xlyij 	    libbsd@0.12.1
ri2ny52 		libmd@1.0.4
e6zxtqt 	gdbm@1.23
x2uvezl 	gettext@0.22.5
upw4yvr 	    libxml2@2.10.3
ddxcrg5 	    tar@1.34
7lweqai 		pigz@2.8
vvj7472 		zstd@1.5.6
cl63ri3 	libffi@3.4.6
m7la4pp 	libxcrypt@4.4.35
bu5gu2m 	ncurses@6.5
oxocupu 	openssl@3.3.0
a2gxp4h 	    ca-certificates-mozilla@2023-05-30
lhm6hsy 	readline@8.2
q5uuhah 	sqlite@3.43.2
ofkdrzu 	util-linux-uuid@2.38.1
f7j6s4z 	xz@5.4.6
klmqckv 	zlib-ng@2.1.6
p6vzj63     python-venv@1.0

==> 1 installed package

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

platform

The spack platform name for this machine

os

The default spack os name and version string for this machine

target

The default spack target string for this machine

architecture

The default spack architecture string platform-os-target for this machine

arch

Alias for architecture

env

A dictionary representing the users environment variables

re

The python re module for regex

hostname

The hostname of this node

Let’s say we only want to limit to just use 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []

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.

Let’s first check what happens when we concretize and don’t set any environment variable:

$ spack concretize
$ spack find -cl netlib-scalapack
==> In environment /home/spack/stacks
==> 4 root specs
-- no arch / gcc@11 ---------------------------------------------
[+] hc3fmfi gcc@12%gcc@11

-- no arch / gcc@12 ---------------------------------------------
[+] q7ooqre netlib-scalapack%gcc@12  [+] 3accefe py-scipy%gcc@12
[+] bhtne2a netlib-scalapack%gcc@12

==> Concretized roots
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
hc3fmfi gcc@12.3.0

-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
q7ooqre netlib-scalapack@2.2.0	bhtne2a netlib-scalapack@2.2.0	3accefe py-scipy@1.13.0

==> Installed packages
-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
q7ooqre netlib-scalapack@2.2.0	bhtne2a netlib-scalapack@2.2.0
==> 2 installed packages

As we expected now we are only using mpich as an MPI provider. To get openmpi back we just 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 / gcc@11 ---------------------------------------------
[+] hc3fmfi gcc@12%gcc@11

-- no arch / gcc@12 ---------------------------------------------
[+] q7ooqre netlib-scalapack%gcc@12  [+] 4kiidhc netlib-scalapack%gcc@12
[+] bhtne2a netlib-scalapack%gcc@12  [+] 3accefe py-scipy%gcc@12
[+] cknsmak netlib-scalapack%gcc@12

==> Concretized roots
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
hc3fmfi gcc@12.3.0

-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
q7ooqre netlib-scalapack@2.2.0	bhtne2a netlib-scalapack@2.2.0	3accefe py-scipy@1.13.0
4kiidhc netlib-scalapack@2.2.0	cknsmak netlib-scalapack@2.2.0

==> Installed packages
-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
q7ooqre netlib-scalapack@2.2.0	bhtne2a netlib-scalapack@2.2.0
4kiidhc netlib-scalapack@2.2.0	cknsmak netlib-scalapack@2.2.0
==> 4 installed packages

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. If instead you want to create a buildcache you can:

$ spack gpg create <name> <e-mail>
$ spack buildcache push ./mirror

In that case, 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. If you are installing a large environment, and have at disposal a beefy build node, you might need to start more installations in parallel to make an optimal use of the resources. This can be done 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.

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. Let’s 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []
  view:
    default:
      root: views/default
      select: ['%gcc@12']
      exclude: [^mpich, ^netlib-lapack]
    full:
      root: views/full
      projections:
        ^mpi^lapack: '{compiler.name}-{compiler.version}/{^mpi.name}-{^mpi.version}-{^lapack.name}-{^lapack.version}'
        ^lapack: '{compiler.name}-{compiler.version}/{^lapack.name}-{^lapack.version}'
        all: '{compiler.name}-{compiler.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 constrains.

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 to always keep it last in projections.

Let’s concretize to regenerate the views, and check their structure:

$ spack 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				libmd.so.0.0.5
gettext 			libmenu.a
krb5				libmenu.so
libasan.so.8			libmenu.so.6
libasprintf.a			libmenu.so.6.5
libasprintf.so			libmenu_g.a
libasprintf.so.0		libmenuw.a
libasprintf.so.0.0.0		libmenuw.so
libatomic.so.1			libmenuw.so.6
libblas.so			libmenuw.so.6.5
libblas.so.3			libmenuw_g.a
libblas.so.3.11.0		libmpi.a
libblis.a			libmpi.so
libblis.so			libmpi.so.12
libblis.so.4			libmpi.so.12.4.1
libblis.so.4.2.0		libmpi.so.40
libbsd-ctor.a			libmpi.so.40.40.3
libbsd.a			libmpi_mpifh.so
libbsd.so			libmpi_mpifh.so.40
libbsd.so.0			libmpi_mpifh.so.40.40.0
libbsd.so.0.12.1		libmpi_usempi_ignore_tkr.so
libbz2.a			libmpi_usempi_ignore_tkr.so.40
libbz2.so			libmpi_usempi_ignore_tkr.so.40.40.0
libbz2.so.1			libmpi_usempif08.so
libbz2.so.1.0			libmpi_usempif08.so.40
libbz2.so.1.0.8 		libmpi_usempif08.so.40.40.1
libcblas.so			libmpich.so
libcblas.so.3			libmpichcxx.so
libcblas.so.3.11.0		libmpichf90.so
libcom_err.so			libmpicxx.a
libcom_err.so.3 		libmpicxx.so
libcom_err.so.3.0		libmpicxx.so.12
libcrypt.a			libmpicxx.so.12.4.1
libcrypt.so			libmpifort.a
libcrypt.so.2			libmpifort.so
libcrypt.so.2.0.0		libmpifort.so.12
libcurses.so			libmpifort.so.12.4.1
libedit.a			libmpl.so
libedit.so			libncurses++.a
libedit.so.0			libncurses++.so
libedit.so.0.0.72		libncurses++.so.6
libevent-2.1.so.7		libncurses++.so.6.5
libevent-2.1.so.7.0.1		libncurses++_g.a
libevent.a			libncurses++w.a
libevent.so			libncurses++w.so
libevent_core-2.1.so.7		libncurses++w.so.6
libevent_core-2.1.so.7.0.1	libncurses++w.so.6.5
libevent_core.a 		libncurses++w_g.a
libevent_core.so		libncurses.a
libevent_extra-2.1.so.7 	libncurses.so
libevent_extra-2.1.so.7.0.1	libncurses.so.6
libevent_extra.a		libncurses.so.6.5
libevent_extra.so		libncurses_g.a
libevent_openssl-2.1.so.7	libncursesw.a
libevent_openssl-2.1.so.7.0.1	libncursesw.so
libevent_openssl.a		libncursesw.so.6
libevent_openssl.so		libncursesw.so.6.5
libevent_pthreads-2.1.so.7	libncursesw_g.a
libevent_pthreads-2.1.so.7.0.1	libnuma.a
libevent_pthreads.a		libnuma.so
libevent_pthreads.so		libnuma.so.1
libexpat.a			libnuma.so.1.0.0
libexpat.so			libopa.so
libexpat.so.1			libopen-pal.so
libexpat.so.1.9.2		libopen-pal.so.80
libfabric.a			libopen-pal.so.80.0.3
libfabric.so			libopenblas-r0.3.26.a
libfabric.so.1			libopenblas-r0.3.26.so
libfabric.so.1.24.0		libopenblas.a
libffi.a			libopenblas.so
libffi.so			libopenblas.so.0
libffi.so.8			libpanel.a
libffi.so.8.1.4 		libpanel.so
libfmpich.so			libpanel.so.6
libform.a			libpanel.so.6.5
libform.so			libpanel_g.a
libform.so.6			libpanelw.a
libform.so.6.5			libpanelw.so
libform_g.a			libpanelw.so.6
libformw.a			libpanelw.so.6.5
libformw.so			libpanelw_g.a
libformw.so.6			libpciaccess.a
libformw.so.6.5 		libpciaccess.so
libformw_g.a			libpciaccess.so.0
libgcc_s.so.1			libpciaccess.so.0.11.1
libgdbm.a			libpmix.a
libgdbm.so			libpmix.so
libgdbm.so.6			libpmix.so.2
libgdbm.so.6.0.0		libpmix.so.2.13.1
libgdbm_compat.a		libprrte.so
libgdbm_compat.so		libprrte.so.3
libgdbm_compat.so.4		libprrte.so.3.0.5
libgdbm_compat.so.4.0.0 	libpython3.11.so
libgettextlib-0.22.5.so 	libpython3.11.so.1.0
libgettextlib.a 		libpython3.so
libgettextlib.so		libquadmath.so.0
libgettextpo.a			libreadline.a
libgettextpo.so 		libreadline.so
libgettextpo.so.0		libreadline.so.8
libgettextpo.so.0.5.10		libreadline.so.8.2
libgettextsrc-0.22.5.so 	libscalapack.so
libgettextsrc.a 		libsqlite3.a
libgettextsrc.so		libsqlite3.so
libgfortran.so.5		libsqlite3.so.0
libgomp.so.1			libsqlite3.so.0.8.6
libgssapi_krb5.so		libstdc++.so.6
libgssapi_krb5.so.2		libtextstyle.a
libgssapi_krb5.so.2.2		libtextstyle.so
libgssrpc.so			libtextstyle.so.0
libgssrpc.so.4			libtextstyle.so.0.2.1
libgssrpc.so.4.2		libtinfo.a
libhistory.a			libtinfo.so
libhistory.so			libtinfo.so.6
libhistory.so.8 		libtinfo.so.6.5
libhistory.so.8.2		libtinfo_g.a
libhwloc.a			libtinfow.a
libhwloc.so			libtinfow.so
libhwloc.so.15			libtinfow.so.6
libhwloc.so.15.6.2		libtinfow.so.6.5
libintl.a			libtinfow_g.a
libintl.so			libtmglib.so
libintl.so.8			libtmglib.so.3
libintl.so.8.4.0		libtmglib.so.3.11.0
libitm.so.1			libtsan.so.2
libk5crypto.so			libubsan.so.1
libk5crypto.so.3		libuuid.a
libk5crypto.so.3.1		libuuid.so
libkadm5clnt.so 		libuuid.so.1
libkadm5clnt_mit.so		libuuid.so.1.3.0
libkadm5clnt_mit.so.12		libverto.so
libkadm5clnt_mit.so.12.0	libverto.so.0
libkadm5srv.so			libverto.so.0.0
libkadm5srv_mit.so		libxml2.so
libkadm5srv_mit.so.12		libxml2.so.2
libkadm5srv_mit.so.12.0 	libxml2.so.2.10.3
libkdb5.so			libyaksa.a
libkdb5.so.10			libyaksa.so
libkdb5.so.10.0 		libyaksa.so.0
libkrad.so			libyaksa.so.0.0.0
libkrad.so.0			libz.a
libkrad.so.0.0			libz.so
libkrb5.so			libz.so.1
libkrb5.so.3			libz.so.1.3.0.zlib-ng
libkrb5.so.3.3			libzstd.a
libkrb5support.so		libzstd.so
libkrb5support.so.0		libzstd.so.1
libkrb5support.so.0.1		libzstd.so.1.5.6
liblapack.so			mpi.mod
liblapack.so.3			mpi_ext.mod
liblapack.so.3.11.0		mpi_f08.mod
liblapacke.so			mpi_f08_callbacks.mod
liblapacke.so.3 		mpi_f08_ext.mod
liblapacke.so.3.11.0		mpi_f08_interfaces.mod
liblsan.so.0			mpi_f08_interfaces_callbacks.mod
liblzma.a			mpi_f08_types.mod
liblzma.so			mpi_types.mod
liblzma.so.5			openmpi
liblzma.so.5.4.6		pkgconfig
libmd.a 			pmpi_f08_interfaces.mod
libmd.so			python3.11
libmd.so.0			terminfo
$ ls ~/stacks/views/full
gcc-11.4.0  gcc-12.3.0
$ ls ~/stacks/views/full/gcc-12.3.0
bin	 lib	  man				    openmpi-5.0.3-netlib-lapack-3.11.0	sbin
etc	 lib64	  mpich-4.2.1-netlib-lapack-3.11.0  openmpi-5.0.3-openblas-0.3.26	share
include  libexec  mpich-4.2.1-openblas-0.3.26	    pyvenv.cfg				var

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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []
  view:
    default:
      root: views/default
      select: ['%gcc@12']
      exclude: [^mpich, ^netlib-lapack]
      link: roots
    full:
      root: views/full
      projections:
        ^mpi^lapack: '{compiler.name}-{compiler.version}/{^mpi.name}-{^mpi.version}-{^lapack.name}-{^lapack.version}'
        ^lapack: '{compiler.name}-{compiler.version}/{^lapack.name}-{^lapack.version}'
        all: '{compiler.name}-{compiler.version}/'
$ spack concretize
==> Updating view at /home/spack/stacks/views/default
$ ls ~/stacks/views/default
lib
$ ls ~/stacks/views/default/lib
cmake  libscalapack.so	pkgconfig  python3.11
$ ls ~/stacks/views/full
gcc-11.4.0  gcc-12.3.0

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 view 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.

So, 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 now have the module command available in you 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []
  modules:
    default:
      enable:
      - lmod
      roots:
        lmod: modules
      lmod:
        hierarchy:
        - mpi
        - lapack

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 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-rq5jepf		 lmod/8.7.18-ujyntp7
   autoconf/2.72-ljmgup2			 lua-luafilesystem/1.8.0-bjznamf
   automake/1.16.5-p742yhm			 lua-luaposix/36.1-2cfap64
   bc/1.07.1-acfejrq				 lua/5.4.6-447hnr7
   berkeley-db/18.1.40-br27jq6			 m4/1.4.19-7d6p4sf
   bzip2/1.0.8-qmy6dpi				 mpc/1.3.1-t7z22ep
   ca-certificates-mozilla/2023-05-30-yw5x67u	 mpfr/4.2.1-c42jb45
   curl/8.7.1-cc6xd2h				 ncurses/6.5-gk4xs2i
   diffutils/3.10-mhzfdlk			 nghttp2/1.57.0-pn6bnmh
   ed/1.4-oyfml4o				 openssl/3.3.0-vunusyx
   findutils/4.9.0-v4yzc2w			 perl/5.38.0-uliw6sp
   gawk/5.3.0-3duehf4				 pigz/2.8-gk55zt7
   gcc-runtime/11.4.0-f47qm6q			 pkgconf/2.2.0-h3x3l7s
   gcc/12.3.0-hc3fmfi				 readline/8.2-cb6x34k
   gdbm/1.23-ohbrdtp				 tar/1.34-wx4xfdn
   gettext/0.22.5-eux6e6v			 tcl/8.6.12-dpakck4
   glibc/2.35-a7drdl4				 texinfo/7.0.3-y6pez2a
   gmake/4.4.1-qfrotcc				 unzip/6.0-x2mt7jq
   gmp/6.2.1-5znqdnf				 xz/5.4.6-syttnnt
   libsigsegv/2.14-jwy3fyz			 zlib-ng/2.1.6-xqtp62n
   libtool/2.4.7-lop7htu			 zstd/1.5.6-ew3aaos
   libxml2/2.10.3-jv5es2y

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 sets 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 more modules available - all the ones compiled with gcc@12.3.0:

$ module load gcc
$ which gcc
/home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/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 ---------------
   amdblis/4.2-xyma4ep				     nghttp2/1.57.0-tmufr6s		 (D)
   autoconf/2.72-so7orfs		      (D)    ninja/1.11.1-53tomx2
   automake/1.16.5-sssghcu			     numactl/2.0.14-ycvznwt
   berkeley-db/18.1.40-wekshz6		      (D)    openblas/0.3.26-eyhwdj2
   bison/3.8.2-nleqxiv				     openmpi/5.0.3-itcqz6x
   bzip2/1.0.8-q4g6mhd				     openssh/9.7p1-witkwii
   ca-certificates-mozilla/2023-05-30-a2gxp4h	     openssl/3.3.0-oxocupu
   cmake/3.27.9-636pa3o 			     perl/5.38.0-ucv4k3y
   curl/8.7.1-7du7zou			      (D)    pigz/2.8-7lweqai			 (D)
   diffutils/3.10-6qrh24v		      (D)    pkgconf/2.2.0-2t42aln		 (D)
   expat/2.6.2-syod3as				     pmix/5.0.1-dsrozes
   findutils/4.9.0-lu6imec			     py-beniget/0.4.1-54x2nx3
   gcc-runtime/12.3.0-hbicyv7		      (D)    py-cython/3.0.8-bsef5cj
   gdbm/1.23-e6zxtqt				     py-flit-core/3.9.0-vioo2gj
   gettext/0.22.5-x2uvezl		      (D)    py-gast/0.5.4-qeywms6
   glibc/2.35-gkoh6ax			      (D)    py-meson-python/0.15.0-ol54hmz
   gmake/4.4.1-3eefcyu			      (D)    py-packaging/23.1-rzruklu
   hwloc/2.9.1-ui75hni				     py-pip/23.1.2-uc7d3fn
   krb5/1.20.1-nn5dx4c				     py-ply/3.11-yyr4tu6
   libbsd/0.12.1-h3xlyij			     py-pybind11/2.12.0-ts4hcnh
   libedit/3.1-20230828-ri7efzb 		     py-pyproject-metadata/0.7.1-5kcqkc6
   libevent/2.1.12-3jhmflq			     py-setuptools/69.2.0-7iqxefn
   libfabric/1.21.0-rgjhj7a			     py-wheel/0.41.2-aqfgdmf
   libffi/3.4.6-cl63ri3 			     python-venv/1.0-p6vzj63
   libmd/1.0.4-ri2ny52				     python/3.11.7-ciwhyra
   libpciaccess/0.17-zf3qbx3			     re2c/2.2-mfbo7dd
   libsigsegv/2.14-y3txxwv		      (D)    readline/8.2-lhm6hsy		 (D)
   libtool/2.4.7-h3qfbro			     sqlite/3.43.2-q5uuhah
   libxcrypt/4.4.35-m7la4pp			     tar/1.34-ddxcrg5
   libxml2/2.10.3-upw4yvr		      (D)    util-linux-uuid/2.38.1-ofkdrzu
   m4/1.4.19-lvqszzi				     util-macros/1.19.3-5ir45vn
   meson/1.3.2-the5myj				     xz/5.4.6-f7j6s4z
   mpich/4.2.1-kkrar7t				     yaksa/0.3-pztnzd3
   ncurses/6.5-bu5gu2m				     zlib-ng/2.1.6-klmqckv
   netlib-lapack/3.11.0-vvhuv65 		     zstd/1.5.6-vvj7472 		 (D)

------------------ /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/Core ------------------
   autoconf-archive/2023.02.20-rq5jepf		     lmod/8.7.18-ujyntp7
   autoconf/2.72-ljmgup2			     lua-luafilesystem/1.8.0-bjznamf
   automake/1.16.5-p742yhm		      (D)    lua-luaposix/36.1-2cfap64
   bc/1.07.1-acfejrq				     lua/5.4.6-447hnr7
   berkeley-db/18.1.40-br27jq6			     m4/1.4.19-7d6p4sf		     (D)
   bzip2/1.0.8-qmy6dpi			      (D)    mpc/1.3.1-t7z22ep		     (L)
   ca-certificates-mozilla/2023-05-30-yw5x67u (D)    mpfr/4.2.1-c42jb45 	     (L)
   curl/8.7.1-cc6xd2h				     ncurses/6.5-gk4xs2i	     (D)
   diffutils/3.10-mhzfdlk			     nghttp2/1.57.0-pn6bnmh
   ed/1.4-oyfml4o				     openssl/3.3.0-vunusyx	     (D)
   findutils/4.9.0-v4yzc2w		      (D)    perl/5.38.0-uliw6sp	     (D)
   gawk/5.3.0-3duehf4				     pigz/2.8-gk55zt7
   gcc-runtime/11.4.0-f47qm6q		      (L)    pkgconf/2.2.0-h3x3l7s
   gcc/12.3.0-hc3fmfi			      (L)    readline/8.2-cb6x34k
   gdbm/1.23-ohbrdtp			      (D)    tar/1.34-wx4xfdn		     (D)
   gettext/0.22.5-eux6e6v			     tcl/8.6.12-dpakck4
   glibc/2.35-a7drdl4			      (L)    texinfo/7.0.3-y6pez2a
   gmake/4.4.1-qfrotcc				     unzip/6.0-x2mt7jq
   gmp/6.2.1-5znqdnf			      (L)    xz/5.4.6-syttnnt		     (D)
   libsigsegv/2.14-jwy3fyz			     zlib-ng/2.1.6-xqtp62n	     (L,D)
   libtool/2.4.7-lop7htu		      (D)    zstd/1.5.6-ew3aaos 	     (L)
   libxml2/2.10.3-jv5es2y

  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 once, 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 go against users 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 don’t enter the hash - for instance a policy at the deploying site.

To address all these needs we can complicate out 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
  compilers:
  - compiler:
      spec: gcc@=12.3.0
      paths:
        cc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gcc
        cxx: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/g++
        f77: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
        fc: /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-hc3fmfiuomxfx4gnvorj3z3y2gjf2doh/bin/gfortran
      flags: {}
      operating_system: ubuntu22.04
      target: x86_64
      modules: []
      environment: {}
      extra_rpaths: []
  modules:
    default:
      enable:
      - lmod
      roots:
        lmod: modules
      lmod:
        hierarchy:
        - mpi
        - lapack
        hash_length: 0
        include:
        - gcc
        exclude:
        - '%gcc@11.4.0'
        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}'

Let’s regenerate the modules once again:

$ spack module lmod refresh --delete-tree -y
==> 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 ---------------
   amdblis/4.2				 libmd/1.0.4		 py-flit-core/3.9.0
   autoconf/2.72			 libpciaccess/0.17	 py-gast/0.5.4
   automake/1.16.5			 libsigsegv/2.14	 py-meson-python/0.15.0
   berkeley-db/18.1.40			 libtool/2.4.7		 py-packaging/23.1
   bison/3.8.2				 libxcrypt/4.4.35	 py-pip/23.1.2
   bzip2/1.0.8				 libxml2/2.10.3 	 py-ply/3.11
   ca-certificates-mozilla/2023-05-30	 m4/1.4.19		 py-pybind11/2.12.0
   cmake/3.27.9 			 meson/1.3.2		 py-pyproject-metadata/0.7.1
   curl/8.7.1				 mpich/4.2.1		 py-setuptools/69.2.0
   diffutils/3.10			 ncurses/6.5		 py-wheel/0.41.2
   expat/2.6.2				 netlib-lapack/3.11.0	 python-venv/1.0
   findutils/4.9.0			 nghttp2/1.57.0 	 python/3.11.7
   gcc-runtime/12.3.0			 ninja/1.11.1		 re2c/2.2
   gdbm/1.23				 numactl/2.0.14 	 readline/8.2
   gettext/0.22.5			 openblas/0.3.26	 sqlite/3.43.2
   glibc/2.35				 openmpi/5.0.3		 tar/1.34
   gmake/4.4.1				 openssh/9.7p1		 util-linux-uuid/2.38.1
   hwloc/2.9.1				 openssl/3.3.0		 util-macros/1.19.3
   krb5/1.20.1				 perl/5.38.0		 xz/5.4.6
   libbsd/0.12.1			 pigz/2.8		 yaksa/0.3
   libedit/3.1-20230828 		 pkgconf/2.2.0		 zlib-ng/2.1.6
   libevent/2.1.12			 pmix/5.0.1		 zstd/1.5.6
   libfabric/1.21.0			 py-beniget/0.4.1
   libffi/3.4.6 			 py-cython/3.0.8

------------------ /home/spack/stacks/modules/linux-ubuntu22.04-x86_64/Core ------------------
   gcc/12.3.0 (L)

  Where:
   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.3" with "mpich/4.2.1".


Due to MODULEPATH changes, the following have been reloaded:
  1) netlib-scalapack/2.2.0

$ module load netlib-lapack

Lmod is automatically replacing "openblas/0.3.26" with "netlib-lapack/3.11.0".


Due to MODULEPATH changes, the following have been reloaded:
  1) netlib-scalapack/2.2.0

$ 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.