Basic Installation Tutorial

This tutorial will guide you through the process of installing software using Spack. We will first cover the spack install command, focusing on the power of the spec syntax and the flexibility it gives to users. We will also cover the spack find command for viewing installed packages and the spack uninstall command for uninstalling them. Finally, we will touch on how Spack manages compilers, especially as it relates to using Spack-built compilers within Spack. We will include full output from all of the commands demonstrated, although we will frequently call attention to only small portions of that output (or merely to the fact that it succeeded). The provided output is all from an Ubuntu 22.04 Docker image.

Installing Spack

Spack works out of the box. Simply clone Spack to get going. We will clone Spack and immediately check out the most recent release, v0.21.

$ git clone --depth=100 --branch=releases/v0.21 https://github.com/spack/spack.git ~/spack
Cloning into '/home/spack/spack'...
remote: Enumerating objects: 20108, done.K
remote: Counting objects: 100% (20108/20108), done.K
remote: Compressing objects: 100% (11087/11087), done.K
remote:nTotale20108 (delta92238),1reused.13668B(delta81653),spack-reused 0K
Receiving objects: 100% (20108/20108), 13.37MMiB||120.02MMiB/s, done.
Resolving deltas: 100% (2238/2238), done.
Updating files: 100% (10999/10999), done.
$ cd ~/spack

Next, add Spack to your path. Spack has some nice command-line integration tools, so instead of simply prepending to your PATH variable, source the Spack setup script.

$ . share/spack/setup-env.sh

You’re good to go!

What is in Spack?

The spack list command shows available packages.

$ spack list
3dtk					  py-googleapis-common-protos
3proxy					  py-googledrivedownloader
7zip					  py-gosam
abacus					  py-gpaw
abduco					  py-gpustat

The spack list command can also take a query string. Spack automatically adds wildcards to both ends of the string, or you can add your own wildcards. For example, we can view all available Python packages.

$ spack list 'py-*'
py-3to2					  py-msal
py-4suite-xml				  py-msal-extensions
py-a2wsgi				  py-msgpack
py-abcpy				  py-msgpack-numpy
py-abipy				  py-msrest

Installing Packages

Installing a package with Spack is very simple. To install a piece of software, simply type spack install <package_name>.

$ spack install gmake
==> Installing gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7 [1/1]
==> No binary for gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7 found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
==> No patches needed for gmake
==> gmake: Executing phase: 'install'
==> gmake: Successfully installed gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
  Stage: 0.19s.	 Install: 12.22s.  Post-install: 0.02s.	 Total: 12.46s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7

Spack can install software either from source or from a binary cache. Packages in the binary cache are signed with GPG for security. For the tutorial we have prepared a binary cache so you don’t have to wait on slow compilation from source. To be able to install from the binary cache, we will need to configure Spack with the location of the binary cache and trust the GPG key that the binary cache was signed with.

$ spack mirror add tutorial /mirror
$ spack buildcache keys --install --trust
==> Fetching file:///mirror/build_cache/_pgp/spack-public-binary-key.pub
gpg: key A8E0CA3C1C2ADA2F: 7 signatures not checked due to missing keys
gpg: key A8E0CA3C1C2ADA2F: public key "Spack Project Official Binaries <maintainers@spack.io>" imported
gpg: Total number processed: 1
gpg:		   imported: 1
gpg: no ultimately trusted keys found
gpg: inserting ownertrust of 6

You’ll learn more about configuring Spack later in the tutorial, but for now you will be able to install the rest of the packages in the tutorial from a binary cache using the same spack install command. By default this will install the binary cached version if it exists and fall back on installing from source if it does not.

Spack’s spec syntax is the interface by which we can request specific configurations of the package. The % sigil is used to specify compilers.

$ spack install zlib-ng %clang
==> Installing gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt [1/2]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/gmake-4.4.1/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt.spack
==> Extracting gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt from binary cache
==> gmake: Successfully installed gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt
  Search: 0.00s.  Fetch: 0.09s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt
==> Installing zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw [2/2]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.1.4/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw.spack
==> Extracting zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw

Note that this installation is located separately from the previous one. We will discuss this in more detail later, but this is part of what allows Spack to support arbitrarily versioned software.

You can check for particular versions before requesting them. We will use the spack versions command to see the available versions, and then install a different version of zlib-ng.

$ spack versions zlib-ng
==> Safe versions (already checksummed):
  2.1.4	 2.1.3	2.1.2  2.0.7  2.0.0
==> Remote versions (not yet checksummed):
  2.1.1-beta2  2.1.0-beta1  2.0.6  2.0.5  2.0.4	 2.0.3

The @ sigil is used to specify versions, both of packages and of compilers.

$ spack install zlib-ng@2.0.7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
==> Installing zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje [2/2]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje.spack
==> Extracting zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje
$ spack install zlib-ng %gcc@10
==> Installing gmake-4.4.1-gexmwfhpiumjrmlkqrsusomjc5cpa2ka [1/2]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-gmake-4.4.1-gexmwfhpiumjrmlkqrsusomjc5cpa2ka.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/gmake-4.4.1/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-gmake-4.4.1-gexmwfhpiumjrmlkqrsusomjc5cpa2ka.spack
==> Extracting gmake-4.4.1-gexmwfhpiumjrmlkqrsusomjc5cpa2ka from binary cache
==> gmake: Successfully installed gmake-4.4.1-gexmwfhpiumjrmlkqrsusomjc5cpa2ka
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.06s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/gmake-4.4.1-gexmwfhpiumjrmlkqrsusomjc5cpa2ka
==> Installing zlib-ng-2.1.4-tm2or5eemtuselxphhipremogmszohrv [2/2]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-zlib-ng-2.1.4-tm2or5eemtuselxphhipremogmszohrv.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/zlib-ng-2.1.4/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-zlib-ng-2.1.4-tm2or5eemtuselxphhipremogmszohrv.spack
==> Extracting zlib-ng-2.1.4-tm2or5eemtuselxphhipremogmszohrv from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.1.4-tm2or5eemtuselxphhipremogmszohrv
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/zlib-ng-2.1.4-tm2or5eemtuselxphhipremogmszohrv

The spec syntax also includes compiler flags. Spack accepts cppflags, cflags, cxxflags, fflags, ldflags, and ldlibs parameters. The values of these fields must be quoted on the command line if they include spaces. These values are injected into the compile line automatically by the Spack compiler wrappers.

$ spack install zlib-ng@2.0.7 cflags=-O3
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
==> Installing zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h [2/2]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h.spack
==> Extracting zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h

The spack find command is used to query installed packages. Note that some packages appear identical with the default output. The -l flag shows the hash of each package, and the -f flag shows any non-empty compiler flags of those packages.

$ spack find
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
gmake@4.4.1  zlib-ng@2.1.4

-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
gmake@4.4.1  zlib-ng@2.1.4

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
gmake@4.4.1  zlib-ng@2.0.7  zlib-ng@2.0.7
==> 7 installed packages
$ spack find -lf
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
d54pflh gmake@4.4.1%clang   hywknao zlib-ng@2.1.4%clang

-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
gexmwfh gmake@4.4.1%gcc	  tm2or5e zlib-ng@2.1.4%gcc

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
znvoani gmake@4.4.1%gcc	    npuw4up zlib-ng@2.0.7%gcc  cflags="-O3"
ffnsgi6 zlib-ng@2.0.7%gcc
==> 7 installed packages

Spack generates a hash for each spec. This hash is a function of the full provenance of the package, so any change to the spec affects the hash. Spack uses this value to compare specs and to generate unique installation directories for every combinatorial version. As we move into more complicated packages with software dependencies, we can see that Spack reuses existing packages to satisfy a dependency. By default, Spack tries hard to reuse existing installations as dependencies, either from a local store or from configured remote buildcaches. This minimizes unwanted rebuilds of common dependencies, in particular if you update Spack frequently.

$ spack install tcl
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
==> Installing zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh [2/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh.spack
==> Extracting zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
  Search: 0.00s.  Fetch: 0.13s.	 Install: 0.06s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.19s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
==> Installing tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe [3/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe.spack
==> Extracting tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe from binary cache
==> tcl: Successfully installed tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe
  Search: 0.00s.  Fetch: 0.04s.	 Install: 1.27s.  Extract: 1.18s.  Relocate: 0.08s.  Total: 1.31s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe

Dependencies can be explicitly requested using the ^ sigil. Note that the spec syntax is recursive. Anything we could specify about the top-level package, we can also specify about a dependency using ^.

$ spack install tcl ^zlib-ng@2.0.7 %clang
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/gmake-4.4.1-d54pflh3qlovydzjgff55nvzxtqedobt
==> Installing zlib-ng-2.0.7-amkpmimysfvkkswe3sxbfr7hbvevvulz [2/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.0.7-amkpmimysfvkkswe3sxbfr7hbvevvulz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.0.7/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.0.7-amkpmimysfvkkswe3sxbfr7hbvevvulz.spack
==> Extracting zlib-ng-2.0.7-amkpmimysfvkkswe3sxbfr7hbvevvulz from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-amkpmimysfvkkswe3sxbfr7hbvevvulz
  Search: 0.00s.  Fetch: 0.09s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.0.7-amkpmimysfvkkswe3sxbfr7hbvevvulz
==> Installing tcl-8.6.12-keocaqa7rfdjqv3j3ipbe42jwnpbepjy [3/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-tcl-8.6.12-keocaqa7rfdjqv3j3ipbe42jwnpbepjy.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/tcl-8.6.12/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-tcl-8.6.12-keocaqa7rfdjqv3j3ipbe42jwnpbepjy.spack
==> Extracting tcl-8.6.12-keocaqa7rfdjqv3j3ipbe42jwnpbepjy from binary cache
==> tcl: Successfully installed tcl-8.6.12-keocaqa7rfdjqv3j3ipbe42jwnpbepjy
  Search: 0.00s.  Fetch: 0.03s.	 Install: 1.07s.  Extract: 1.00s.  Relocate: 0.06s.  Total: 1.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/tcl-8.6.12-keocaqa7rfdjqv3j3ipbe42jwnpbepjy

Packages can also be referred to from the command line by their package hash. Using the spack find -lf command earlier we saw that the hash of our optimized installation of zlib-ng (cflags="-O3") began with npuw4up. We can now explicitly build with that package without typing the entire spec, by using the / sigil to refer to it by hash. As with other tools like Git, you do not need to specify an entire hash on the command line. You can specify just enough digits to identify a hash uniquely. If a hash prefix is ambiguous (i.e., two or more installed packages share the prefix) then Spack will report an error.

$ spack install tcl ^/npu
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h
==> Installing tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj [3/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj.spack
==> Extracting tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj from binary cache
==> tcl: Successfully installed tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj
  Search: 0.00s.  Fetch: 0.12s.	 Install: 1.11s.  Extract: 1.04s.  Relocate: 0.06s.  Total: 1.23s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj

The spack find command can also take a -d flag, which can show dependency information. Note that each package has a top-level entry, even if it also appears as a dependency.

$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
d54pflh gmake@4.4.1%clang

keocaqa tcl@8.6.12%clang
d54pflh	    gmake@4.4.1%clang
amkpmim	    zlib-ng@2.0.7%clang

amkpmim zlib-ng@2.0.7%clang
d54pflh	    gmake@4.4.1%clang

hywknao zlib-ng@2.1.4%clang
d54pflh	    gmake@4.4.1%clang


-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
gexmwfh gmake@4.4.1%gcc

tm2or5e zlib-ng@2.1.4%gcc
gexmwfh	    gmake@4.4.1%gcc


-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
znvoani gmake@4.4.1%gcc

qfb3pvm tcl@8.6.12%gcc
znvoani	    gmake@4.4.1%gcc
npuw4up	    zlib-ng@2.0.7%gcc  cflags="-O3"

tt2hv6r tcl@8.6.12%gcc
znvoani	    gmake@4.4.1%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

ffnsgi6 zlib-ng@2.0.7%gcc
znvoani	    gmake@4.4.1%gcc

npuw4up zlib-ng@2.0.7%gcc  cflags="-O3"
znvoani	    gmake@4.4.1%gcc

5xcetrv zlib-ng@2.1.4%gcc
znvoani	    gmake@4.4.1%gcc

==> 12 installed packages

Let’s move on to slightly more complicated packages. HDF5 is a good example of a more complicated package, with an MPI dependency. If we install it “out of the box,” it will build with OpenMPI.

$ spack install hdf5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
==> Installing ca-certificates-mozilla-2023-05-30-ct4al4udowha5xuopzhn3elwj2tsjomj [2/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ca-certificates-mozilla-2023-05-30-ct4al4udowha5xuopzhn3elwj2tsjomj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ca-certificates-mozilla-2023-05-30/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ca-certificates-mozilla-2023-05-30-ct4al4udowha5xuopzhn3elwj2tsjomj.spack
==> Extracting ca-certificates-mozilla-2023-05-30-ct4al4udowha5xuopzhn3elwj2tsjomj from binary cache
==> ca-certificates-mozilla: Successfully installed ca-certificates-mozilla-2023-05-30-ct4al4udowha5xuopzhn3elwj2tsjomj
  Search: 0.00s.  Fetch: 0.09s.	 Install: 0.04s.  Extract: 0.03s.  Relocate: 0.00s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ca-certificates-mozilla-2023-05-30-ct4al4udowha5xuopzhn3elwj2tsjomj
==> Installing zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho [3/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho.spack
==> Extracting zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho from binary cache
==> zstd: Successfully installed zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
==> Installing pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y [5/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-1.9.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y.spack
==> Extracting pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y from binary cache
==> pkgconf: Successfully installed pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y
  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/pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y
==> Installing findutils-4.9.0-cws3eftnvff7shmr3acylis3utohkxfn [6/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-findutils-4.9.0-cws3eftnvff7shmr3acylis3utohkxfn.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-cws3eftnvff7shmr3acylis3utohkxfn.spack
==> Extracting findutils-4.9.0-cws3eftnvff7shmr3acylis3utohkxfn from binary cache
==> findutils: Successfully installed findutils-4.9.0-cws3eftnvff7shmr3acylis3utohkxfn
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0-cws3eftnvff7shmr3acylis3utohkxfn
==> Installing berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26 [7/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26.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-ku7makqmto7yrue2y3duu2phqtnvqd26.spack
==> Extracting berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26 from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.08s.  Relocate: 0.01s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26
==> Installing xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c [8/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c.spack
==> Extracting xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c from binary cache
==> xz: Successfully installed xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c
==> Installing libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2 [9/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2.spack
==> Extracting libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2 from binary cache
==> libiconv: Successfully installed libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2
==> Installing libsigsegv-2.14-zuopqrik4y7vhqq2isjnr6mbixyks4uk [10/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libsigsegv-2.14-zuopqrik4y7vhqq2isjnr6mbixyks4uk.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-zuopqrik4y7vhqq2isjnr6mbixyks4uk.spack
==> Extracting libsigsegv-2.14-zuopqrik4y7vhqq2isjnr6mbixyks4uk from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-zuopqrik4y7vhqq2isjnr6mbixyks4uk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  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-zuopqrik4y7vhqq2isjnr6mbixyks4uk
==> Installing util-macros-1.19.3-b7j7735jjga7hkzuwzrwvzqnatlld2nb [11/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-macros-1.19.3-b7j7735jjga7hkzuwzrwvzqnatlld2nb.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-macros-1.19.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-macros-1.19.3-b7j7735jjga7hkzuwzrwvzqnatlld2nb.spack
==> Extracting util-macros-1.19.3-b7j7735jjga7hkzuwzrwvzqnatlld2nb from binary cache
==> util-macros: Successfully installed util-macros-1.19.3-b7j7735jjga7hkzuwzrwvzqnatlld2nb
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.01s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.02s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-macros-1.19.3-b7j7735jjga7hkzuwzrwvzqnatlld2nb
==> Installing pigz-2.7-catlxmodt7sirns2di5pod576omq32hk [12/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pigz-2.7-catlxmodt7sirns2di5pod576omq32hk.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pigz-2.7-catlxmodt7sirns2di5pod576omq32hk.spack
==> Extracting pigz-2.7-catlxmodt7sirns2di5pod576omq32hk from binary cache
==> pigz: Successfully installed pigz-2.7-catlxmodt7sirns2di5pod576omq32hk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.7-catlxmodt7sirns2di5pod576omq32hk
==> Installing ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt [13/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt.spack
==> Extracting ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt from binary cache
==> ncurses: Successfully installed ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.61s.  Extract: 0.59s.  Relocate: 0.01s.  Total: 0.63s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
==> Installing nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5 [14/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.57.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5.spack
==> Extracting nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5 from binary cache
==> nghttp2: Successfully installed nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5
==> Installing libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr [15/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr.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-67qoxbv3pyyep745wytvlgnnosn6pwnr.spack
==> Extracting libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr from binary cache
==> libxml2: Successfully installed libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.12s.  Extract: 0.10s.  Relocate: 0.01s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr
==> Installing diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en [16/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.9/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en.spack
==> Extracting diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en from binary cache
==> diffutils: Successfully installed diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en
==> Installing libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q [17/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libedit-3.1-20210216/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q.spack
==> Extracting libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q from binary cache
==> libedit: Successfully installed libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q
==> Installing readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz [18/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz.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-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz.spack
==> Extracting readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz from binary cache
==> readline: Successfully installed readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz
==> Installing bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7 [19/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7.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-4oz3kpfibmlvfizzivudj7pnzm2w7ce7.spack
==> Extracting bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7 from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7
  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/bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7
==> Installing m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4 [20/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4.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-jnv5nut43juhm7esjn3tvxas6m67zbx4.spack
==> Extracting m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4 from binary cache
==> m4: Successfully installed m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4
==> Installing gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4 [21/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4.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-m626hzwxamau2a4cbu2hptq477qnufc4.spack
==> Extracting gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4 from binary cache
==> gdbm: Successfully installed gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4
==> Installing tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg [22/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg.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-vdb3ozocdu73c4gl45gnzcjgscfye6mg.spack
==> Extracting tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg from binary cache
==> tar: Successfully installed tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg
==> Installing libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt [23/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt.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-rgag55hxbjmkoqpx4gnr2golz2zfyvnt.spack
==> Extracting libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt from binary cache
==> libtool: Successfully installed libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt
==> Installing perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava [24/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava.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-dg34i2ae7omo77k6ntqkb6zi76gmeava.spack
==> Extracting perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava from binary cache
==> perl: Successfully installed perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.75s.  Extract: 0.64s.  Relocate: 0.10s.  Total: 0.77s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava
==> Installing gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga [25/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga.spack
==> Extracting gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga from binary cache
==> gettext: Successfully installed gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.62s.  Extract: 0.57s.  Relocate: 0.03s.  Total: 0.64s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga
==> Installing libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m [26/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m.spack
==> Extracting libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m
==> Installing autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia [27/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.69/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia.spack
==> Extracting autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia from binary cache
==> autoconf: Successfully installed autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia
  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/autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia
==> Installing openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga [28/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.1.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga.spack
==> Extracting openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga from binary cache
==> openssl: Successfully installed openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.21s.  Extract: 0.19s.  Relocate: 0.01s.  Total: 0.23s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga
==> Installing libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk [29/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk.spack
==> Extracting libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk
==> Installing bison-3.8.2-lza42n2wukvkldw6vcrp3iwpvw7d6oni [30/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bison-3.8.2-lza42n2wukvkldw6vcrp3iwpvw7d6oni.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bison-3.8.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bison-3.8.2-lza42n2wukvkldw6vcrp3iwpvw7d6oni.spack
==> Extracting bison-3.8.2-lza42n2wukvkldw6vcrp3iwpvw7d6oni from binary cache
==> bison: Successfully installed bison-3.8.2-lza42n2wukvkldw6vcrp3iwpvw7d6oni
  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/bison-3.8.2-lza42n2wukvkldw6vcrp3iwpvw7d6oni
==> Installing hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib [31/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.9.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib.spack
==> Extracting hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib from binary cache
==> hwloc: Successfully installed hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.20s.  Extract: 0.18s.  Relocate: 0.02s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib
==> Installing automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej [32/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej.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-d3cncglfvi2mpx7ytpfqnleyc233qcej.spack
==> Extracting automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej from binary cache
==> automake: Successfully installed automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej
  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/automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej
==> Installing curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod [33/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.4.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod.spack
==> Extracting curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod from binary cache
==> curl: Successfully installed curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.14s.  Extract: 0.13s.  Relocate: 0.01s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod
==> Installing krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w [34/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/krb5-1.20.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w.spack
==> Extracting krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w from binary cache
==> krb5: Successfully installed krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.28s.  Extract: 0.10s.  Relocate: 0.18s.  Total: 0.29s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w
==> Installing libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7 [35/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libevent-2.1.12/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7.spack
==> Extracting libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7 from binary cache
==> libevent: Successfully installed libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.11s.  Extract: 0.09s.  Relocate: 0.01s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7
==> Installing numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk [36/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/numactl-2.0.14/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk.spack
==> Extracting numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk from binary cache
==> numactl: Successfully installed numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk
==> Installing cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor [37/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.27.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor.spack
==> Extracting cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor from binary cache
==> cmake: Successfully installed cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor
  Search: 0.00s.  Fetch: 0.04s.	 Install: 1.19s.  Extract: 1.09s.  Relocate: 0.09s.  Total: 1.23s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor
==> Installing openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc [38/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssh-9.5p1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc.spack
==> Extracting openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc from binary cache
==> openssh: Successfully installed openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.12s.  Extract: 0.08s.  Relocate: 0.03s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc
==> Installing pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn [39/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pmix-5.0.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn.spack
==> Extracting pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn from binary cache
==> pmix: Successfully installed pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.23s.  Extract: 0.19s.  Relocate: 0.03s.  Total: 0.24s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn
==> Installing openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof [40/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openmpi-4.1.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof.spack
==> Extracting openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof from binary cache
==> openmpi: Successfully installed openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.42s.  Extract: 0.38s.  Relocate: 0.03s.  Total: 0.44s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof
==> Installing hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i [41/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i.spack
==> Extracting hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i from binary cache
==> hdf5: Successfully installed hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i
  Search: 0.00s.  Fetch: 0.05s.	 Install: 0.96s.  Extract: 0.86s.  Relocate: 0.09s.  Total: 1.02s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i

Spack packages can also have build options, called variants. Boolean variants can be specified using the + (enable) and ~ or - (disable) sigils. There are two sigils for “disable” to avoid conflicts with shell parsing in different situations. Variants (boolean or otherwise) can also be specified using the same syntax as compiler flags. Here we can install HDF5 without MPI support.

$ spack install hdf5~mpi
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor
==> Installing hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb [9/9]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb.spack
==> Extracting hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb from binary cache
==> hdf5: Successfully installed hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.79s.  Extract: 0.73s.  Relocate: 0.05s.  Total: 0.94s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb

We might also want to install HDF5 with a different MPI implementation. While MPI is not a package itself, packages can depend on abstract interfaces like MPI. Spack handles these through “virtual dependencies.” A package, such as HDF5, can depend on the MPI interface. Other packages (openmpi, mpich, mvapich2, etc.) provide the MPI interface. Any of these providers can be requested for an MPI dependency. For example, we can build HDF5 with MPI support provided by MPICH by specifying a dependency on mpich. Spack also supports versioning of virtual dependencies. A package can depend on the MPI interface at version 3, and provider packages specify what version of the interface they provide. The partial spec ^mpi@3 can be satisfied by any of several providers.

$ spack install hdf5+hl+mpi ^mpich
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0-cws3eftnvff7shmr3acylis3utohkxfn
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c
==> Installing libmd-1.0.4-kg5ets2yozvitt2jh3zemld7y3l3zjbl [11/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libmd-1.0.4-kg5ets2yozvitt2jh3zemld7y3l3zjbl.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libmd-1.0.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libmd-1.0.4-kg5ets2yozvitt2jh3zemld7y3l3zjbl.spack
==> Extracting libmd-1.0.4-kg5ets2yozvitt2jh3zemld7y3l3zjbl from binary cache
==> libmd: Successfully installed libmd-1.0.4-kg5ets2yozvitt2jh3zemld7y3l3zjbl
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.08s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.18s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libmd-1.0.4-kg5ets2yozvitt2jh3zemld7y3l3zjbl
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14-zuopqrik4y7vhqq2isjnr6mbixyks4uk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.7-catlxmodt7sirns2di5pod576omq32hk
==> Installing libffi-3.4.4-ra2t3ha2gt2svq4tygpxxjvdwd4naz3h [17/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libffi-3.4.4-ra2t3ha2gt2svq4tygpxxjvdwd4naz3h.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libffi-3.4.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libffi-3.4.4-ra2t3ha2gt2svq4tygpxxjvdwd4naz3h.spack
==> Extracting libffi-3.4.4-ra2t3ha2gt2svq4tygpxxjvdwd4naz3h from binary cache
==> libffi: Successfully installed libffi-3.4.4-ra2t3ha2gt2svq4tygpxxjvdwd4naz3h
  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-11.4.0/libffi-3.4.4-ra2t3ha2gt2svq4tygpxxjvdwd4naz3h
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2
==> Installing libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje [20/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libfabric-1.19.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje.spack
==> Extracting libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje from binary cache
==> libfabric: Successfully installed libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m
==> Installing util-linux-uuid-2.38.1-thv4zdpqlzulq6dzneomha3i3wdkmmtt [23/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-linux-uuid-2.38.1-thv4zdpqlzulq6dzneomha3i3wdkmmtt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-linux-uuid-2.38.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-linux-uuid-2.38.1-thv4zdpqlzulq6dzneomha3i3wdkmmtt.spack
==> Extracting util-linux-uuid-2.38.1-thv4zdpqlzulq6dzneomha3i3wdkmmtt from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.38.1-thv4zdpqlzulq6dzneomha3i3wdkmmtt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.11s.  Extract: 0.09s.  Relocate: 0.01s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-linux-uuid-2.38.1-thv4zdpqlzulq6dzneomha3i3wdkmmtt
==> Installing libbsd-0.11.7-nrlj4tjdnkqa5cuwg5cs5ln5sduh6ix5 [24/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libbsd-0.11.7-nrlj4tjdnkqa5cuwg5cs5ln5sduh6ix5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libbsd-0.11.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libbsd-0.11.7-nrlj4tjdnkqa5cuwg5cs5ln5sduh6ix5.spack
==> Extracting libbsd-0.11.7-nrlj4tjdnkqa5cuwg5cs5ln5sduh6ix5 from binary cache
==> libbsd: Successfully installed libbsd-0.11.7-nrlj4tjdnkqa5cuwg5cs5ln5sduh6ix5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libbsd-0.11.7-nrlj4tjdnkqa5cuwg5cs5ln5sduh6ix5
==> Installing sqlite-3.43.2-m2h5dlyuaedkfodlyjmslhvmztd7jopi [25/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-sqlite-3.43.2-m2h5dlyuaedkfodlyjmslhvmztd7jopi.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/sqlite-3.43.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-sqlite-3.43.2-m2h5dlyuaedkfodlyjmslhvmztd7jopi.spack
==> Extracting sqlite-3.43.2-m2h5dlyuaedkfodlyjmslhvmztd7jopi from binary cache
==> sqlite: Successfully installed sqlite-3.43.2-m2h5dlyuaedkfodlyjmslhvmztd7jopi
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.31s.  Extract: 0.27s.  Relocate: 0.03s.  Total: 0.34s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/sqlite-3.43.2-m2h5dlyuaedkfodlyjmslhvmztd7jopi
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor
==> Installing expat-2.5.0-demnlleyekfpzroyoll2jcki6wxttwhw [31/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-expat-2.5.0-demnlleyekfpzroyoll2jcki6wxttwhw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/expat-2.5.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-expat-2.5.0-demnlleyekfpzroyoll2jcki6wxttwhw.spack
==> Extracting expat-2.5.0-demnlleyekfpzroyoll2jcki6wxttwhw from binary cache
==> expat: Successfully installed expat-2.5.0-demnlleyekfpzroyoll2jcki6wxttwhw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/expat-2.5.0-demnlleyekfpzroyoll2jcki6wxttwhw
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia
==> Installing python-3.11.6-ybsi7tlnssr3m4h3eqrzq6tyxdcsr2n7 [37/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-python-3.11.6-ybsi7tlnssr3m4h3eqrzq6tyxdcsr2n7.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/python-3.11.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-python-3.11.6-ybsi7tlnssr3m4h3eqrzq6tyxdcsr2n7.spack
==> Extracting python-3.11.6-ybsi7tlnssr3m4h3eqrzq6tyxdcsr2n7 from binary cache
==> python: Successfully installed python-3.11.6-ybsi7tlnssr3m4h3eqrzq6tyxdcsr2n7
  Search: 0.00s.  Fetch: 0.14s.	 Install: 3.89s.  Extract: 3.64s.  Relocate: 0.23s.  Total: 4.03s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/python-3.11.6-ybsi7tlnssr3m4h3eqrzq6tyxdcsr2n7
==> Installing yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4 [38/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/yaksa-0.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4.spack
==> Extracting yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4 from binary cache
==> yaksa: Successfully installed yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4
  Search: 0.00s.  Fetch: 0.04s.	 Install: 0.48s.  Extract: 0.42s.  Relocate: 0.04s.  Total: 0.52s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4
==> Installing mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam [39/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpich-4.1.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam.spack
==> Extracting mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam from binary cache
==> mpich: Successfully installed mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam
  Search: 0.00s.  Fetch: 0.03s.	 Install: 1.01s.  Extract: 0.96s.  Relocate: 0.03s.  Total: 1.04s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam
==> Installing hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj [40/40]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj.spack
==> Extracting hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj from binary cache
==> hdf5: Successfully installed hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj
  Search: 0.00s.  Fetch: 0.06s.	 Install: 0.94s.  Extract: 0.85s.  Relocate: 0.08s.  Total: 1.00s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj

We’ll do a quick check in on what we have installed so far.

$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
d54pflh gmake@4.4.1%clang

keocaqa tcl@8.6.12%clang
d54pflh	    gmake@4.4.1%clang
amkpmim	    zlib-ng@2.0.7%clang

amkpmim zlib-ng@2.0.7%clang
d54pflh	    gmake@4.4.1%clang

hywknao zlib-ng@2.1.4%clang
d54pflh	    gmake@4.4.1%clang


-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
gexmwfh gmake@4.4.1%gcc

tm2or5e zlib-ng@2.1.4%gcc
gexmwfh	    gmake@4.4.1%gcc


-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
mnfnoa5 autoconf@2.69%gcc
znvoani	    gmake@4.4.1%gcc
jnv5nut	    m4@1.4.19%gcc
ueheij3		diffutils@3.9%gcc
ivn4eq4		    libiconv@1.17%gcc
zuopqri		libsigsegv@2.14%gcc
dg34i2a	    perl@5.38.0%gcc
ku7makq		berkeley-db@18.1.40%gcc
4oz3kpf		bzip2@1.0.8%gcc
m626hzw		gdbm@1.23%gcc
xxgqlmj		    readline@8.2%gcc
qqlh6as			ncurses@6.4%gcc
zjgtpdo			    pkgconf@1.9.5%gcc
5xcetrv		zlib-ng@2.1.4%gcc

d3cncgl automake@1.16.5%gcc
mnfnoa5	    autoconf@2.69%gcc
jnv5nut		m4@1.4.19%gcc
ueheij3		    diffutils@3.9%gcc
ivn4eq4			libiconv@1.17%gcc
zuopqri		    libsigsegv@2.14%gcc
znvoani	    gmake@4.4.1%gcc
dg34i2a	    perl@5.38.0%gcc
ku7makq		berkeley-db@18.1.40%gcc
4oz3kpf		bzip2@1.0.8%gcc
m626hzw		gdbm@1.23%gcc
xxgqlmj		    readline@8.2%gcc
qqlh6as			ncurses@6.4%gcc
zjgtpdo			    pkgconf@1.9.5%gcc
5xcetrv		zlib-ng@2.1.4%gcc

ku7makq berkeley-db@18.1.40%gcc
znvoani	    gmake@4.4.1%gcc

lza42n2 bison@3.8.2%gcc
ueheij3	    diffutils@3.9%gcc
ivn4eq4		libiconv@1.17%gcc
y26lmlo	    gettext@0.22.3%gcc
4oz3kpf		bzip2@1.0.8%gcc
67qoxbv		libxml2@2.10.3%gcc
zjgtpdo		    pkgconf@1.9.5%gcc
qqlh6as		ncurses@6.4%gcc
vdb3ozo		tar@1.34%gcc
catlxmo		    pigz@2.7%gcc
jkznmrm		    zstd@1.5.5%gcc
axxqoeq		xz@5.4.1%gcc
znvoani	    gmake@4.4.1%gcc
jnv5nut	    m4@1.4.19%gcc
zuopqri		libsigsegv@2.14%gcc
dg34i2a	    perl@5.38.0%gcc
ku7makq		berkeley-db@18.1.40%gcc
m626hzw		gdbm@1.23%gcc
xxgqlmj		    readline@8.2%gcc
5xcetrv		zlib-ng@2.1.4%gcc

4oz3kpf bzip2@1.0.8%gcc
ueheij3	    diffutils@3.9%gcc
znvoani		gmake@4.4.1%gcc
ivn4eq4		libiconv@1.17%gcc

ct4al4u ca-certificates-mozilla@2023-05-30%gcc

kd6xihn cmake@3.27.7%gcc
ijsmc3j	    curl@8.4.0%gcc
znvoani		gmake@4.4.1%gcc
my64owh		nghttp2@1.57.0%gcc
35j7wvr		openssl@3.1.3%gcc
ct4al4u		    ca-certificates-mozilla@2023-05-30%gcc
dg34i2a		    perl@5.38.0%gcc
ku7makq			berkeley-db@18.1.40%gcc
4oz3kpf			bzip2@1.0.8%gcc
ueheij3			    diffutils@3.9%gcc
ivn4eq4				libiconv@1.17%gcc
m626hzw			gdbm@1.23%gcc
xxgqlmj			    readline@8.2%gcc
zjgtpdo		pkgconf@1.9.5%gcc
qqlh6as	    ncurses@6.4%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

ijsmc3j curl@8.4.0%gcc
znvoani	    gmake@4.4.1%gcc
my64owh	    nghttp2@1.57.0%gcc
35j7wvr	    openssl@3.1.3%gcc
ct4al4u		ca-certificates-mozilla@2023-05-30%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
4oz3kpf		    bzip2@1.0.8%gcc
ueheij3			diffutils@3.9%gcc
ivn4eq4			    libiconv@1.17%gcc
m626hzw		    gdbm@1.23%gcc
xxgqlmj			readline@8.2%gcc
qqlh6as			    ncurses@6.4%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

ueheij3 diffutils@3.9%gcc
znvoani	    gmake@4.4.1%gcc
ivn4eq4	    libiconv@1.17%gcc

demnlle expat@2.5.0%gcc
znvoani	    gmake@4.4.1%gcc
nrlj4tj	    libbsd@0.11.7%gcc
kg5ets2		libmd@1.0.4%gcc

cws3eft findutils@4.9.0%gcc
znvoani	    gmake@4.4.1%gcc

m626hzw gdbm@1.23%gcc
znvoani	    gmake@4.4.1%gcc
xxgqlmj	    readline@8.2%gcc
qqlh6as		ncurses@6.4%gcc
zjgtpdo		    pkgconf@1.9.5%gcc

y26lmlo gettext@0.22.3%gcc
4oz3kpf	    bzip2@1.0.8%gcc
ueheij3		diffutils@3.9%gcc
znvoani	    gmake@4.4.1%gcc
ivn4eq4	    libiconv@1.17%gcc
67qoxbv	    libxml2@2.10.3%gcc
zjgtpdo		pkgconf@1.9.5%gcc
5xcetrv		zlib-ng@2.1.4%gcc
qqlh6as	    ncurses@6.4%gcc
vdb3ozo	    tar@1.34%gcc
catlxmo		pigz@2.7%gcc
jkznmrm		zstd@1.5.5%gcc
axxqoeq	    xz@5.4.1%gcc

znvoani gmake@4.4.1%gcc

scxtjf3 hdf5@1.14.3%gcc
kd6xihn	    cmake@3.27.7%gcc
ijsmc3j		curl@8.4.0%gcc
my64owh		    nghttp2@1.57.0%gcc
35j7wvr		    openssl@3.1.3%gcc
ct4al4u			ca-certificates-mozilla@2023-05-30%gcc
dg34i2a			perl@5.38.0%gcc
ku7makq			    berkeley-db@18.1.40%gcc
4oz3kpf			    bzip2@1.0.8%gcc
ueheij3				diffutils@3.9%gcc
ivn4eq4				    libiconv@1.17%gcc
m626hzw			    gdbm@1.23%gcc
xxgqlmj				readline@8.2%gcc
qqlh6as		ncurses@6.4%gcc
znvoani	    gmake@4.4.1%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

7eeohwa hdf5@1.14.3%gcc
kd6xihn	    cmake@3.27.7%gcc
ijsmc3j		curl@8.4.0%gcc
my64owh		    nghttp2@1.57.0%gcc
35j7wvr		    openssl@3.1.3%gcc
ct4al4u			ca-certificates-mozilla@2023-05-30%gcc
qqlh6as		ncurses@6.4%gcc
znvoani	    gmake@4.4.1%gcc
z4iqm7n	    openmpi@4.1.6%gcc
dyrsjed		hwloc@2.9.1%gcc
af4bqq6		    libpciaccess@0.17%gcc
b7j7735			util-macros@1.19.3%gcc
67qoxbv		    libxml2@2.10.3%gcc
ivn4eq4			libiconv@1.17%gcc
axxqoeq			xz@5.4.1%gcc
mbwdizy		numactl@2.0.14%gcc
mnfnoa5		    autoconf@2.69%gcc
d3cncgl		    automake@1.16.5%gcc
rgag55h		    libtool@2.4.7%gcc
jnv5nut		    m4@1.4.19%gcc
ueheij3			diffutils@3.9%gcc
zuopqri			libsigsegv@2.14%gcc
zjwxy3z		openssh@9.5p1%gcc
tjiqlym		    krb5@1.20.1%gcc
lza42n2			bison@3.8.2%gcc
cws3eft			findutils@4.9.0%gcc
y26lmlo			gettext@0.22.3%gcc
vdb3ozo			    tar@1.34%gcc
catlxmo				pigz@2.7%gcc
jkznmrm				zstd@1.5.5%gcc
s4kq4wo		    libedit@3.1-20210216%gcc
hezcx7g		    libxcrypt@4.4.35%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
4oz3kpf		    bzip2@1.0.8%gcc
m626hzw		    gdbm@1.23%gcc
xxgqlmj			readline@8.2%gcc
fhkyvm3		pmix@5.0.1%gcc
wpvxxka		    libevent@2.1.12%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

54ik6mv hdf5@1.14.3%gcc
kd6xihn	    cmake@3.27.7%gcc
ijsmc3j		curl@8.4.0%gcc
my64owh		    nghttp2@1.57.0%gcc
35j7wvr		    openssl@3.1.3%gcc
ct4al4u			ca-certificates-mozilla@2023-05-30%gcc
dg34i2a			perl@5.38.0%gcc
ku7makq			    berkeley-db@18.1.40%gcc
qqlh6as		ncurses@6.4%gcc
znvoani	    gmake@4.4.1%gcc
l3z27rr	    mpich@4.1.2%gcc
cws3eft		findutils@4.9.0%gcc
dyrsjed		hwloc@2.9.1%gcc
voxng34		libfabric@1.19.0%gcc
af4bqq6		libpciaccess@0.17%gcc
rgag55h		    libtool@2.4.7%gcc
b7j7735		    util-macros@1.19.3%gcc
67qoxbv		libxml2@2.10.3%gcc
ivn4eq4		    libiconv@1.17%gcc
axxqoeq		    xz@5.4.1%gcc
qrx4ymp		yaksa@0.3%gcc
mnfnoa5		    autoconf@2.69%gcc
d3cncgl		    automake@1.16.5%gcc
jnv5nut		    m4@1.4.19%gcc
ueheij3			diffutils@3.9%gcc
zuopqri			libsigsegv@2.14%gcc
ybsi7tl		    python@3.11.6%gcc
4oz3kpf			bzip2@1.0.8%gcc
demnlle			expat@2.5.0%gcc
nrlj4tj			    libbsd@0.11.7%gcc
kg5ets2				libmd@1.0.4%gcc
m626hzw			gdbm@1.23%gcc
y26lmlo			gettext@0.22.3%gcc
vdb3ozo			    tar@1.34%gcc
catlxmo				pigz@2.7%gcc
jkznmrm				zstd@1.5.5%gcc
ra2t3ha			libffi@3.4.4%gcc
hezcx7g			libxcrypt@4.4.35%gcc
xxgqlmj			readline@8.2%gcc
m2h5dly			sqlite@3.43.2%gcc
thv4zdp			util-linux-uuid@2.38.1%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

dyrsjed hwloc@2.9.1%gcc
znvoani	    gmake@4.4.1%gcc
af4bqq6	    libpciaccess@0.17%gcc
rgag55h		libtool@2.4.7%gcc
jnv5nut		    m4@1.4.19%gcc
ueheij3			diffutils@3.9%gcc
zuopqri			libsigsegv@2.14%gcc
b7j7735		util-macros@1.19.3%gcc
67qoxbv	    libxml2@2.10.3%gcc
ivn4eq4		libiconv@1.17%gcc
axxqoeq		xz@5.4.1%gcc
5xcetrv		zlib-ng@2.1.4%gcc
qqlh6as	    ncurses@6.4%gcc
zjgtpdo	    pkgconf@1.9.5%gcc

tjiqlym krb5@1.20.1%gcc
lza42n2	    bison@3.8.2%gcc
jnv5nut		m4@1.4.19%gcc
zuopqri		    libsigsegv@2.14%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
m626hzw		    gdbm@1.23%gcc
xxgqlmj			readline@8.2%gcc
ueheij3	    diffutils@3.9%gcc
ivn4eq4		libiconv@1.17%gcc
cws3eft	    findutils@4.9.0%gcc
y26lmlo	    gettext@0.22.3%gcc
4oz3kpf		bzip2@1.0.8%gcc
67qoxbv		libxml2@2.10.3%gcc
zjgtpdo		    pkgconf@1.9.5%gcc
qqlh6as		ncurses@6.4%gcc
vdb3ozo		tar@1.34%gcc
catlxmo		    pigz@2.7%gcc
jkznmrm		    zstd@1.5.5%gcc
axxqoeq		xz@5.4.1%gcc
znvoani	    gmake@4.4.1%gcc
35j7wvr	    openssl@3.1.3%gcc
ct4al4u		ca-certificates-mozilla@2023-05-30%gcc
5xcetrv		zlib-ng@2.1.4%gcc

nrlj4tj libbsd@0.11.7%gcc
znvoani	    gmake@4.4.1%gcc
kg5ets2	    libmd@1.0.4%gcc

s4kq4wo libedit@3.1-20210216%gcc
znvoani	    gmake@4.4.1%gcc
qqlh6as	    ncurses@6.4%gcc
zjgtpdo	    pkgconf@1.9.5%gcc

wpvxxka libevent@2.1.12%gcc
mnfnoa5	    autoconf@2.69%gcc
jnv5nut		m4@1.4.19%gcc
ueheij3		    diffutils@3.9%gcc
ivn4eq4			libiconv@1.17%gcc
zuopqri		    libsigsegv@2.14%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
4oz3kpf		    bzip2@1.0.8%gcc
m626hzw		    gdbm@1.23%gcc
xxgqlmj			readline@8.2%gcc
qqlh6as			    ncurses@6.4%gcc
zjgtpdo				pkgconf@1.9.5%gcc
d3cncgl	    automake@1.16.5%gcc
znvoani	    gmake@4.4.1%gcc
rgag55h	    libtool@2.4.7%gcc
35j7wvr	    openssl@3.1.3%gcc
ct4al4u		ca-certificates-mozilla@2023-05-30%gcc
5xcetrv		zlib-ng@2.1.4%gcc

voxng34 libfabric@1.19.0%gcc
znvoani	    gmake@4.4.1%gcc

ra2t3ha libffi@3.4.4%gcc
znvoani	    gmake@4.4.1%gcc

ivn4eq4 libiconv@1.17%gcc
znvoani	    gmake@4.4.1%gcc

kg5ets2 libmd@1.0.4%gcc
znvoani	    gmake@4.4.1%gcc

af4bqq6 libpciaccess@0.17%gcc
znvoani	    gmake@4.4.1%gcc
rgag55h	    libtool@2.4.7%gcc
jnv5nut		m4@1.4.19%gcc
ueheij3		    diffutils@3.9%gcc
ivn4eq4			libiconv@1.17%gcc
zuopqri		    libsigsegv@2.14%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
b7j7735	    util-macros@1.19.3%gcc

zuopqri libsigsegv@2.14%gcc
znvoani	    gmake@4.4.1%gcc

rgag55h libtool@2.4.7%gcc
znvoani	    gmake@4.4.1%gcc
jnv5nut	    m4@1.4.19%gcc
ueheij3		diffutils@3.9%gcc
ivn4eq4		    libiconv@1.17%gcc
zuopqri		libsigsegv@2.14%gcc

hezcx7g libxcrypt@4.4.35%gcc
znvoani	    gmake@4.4.1%gcc
dg34i2a	    perl@5.38.0%gcc
ku7makq		berkeley-db@18.1.40%gcc
4oz3kpf		bzip2@1.0.8%gcc
ueheij3		    diffutils@3.9%gcc
ivn4eq4			libiconv@1.17%gcc
m626hzw		gdbm@1.23%gcc
xxgqlmj		    readline@8.2%gcc
qqlh6as			ncurses@6.4%gcc
zjgtpdo			    pkgconf@1.9.5%gcc
5xcetrv		zlib-ng@2.1.4%gcc

67qoxbv libxml2@2.10.3%gcc
znvoani	    gmake@4.4.1%gcc
ivn4eq4	    libiconv@1.17%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
axxqoeq	    xz@5.4.1%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

jnv5nut m4@1.4.19%gcc
ueheij3	    diffutils@3.9%gcc
ivn4eq4		libiconv@1.17%gcc
znvoani	    gmake@4.4.1%gcc
zuopqri	    libsigsegv@2.14%gcc

l3z27rr mpich@4.1.2%gcc
cws3eft	    findutils@4.9.0%gcc
znvoani	    gmake@4.4.1%gcc
dyrsjed	    hwloc@2.9.1%gcc
qqlh6as		ncurses@6.4%gcc
voxng34	    libfabric@1.19.0%gcc
af4bqq6	    libpciaccess@0.17%gcc
rgag55h		libtool@2.4.7%gcc
b7j7735		util-macros@1.19.3%gcc
67qoxbv	    libxml2@2.10.3%gcc
ivn4eq4		libiconv@1.17%gcc
axxqoeq		xz@5.4.1%gcc
5xcetrv		zlib-ng@2.1.4%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
qrx4ymp	    yaksa@0.3%gcc
mnfnoa5		autoconf@2.69%gcc
dg34i2a		    perl@5.38.0%gcc
ku7makq			berkeley-db@18.1.40%gcc
d3cncgl		automake@1.16.5%gcc
jnv5nut		m4@1.4.19%gcc
ueheij3		    diffutils@3.9%gcc
zuopqri		    libsigsegv@2.14%gcc
ybsi7tl		python@3.11.6%gcc
4oz3kpf		    bzip2@1.0.8%gcc
demnlle		    expat@2.5.0%gcc
nrlj4tj			libbsd@0.11.7%gcc
kg5ets2			    libmd@1.0.4%gcc
m626hzw		    gdbm@1.23%gcc
y26lmlo		    gettext@0.22.3%gcc
vdb3ozo			tar@1.34%gcc
catlxmo			    pigz@2.7%gcc
jkznmrm			    zstd@1.5.5%gcc
ra2t3ha		    libffi@3.4.4%gcc
hezcx7g		    libxcrypt@4.4.35%gcc
35j7wvr		    openssl@3.1.3%gcc
ct4al4u			ca-certificates-mozilla@2023-05-30%gcc
xxgqlmj		    readline@8.2%gcc
m2h5dly		    sqlite@3.43.2%gcc
thv4zdp		    util-linux-uuid@2.38.1%gcc

qqlh6as ncurses@6.4%gcc
znvoani	    gmake@4.4.1%gcc
zjgtpdo	    pkgconf@1.9.5%gcc

my64owh nghttp2@1.57.0%gcc
znvoani	    gmake@4.4.1%gcc
zjgtpdo	    pkgconf@1.9.5%gcc

mbwdizy numactl@2.0.14%gcc
mnfnoa5	    autoconf@2.69%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
4oz3kpf		    bzip2@1.0.8%gcc
m626hzw		    gdbm@1.23%gcc
xxgqlmj			readline@8.2%gcc
qqlh6as			    ncurses@6.4%gcc
zjgtpdo				pkgconf@1.9.5%gcc
5xcetrv		    zlib-ng@2.1.4%gcc
d3cncgl	    automake@1.16.5%gcc
znvoani	    gmake@4.4.1%gcc
rgag55h	    libtool@2.4.7%gcc
jnv5nut	    m4@1.4.19%gcc
ueheij3		diffutils@3.9%gcc
ivn4eq4		    libiconv@1.17%gcc
zuopqri		libsigsegv@2.14%gcc

z4iqm7n openmpi@4.1.6%gcc
znvoani	    gmake@4.4.1%gcc
dyrsjed	    hwloc@2.9.1%gcc
af4bqq6		libpciaccess@0.17%gcc
b7j7735		    util-macros@1.19.3%gcc
67qoxbv		libxml2@2.10.3%gcc
ivn4eq4		    libiconv@1.17%gcc
axxqoeq		    xz@5.4.1%gcc
qqlh6as		ncurses@6.4%gcc
mbwdizy	    numactl@2.0.14%gcc
mnfnoa5		autoconf@2.69%gcc
d3cncgl		automake@1.16.5%gcc
rgag55h		libtool@2.4.7%gcc
jnv5nut		m4@1.4.19%gcc
ueheij3		    diffutils@3.9%gcc
zuopqri		    libsigsegv@2.14%gcc
zjwxy3z	    openssh@9.5p1%gcc
tjiqlym		krb5@1.20.1%gcc
lza42n2		    bison@3.8.2%gcc
cws3eft		    findutils@4.9.0%gcc
y26lmlo		    gettext@0.22.3%gcc
vdb3ozo			tar@1.34%gcc
catlxmo			    pigz@2.7%gcc
jkznmrm			    zstd@1.5.5%gcc
s4kq4wo		libedit@3.1-20210216%gcc
hezcx7g		libxcrypt@4.4.35%gcc
35j7wvr		openssl@3.1.3%gcc
ct4al4u		    ca-certificates-mozilla@2023-05-30%gcc
dg34i2a	    perl@5.38.0%gcc
ku7makq		berkeley-db@18.1.40%gcc
4oz3kpf		bzip2@1.0.8%gcc
m626hzw		gdbm@1.23%gcc
xxgqlmj		    readline@8.2%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
fhkyvm3	    pmix@5.0.1%gcc
wpvxxka		libevent@2.1.12%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

zjwxy3z openssh@9.5p1%gcc
znvoani	    gmake@4.4.1%gcc
tjiqlym	    krb5@1.20.1%gcc
lza42n2		bison@3.8.2%gcc
jnv5nut		    m4@1.4.19%gcc
zuopqri			libsigsegv@2.14%gcc
ueheij3		diffutils@3.9%gcc
ivn4eq4		    libiconv@1.17%gcc
cws3eft		findutils@4.9.0%gcc
y26lmlo		gettext@0.22.3%gcc
4oz3kpf		    bzip2@1.0.8%gcc
67qoxbv		    libxml2@2.10.3%gcc
vdb3ozo		    tar@1.34%gcc
catlxmo			pigz@2.7%gcc
jkznmrm			zstd@1.5.5%gcc
axxqoeq		    xz@5.4.1%gcc
s4kq4wo	    libedit@3.1-20210216%gcc
zjgtpdo		pkgconf@1.9.5%gcc
hezcx7g	    libxcrypt@4.4.35%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
m626hzw		    gdbm@1.23%gcc
xxgqlmj			readline@8.2%gcc
qqlh6as	    ncurses@6.4%gcc
35j7wvr	    openssl@3.1.3%gcc
ct4al4u		ca-certificates-mozilla@2023-05-30%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

35j7wvr openssl@3.1.3%gcc
ct4al4u	    ca-certificates-mozilla@2023-05-30%gcc
dg34i2a	    perl@5.38.0%gcc
ku7makq		berkeley-db@18.1.40%gcc
4oz3kpf		bzip2@1.0.8%gcc
ueheij3		    diffutils@3.9%gcc
ivn4eq4			libiconv@1.17%gcc
m626hzw		gdbm@1.23%gcc
xxgqlmj		    readline@8.2%gcc
qqlh6as			ncurses@6.4%gcc
zjgtpdo			    pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc
znvoani		gmake@4.4.1%gcc

dg34i2a perl@5.38.0%gcc
ku7makq	    berkeley-db@18.1.40%gcc
znvoani		gmake@4.4.1%gcc
4oz3kpf	    bzip2@1.0.8%gcc
ueheij3		diffutils@3.9%gcc
ivn4eq4		    libiconv@1.17%gcc
m626hzw	    gdbm@1.23%gcc
xxgqlmj		readline@8.2%gcc
qqlh6as		    ncurses@6.4%gcc
zjgtpdo			pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

catlxmo pigz@2.7%gcc
znvoani	    gmake@4.4.1%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

zjgtpdo pkgconf@1.9.5%gcc
znvoani	    gmake@4.4.1%gcc

fhkyvm3 pmix@5.0.1%gcc
znvoani	    gmake@4.4.1%gcc
dyrsjed	    hwloc@2.9.1%gcc
af4bqq6		libpciaccess@0.17%gcc
b7j7735		    util-macros@1.19.3%gcc
67qoxbv		libxml2@2.10.3%gcc
ivn4eq4		    libiconv@1.17%gcc
axxqoeq		    xz@5.4.1%gcc
5xcetrv		    zlib-ng@2.1.4%gcc
qqlh6as		ncurses@6.4%gcc
wpvxxka	    libevent@2.1.12%gcc
mnfnoa5		autoconf@2.69%gcc
jnv5nut		    m4@1.4.19%gcc
ueheij3			diffutils@3.9%gcc
zuopqri			libsigsegv@2.14%gcc
dg34i2a		    perl@5.38.0%gcc
ku7makq			berkeley-db@18.1.40%gcc
4oz3kpf			bzip2@1.0.8%gcc
m626hzw			gdbm@1.23%gcc
xxgqlmj			    readline@8.2%gcc
d3cncgl		automake@1.16.5%gcc
rgag55h		libtool@2.4.7%gcc
35j7wvr		openssl@3.1.3%gcc
ct4al4u		    ca-certificates-mozilla@2023-05-30%gcc
zjgtpdo	    pkgconf@1.9.5%gcc

ybsi7tl python@3.11.6%gcc
4oz3kpf	    bzip2@1.0.8%gcc
ueheij3		diffutils@3.9%gcc
demnlle	    expat@2.5.0%gcc
znvoani		gmake@4.4.1%gcc
nrlj4tj		libbsd@0.11.7%gcc
kg5ets2		    libmd@1.0.4%gcc
m626hzw	    gdbm@1.23%gcc
y26lmlo	    gettext@0.22.3%gcc
ivn4eq4		libiconv@1.17%gcc
67qoxbv		libxml2@2.10.3%gcc
vdb3ozo		tar@1.34%gcc
catlxmo		    pigz@2.7%gcc
jkznmrm		    zstd@1.5.5%gcc
ra2t3ha	    libffi@3.4.4%gcc
hezcx7g	    libxcrypt@4.4.35%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
qqlh6as	    ncurses@6.4%gcc
35j7wvr	    openssl@3.1.3%gcc
ct4al4u		ca-certificates-mozilla@2023-05-30%gcc
zjgtpdo	    pkgconf@1.9.5%gcc
xxgqlmj	    readline@8.2%gcc
m2h5dly	    sqlite@3.43.2%gcc
thv4zdp	    util-linux-uuid@2.38.1%gcc
axxqoeq	    xz@5.4.1%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

xxgqlmj readline@8.2%gcc
znvoani	    gmake@4.4.1%gcc
qqlh6as	    ncurses@6.4%gcc
zjgtpdo		pkgconf@1.9.5%gcc

m2h5dly sqlite@3.43.2%gcc
znvoani	    gmake@4.4.1%gcc
xxgqlmj	    readline@8.2%gcc
qqlh6as		ncurses@6.4%gcc
zjgtpdo		    pkgconf@1.9.5%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

vdb3ozo tar@1.34%gcc
4oz3kpf	    bzip2@1.0.8%gcc
ueheij3		diffutils@3.9%gcc
znvoani	    gmake@4.4.1%gcc
ivn4eq4	    libiconv@1.17%gcc
catlxmo	    pigz@2.7%gcc
5xcetrv		zlib-ng@2.1.4%gcc
axxqoeq	    xz@5.4.1%gcc
jkznmrm	    zstd@1.5.5%gcc

qfb3pvm tcl@8.6.12%gcc
znvoani	    gmake@4.4.1%gcc
npuw4up	    zlib-ng@2.0.7%gcc  cflags="-O3"

tt2hv6r tcl@8.6.12%gcc
znvoani	    gmake@4.4.1%gcc
5xcetrv	    zlib-ng@2.1.4%gcc

thv4zdp util-linux-uuid@2.38.1%gcc
znvoani	    gmake@4.4.1%gcc
zjgtpdo	    pkgconf@1.9.5%gcc

b7j7735 util-macros@1.19.3%gcc
znvoani	    gmake@4.4.1%gcc

axxqoeq xz@5.4.1%gcc
znvoani	    gmake@4.4.1%gcc

qrx4ymp yaksa@0.3%gcc
mnfnoa5	    autoconf@2.69%gcc
dg34i2a		perl@5.38.0%gcc
ku7makq		    berkeley-db@18.1.40%gcc
d3cncgl	    automake@1.16.5%gcc
znvoani	    gmake@4.4.1%gcc
rgag55h	    libtool@2.4.7%gcc
jnv5nut	    m4@1.4.19%gcc
ueheij3		diffutils@3.9%gcc
ivn4eq4		    libiconv@1.17%gcc
zuopqri		libsigsegv@2.14%gcc
ybsi7tl	    python@3.11.6%gcc
4oz3kpf		bzip2@1.0.8%gcc
demnlle		expat@2.5.0%gcc
nrlj4tj		    libbsd@0.11.7%gcc
kg5ets2			libmd@1.0.4%gcc
m626hzw		gdbm@1.23%gcc
y26lmlo		gettext@0.22.3%gcc
67qoxbv		    libxml2@2.10.3%gcc
vdb3ozo		    tar@1.34%gcc
catlxmo			pigz@2.7%gcc
jkznmrm			zstd@1.5.5%gcc
ra2t3ha		libffi@3.4.4%gcc
hezcx7g		libxcrypt@4.4.35%gcc
qqlh6as		ncurses@6.4%gcc
35j7wvr		openssl@3.1.3%gcc
ct4al4u		    ca-certificates-mozilla@2023-05-30%gcc
zjgtpdo		pkgconf@1.9.5%gcc
xxgqlmj		readline@8.2%gcc
m2h5dly		sqlite@3.43.2%gcc
thv4zdp		util-linux-uuid@2.38.1%gcc
axxqoeq		xz@5.4.1%gcc
5xcetrv		zlib-ng@2.1.4%gcc

ffnsgi6 zlib-ng@2.0.7%gcc
znvoani	    gmake@4.4.1%gcc

npuw4up zlib-ng@2.0.7%gcc  cflags="-O3"
znvoani	    gmake@4.4.1%gcc

5xcetrv zlib-ng@2.1.4%gcc
znvoani	    gmake@4.4.1%gcc

jkznmrm zstd@1.5.5%gcc
znvoani	    gmake@4.4.1%gcc

==> 63 installed packages

Spack models the dependencies of packages as a directed acyclic graph (DAG). The spack find -d command shows the tree representation of that graph. We can also use the spack graph command to view the entire DAG as a graph.

$ spack graph hdf5+hl+mpi ^mpich
o hdf5@1.14.3/54ik6mv
|\
| |\
| | |\
| | | |\
| | o | | mpich@4.1.2/l3z27rr
| |/| | |
| | |\| |
| | |\ \ \
| | | |\ \ \
| | | | |\ \ \
| | | | | |\ \ \
| | | | | | |\ \ \
| | o | | | | | | | yaksa@0.3/qrx4ymp
| | |\ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|_|/ /
| | | | | |/| | | | | | |
| | | | | | |\ \ \ \ \ \ \
| | o | | | | | | | | | | | python@3.11.6/ybsi7tl
| |/| | | | | | | | | | | |
|/|/| | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | o | | | | | | | | | | | | | | | | | | | | | util-linux-uuid@2.38.1/thv4zdp
| | |/| | | | | | | | | | | | | | | | | | | | | |
| |/| | | | | | | | | | | | | | | | | | | | | | |
| | | | |_|_|_|_|_|_|_|_|_|_|_|/ / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | | | | |
| | | | o | | | | | | | | | | | | | | | | | | | sqlite@3.43.2/m2h5dly
| |_|_|/| | | | | | | | | | | | | | | | | | | |
|/| | |/| | | | | | | | | | | | | | | | | | | |
| | | | |/ / / / / / / / / / / / / / / / / / /
| | | | | | | o | | | | | | | | | | | | | | | libxcrypt@4.4.35/hezcx7g
| | | | |_|_|/| | | | | | | | | | | | | | | |
| | | |/| | | | | | | | | | | | | | | | | | |
| | | | | | | | o | | | | | | | | | | | | | | libffi@3.4.4/ra2t3ha
| | | | |_|_|_|/ / / / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | o | | | | | | | | | | | | | gettext@0.22.3/y26lmlo
| | | |_|_|_|_|/| | | | | | | | | | | | | |
| | |/| |_|_|_|/| | | | | | | | | | | | | |
| | | |/| | | |/| | | | | | | | | | | | | |
| | | | | | |/| | | | | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|_|_|_|_|/ / / / / /
| | | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / / / / / / /
| | | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | o | | | | | | | | | | | | | | tar@1.34/vdb3ozo
| | | |_|_|_|_|/| | | | | | | | | | | | | | |
| | |/| |_|_|_|/| | | | | | | | | | | | | | |
| | | |/| | | | | | | | | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / / / / / / / / / /
| | | | | | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | | | | |/ / / / / / / / / / / / /
| | | | | | | | o | | | | | | | | | | | | | | | zstd@1.5.5/jkznmrm
| | | | |_|_|_|/ / / / / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | | | |
| | | | | | | | o | | | | | | | | | | | | | | pigz@2.7/catlxmo
| |_|_|_|_|_|_|/| | | | | | | | | | | | | | |
|/| | | |_|_|_|/ / / / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | o | | | | | | | | | expat@2.5.0/demnlle
| | | | |_|_|_|_|_|_|_|/| | | | | | | | | |
| | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | o | | | | | | | | | libbsd@0.11.7/nrlj4tj
| | | | |_|_|_|_|_|_|_|/| | | | | | | | | |
| | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | o | | | | | | | | | libmd@1.0.4/kg5ets2
| | | | |_|_|_|_|_|_|_|/ / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | o | | | | | | automake@1.16.5/d3cncgl
| | | | |_|_|_|_|_|_|_|_|_|/| | | | | | |
| | | |/| | | | |_|_|_|_|_|/| | | | | | |
| | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | | | |/ / / / / /
| | | | | | | | | | | | | | o | | | | | autoconf@2.69/mnfnoa5
| | | | |_|_|_|_|_|_|_|_|_|/| | | | | |
| | | |/| | | | |_|_|_|_|_|/| | | | | |
| | | | | | | |/| | | | | |/ / / / / /
| | | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | | | o | | | libfabric@1.19.0/voxng34
| | | | |_|_|_|_|_|_|_|_|_|_|/ / / /
| | | |/| | | | | | | | | | | | | |
| | | | | | | | | | | | | | | o | | hwloc@2.9.1/dyrsjed
| | |_|_|_|_|_|_|_|_|_|_|_|_|/| | |
| |/| | |_|_|_|_|_|_|_|_|_|_|/| | |
| | | |/| | | |_|_|_|_|_|_|_|/| | |
| | | | | | |/| | | | |_|_|_|/| | |
| | | | | | | | | | |/| | | |/ / /
| | | | | | | | | | o | | | | | | libxml2@2.10.3/67qoxbv
| |_|_|_|_|_|_|_|_|/| | | | | | |
|/| |_|_|_|_|_|_|_|/| | | | | | |
| |/| |_|_|_|_|_|_|/| | | | | | |
| | |/| |_|_|_|_|_|/| | | | | | |
| | | |/| | | | | |/ / / / / / /
| | | | | | | | |/| | | | | | |
| | o | | | | | | | | | | | | | xz@5.4.1/axxqoeq
| | |/ / / / / / / / / / / / /
| | | | | | | | | | | | o | | libpciaccess@0.17/af4bqq6
| | |_|_|_|_|_|_|_|_|_|/| | |
| |/| |_|_|_|_|_|_|_|_|/| | |
| | |/| | | | | | | | |/| | |
| | | | | | | | | | | | o | | util-macros@1.19.3/b7j7735
| | | |_|_|_|_|_|_|_|_|/ / /
| | |/| | | | | | | | | | |
| | | | | | | | | | | o | | libtool@2.4.7/rgag55h
| | | |_|_|_|_|_|_|_|/| | |
| | |/| | | | | | | |/ / /
| | | | | | | | | | o | | m4@1.4.19/jnv5nut
| | | |_|_|_|_|_|_|/| | |
| | |/| | | | | | | | | |
| | | | | | | | | | |\ \ \
| | | | | | | | | | o | | | libsigsegv@2.14/zuopqri
| | | |_|_|_|_|_|_|/ / / /
| | |/| | | | | | | | | |
| | | | | | | | | | | o | findutils@4.9.0/cws3eft
| | | |_|_|_|_|_|_|_|/ /
| | |/| | | | | | | | |
| | | | | | | | | | | o cmake@3.27.7/kd6xihn
| |_|_|_|_|_|_|_|_|_|/|
|/| | | | | |_|_|_|_|/|
| | | | | |/| | | | | |
| | | | | | | | | | | o curl@8.4.0/ijsmc3j
| |_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|_|_|/|
| | |/| | |_|_|_|_|_|/|
| | | | |/| | | | | | |
| | | | o | | | | | | | openssl@3.1.3/35j7wvr
| |_|_|/| | | | | | | |
|/| | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \
| | | | | |_|/ / / / / /
| | | | |/| | | | | | |
| | | | o | | | | | | | perl@5.38.0/dg34i2a
| |_|_|/| | | | | | | |
|/| | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \
| | | | | |_|_|_|_|/ / /
| | | | |/| | | | | | |
| | | | | |\ \ \ \ \ \ \
| | | | | | |_|_|_|/ / /
| | | | | |/| | | | | |
o | | | | | | | | | | | zlib-ng@2.1.4/5xcetrv
| |/ / / / / / / / / /
|/| | | | | | | | | |
| | | o | | | | | | | gdbm@1.23/m626hzw
| |_|/| | | | | | | |
|/| |/ / / / / / / /
| | o | | | | | | | readline@8.2/xxgqlmj
| |/| | | | | | | |
|/| | | | | | | | |
| | | |_|_|/ / / /
| | |/| | | | | |
| | o | | | | | | ncurses@6.4/qqlh6as
| |/| | | | | | |
|/|/ / / / / / /
| | o | | | | | bzip2@1.0.8/4oz3kpf
| | | |_|_|/ /
| | |/| | | |
| | o | | | | diffutils@3.9/ueheij3
| |/| | | | |
|/| | | | | |
| | | |_|/ /
| | |/| | |
| | o | | | libiconv@1.17/ivn4eq4
| |/ / / /
|/| | | |
| | o | | berkeley-db@18.1.40/ku7makq
| |/ / /
|/| | |
| | o | ca-certificates-mozilla@2023-05-30/ct4al4u
| |  /
| | o nghttp2@1.57.0/my64owh
| |/|
|/|/
| o pkgconf@1.9.5/zjgtpdo
|/
o gmake@4.4.1/znvoani

HDF5 is more complicated than our basic example of zlib-ng and Tcl, but it’s still within the realm of software that an experienced HPC user could reasonably expect to manually install given a bit of time. Now let’s look at an even more complicated package.

$ spack install trilinos
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.7-catlxmodt7sirns2di5pod576omq32hk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/numactl-2.0.14-mbwdizyinycylldk4lrjvq2y474cd5bk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libedit-3.1-20210216-s4kq4wo6ii3vt3s354agguqm462yu32q
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35-hezcx7ggdisbf6oqol5ucfch7emlggqk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libevent-2.1.12-wpvxxkafb3j7uc465iekvpyhew3brhl7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga
==> Installing kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f [26/32]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/kokkos-4.1.00/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f.spack
==> Extracting kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f from binary cache
==> kokkos: Successfully installed kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f
  Search: 0.00s.  Fetch: 0.09s.	 Install: 0.17s.  Extract: 0.15s.  Relocate: 0.01s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pmix-5.0.1-fhkyvm3nsv5cjxhfszdx2y3rieh274vn
==> Installing openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6 [28/32]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openblas-0.3.24/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6.spack
==> Extracting openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6 from binary cache
==> openblas: Successfully installed openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6
  Search: 0.00s.  Fetch: 0.04s.	 Install: 0.68s.  Extract: 0.63s.  Relocate: 0.05s.  Total: 0.73s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/krb5-1.20.1-tjiqlymlbmjxyyvwlkumu4qq65nuqr3w
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssh-9.5p1-zjwxy3znkrc3yslkm3eoyewet5bxacjc
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openmpi-4.1.6-z4iqm7nipxsdam3chio7r74ob3cznoof
==> Installing trilinos-14.4.0-46nzgyjf7brdinl7hi5iyyinm6au54mz [32/32]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-14.4.0-46nzgyjf7brdinl7hi5iyyinm6au54mz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-14.4.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-14.4.0-46nzgyjf7brdinl7hi5iyyinm6au54mz.spack
==> Extracting trilinos-14.4.0-46nzgyjf7brdinl7hi5iyyinm6au54mz from binary cache
==> trilinos: Successfully installed trilinos-14.4.0-46nzgyjf7brdinl7hi5iyyinm6au54mz
  Search: 0.00s.  Fetch: 0.05s.	 Install: 1.73s.  Extract: 1.60s.  Relocate: 0.12s.  Total: 1.78s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-14.4.0-46nzgyjf7brdinl7hi5iyyinm6au54mz

Now we’re starting to see the power of Spack. Trilinos in its default configuration has 23 top level dependencies, many of which have dependencies of their own. Installing more complex packages can take days or weeks even for an experienced user. Although we’ve done a binary installation for the tutorial, a source installation of Trilinos using Spack takes about 3 hours (depending on the system), but only 20 seconds of programmer time.

Spack manages consistency of the entire DAG. Every MPI dependency will be satisfied by the same configuration of MPI, etc. If we install Trilinos again specifying a dependency on our previous HDF5 built with MPICH:

$ spack install trilinos +hdf5 ^hdf5+hl+mpi ^mpich
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.57.0-my64owhngq5r4nl2lpysh2skvrq3nlo5
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.1.3-35j7wvrf3jovxokjkzdrpv265sfrjwga
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-af4bqq6hwe23ojn7i3o2n7ws2b7wu64m
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/yaksa-0.3-qrx4ymppmpsvloibdgwgao722aoaymz4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openblas-0.3.24-ksqcytobbocswt2qcw3q3tgmeu4acph6
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libfabric-1.19.0-voxng34f553p4suxv7cdrbeyk2li3nje
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/kokkos-4.1.00-66qtu3ee26xv4pfrumw6t3d7o7gxqq6f
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-1.9.5-zjgtpdofa5acoyfs62cczvdj3gjngy3y
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.4.0-ijsmc3jx2cjmdy2svodqqkeimkooheod
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.9.1-dyrsjedv3fxwdi3sutxieq2rcz4etdib
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.27.7-kd6xihnhlzyfwafeilow6t2mvolyryor
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpich-4.1.2-l3z27rrcuod3irlyhu4nehjxridjaeam
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj
==> Installing trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt [20/20]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-14.4.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt.spack
==> Extracting trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt from binary cache
==> trilinos: Successfully installed trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt
  Search: 0.00s.  Fetch: 0.14s.	 Install: 1.72s.  Extract: 1.60s.  Relocate: 0.10s.  Total: 1.85s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt

We see that every package in the Trilinos DAG that depends on MPI now uses MPICH.

$ spack find -d trilinos
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
trilinos@14.4.0
    cmake@3.27.7
	curl@8.4.0
	    nghttp2@1.57.0
	    openssl@3.1.3
		ca-certificates-mozilla@2023-05-30
	ncurses@6.4
	zlib-ng@2.1.4
    gmake@4.4.1
    hwloc@2.9.1
	libpciaccess@0.17
	    libtool@2.4.7
	    util-macros@1.19.3
	libxml2@2.10.3
	    libiconv@1.17
	    xz@5.4.1
	pkgconf@1.9.5
    kokkos@4.1.00
    openblas@0.3.24
	perl@5.38.0
	    berkeley-db@18.1.40
	    bzip2@1.0.8
		diffutils@3.9
	    gdbm@1.23
		readline@8.2
    openmpi@4.1.6
	numactl@2.0.14
	    autoconf@2.69
	    automake@1.16.5
	    m4@1.4.19
		libsigsegv@2.14
	openssh@9.5p1
	    krb5@1.20.1
		bison@3.8.2
		findutils@4.9.0
		gettext@0.22.3
		    tar@1.34
			pigz@2.7
			zstd@1.5.5
	    libedit@3.1-20210216
	    libxcrypt@4.4.35
	pmix@5.0.1
	    libevent@2.1.12

trilinos@14.4.0
    cmake@3.27.7
	curl@8.4.0
	    nghttp2@1.57.0
	    openssl@3.1.3
		ca-certificates-mozilla@2023-05-30
	ncurses@6.4
	zlib-ng@2.1.4
    gmake@4.4.1
    hdf5@1.14.3
	pkgconf@1.9.5
    hwloc@2.9.1
	libpciaccess@0.17
	    libtool@2.4.7
	    util-macros@1.19.3
	libxml2@2.10.3
	    libiconv@1.17
	    xz@5.4.1
    kokkos@4.1.00
    mpich@4.1.2
	findutils@4.9.0
	libfabric@1.19.0
	yaksa@0.3
	    autoconf@2.69
	    automake@1.16.5
	    m4@1.4.19
		diffutils@3.9
		libsigsegv@2.14
	    python@3.11.6
		expat@2.5.0
		    libbsd@0.11.7
			libmd@1.0.4
		gettext@0.22.3
		    tar@1.34
			pigz@2.7
			zstd@1.5.5
		libffi@3.4.4
		libxcrypt@4.4.35
		readline@8.2
		sqlite@3.43.2
		util-linux-uuid@2.38.1
    openblas@0.3.24
	perl@5.38.0
	    berkeley-db@18.1.40
	    bzip2@1.0.8
	    gdbm@1.23

==> 2 installed packages

As we discussed before, the spack find -d command shows the dependency information as a tree. While that is often sufficient, many complicated packages, including Trilinos, have dependencies that cannot be fully represented as a tree. Again, the spack graph command shows the full DAG of the dependency information.

$ spack graph trilinos
o trilinos@14.4.0/46nzgyj
|\
| |\
| | |\
| | | |\
| | | | |\
o | | | | | openmpi@4.1.6/z4iqm7n
|\ \ \ \ \ \
| |\ \ \ \ \ \
| | |\ \ \ \ \ \
| | | |\ \ \ \ \ \
| | | | |\ \ \ \ \ \
| | | | | |\ \ \ \ \ \
| | | | | | |\ \ \ \ \ \
| | | | | | | |_|_|/ / /
| | | | | | |/| | | | |
| | | | | | | | |/ / /
| | | | | | | |/| | |
| o | | | | | | | | | pmix@5.0.1/fhkyvm3
| |\| | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|/ / / / /
| | |/| | | | | | | | |
| | | | |_|_|/ / / / /
| | | |/| | | | | | |
| o | | | | | | | | | libevent@2.1.12/wpvxxka
| |\ \ \ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / /
| | | |/| | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | o | | | | openssh@9.5p1/zjwxy3z
| |_|_|_|_|_|_|_|/| | | | |
|/| |_|_|_|_|_|_|/| | | | |
| |/| | |_|_|_|_|/| | | | |
| | | |/| | | | | | | | | |
| | | | | | | | | |\ \ \ \ \
| | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | o | | | | | | libxcrypt@4.4.35/hezcx7g
| | | | |_|_|_|_|_|/| | | | | | |
| | | |/| | | | | |/ / / / / / /
| | | | | | | | |/| | | | | | |
| | | | | | | | | | o | | | | | libedit@3.1-20210216/s4kq4wo
| | | | |_|_|_|_|_|/| | | | | |
| | | |/| | | | |_|/| | | | | |
| | | | | | | |/| |/ / / / / /
| | | | | | | | | | o | | | | krb5@1.20.1/tjiqlym
| | |_|_|_|_|_|_|_|/| | | | |
| |/| | |_|_|_|_|_|/| | | | |
| | | |/| | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | o | | | | | | findutils@4.9.0/cws3eft
| | | | |_|_|_|_|_|_|/ / / / / / /
| | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | o | | | | bison@3.8.2/lza42n2
| | | | |_|_|_|_|_|_|_|/| | | | |
| | | |/| | | | | |_|_|/| | | | |
| | | | | | | | |/| | |/| | | | |
| | | | | | | | | | |/|/| | | | |
| | | | | | | | | | o | | | | | | gettext@0.22.3/y26lmlo
| | | | |_|_|_|_|_|/| | | | | | |
| | | |/| | | | | |/| | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | o | | | | | | | | | tar@1.34/vdb3ozo
| | | | |_|_|_|_|_|_|/| | | | | | | | | |
| | | |/| | | | | | |/| | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | |_|/ / / / / / / /
| | | | | | | | | | | | | |/| | | | | | | | |
| | | | | | | | | | | | | | |/ / / / / / / /
| | | | | | | | | | | o | | | | | | | | | | zstd@1.5.5/jkznmrm
| | | | |_|_|_|_|_|_|/ / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | | | | | | | | o | | | | | | | | | pigz@2.7/catlxmo
| |_|_|_|_|_|_|_|_|_|/| | | | | | | | | |
|/| | | |_|_|_|_|_|_|/ / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | o | | | numactl@2.0.14/mbwdizy
| | | |_|_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | | | |/| | | | | | | | | |/ / / /
| | | | o | | | | | | | | | | | | | | automake@1.16.5/d3cncgl
| | | |/| | | | | | | | | | | | | | |
| | | | |\| | | | | | | | | | | | | |
| | | | | |_|_|/ / / / / / / / / / /
| | | | |/| | | | | | | | | | | | |
| | | | | o | | | | | | | | | | | | autoconf@2.69/mnfnoa5
| | | | |/| | | | | | | | | | | | |
| | | |/|/| | | | | | | | | | | | |
| | | | | | |_|_|_|_|_|_|_|/ / / /
| | | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | | o | | openblas@0.3.24/ksqcyto
| | | | |_|_|_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|_|_|/ / /
| | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | | o | kokkos@4.1.00/66qtu3e
| | | | |_|_|_|_|_|_|_|_|_|/| |
| | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | |/
| | | | | | o | | | | | | | | hwloc@2.9.1/dyrsjed
| | | | |_|/| | | | | | | | |
| | | |/| | | | | | | | | | |
| | | | | | |\| | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |_|/ / / / / / /
| | | | | | |/| | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|_|/ / /
| | | | | | | |/| | | | | | |
| | | | | | | o | | | | | | | libxml2@2.10.3/67qoxbv
| |_|_|_|_|_|/| | | | | | | |
|/| | | |_|_|/| | | | | | | |
| | | |/| | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | |_|_|/ / / / /
| | | | | | | |/| | | | | | |
| | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | |_|/ / / / /
| | | | | | | | |/| | | | | |
| | | | | | | | | |/ / / / /
| | | | | | | o | | | | | | xz@5.4.1/axxqoeq
| | | | |_|_|/ / / / / / /
| | | |/| | | | | | | | |
| | | | | | | | | o | | | libpciaccess@0.17/af4bqq6
| | | |_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|/| | | |
| | | |/| | | | |/| | | |
| | | | | | | |/| | | | |
| | | | | | | | | o | | | util-macros@1.19.3/b7j7735
| | | | |_|_|_|_|/ / / /
| | | |/| | | | | | | |
| | o | | | | | | | | | libtool@2.4.7/rgag55h
| | |\| | | | | | | | |
| | | |_|/ / / / / / /
| | |/| | | | | | | |
| | o | | | | | | | | m4@1.4.19/jnv5nut
| | |\| | | | | | | |
| | |\ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|/ /
| | | |/| | | | | | |
| | o | | | | | | | | libsigsegv@2.14/zuopqri
| | | |/ / / / / / /
| | |/| | | | | | |
| | | | | | | | | o cmake@3.27.7/kd6xihn
| |_|_|_|_|_|_|_|/|
|/| | | | | |_|_|/|
| | | | | |/| | | |
| | | | | | | | | o curl@8.4.0/ijsmc3j
| |_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|/|
| | |/| | | | |_|/|
| | | | | | |/| | |
| o | | | | | | | | openssl@3.1.3/35j7wvr
|/| | | | | | | | |
| |\ \ \ \ \ \ \ \ \
| | |_|_|/ / / / / /
| |/| | | | | | | |
| o | | | | | | | | perl@5.38.0/dg34i2a
|/| | | | | | | | |
| |\ \ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|/ /
| | |/| | | | | | | |
o | | | | | | | | | | zlib-ng@2.1.4/5xcetrv
| |_|_|_|/ / / / / /
|/| | | | | | | | |
| o | | | | | | | | gdbm@1.23/m626hzw
|/| | | | | | | | |
| o | | | | | | | | readline@8.2/xxgqlmj
|/| | | | | | | | |
| | |_|_|_|/ / / /
| |/| | | | | | |
| o | | | | | | | ncurses@6.4/qqlh6as
|/| | | | | | | |
| | |_|_|_|/ / /
| |/| | | | | |
| | o | | | | | bzip2@1.0.8/4oz3kpf
| | | |_|/ / /
| | |/| | | |
| | o | | | | diffutils@3.9/ueheij3
| |/| | | | |
|/| | | | | |
| | | |_|/ /
| | |/| | |
| | o | | | libiconv@1.17/ivn4eq4
| |/ / / /
|/| | | |
| | o | | berkeley-db@18.1.40/ku7makq
| |/ / /
|/| | |
| | o | ca-certificates-mozilla@2023-05-30/ct4al4u
| |  /
| | o nghttp2@1.57.0/my64owh
| |/|
|/|/
| o pkgconf@1.9.5/zjgtpdo
|/
o gmake@4.4.1/znvoani

You can control how the output is displayed with a number of options.

The ASCII output from spack graph can be difficult to parse for complicated packages. The output can be changed to the Graphviz .dot format using the --dot flag.

$ spack graph --dot trilinos | dot -Tpdf > trilinos_graph.pdf

Uninstalling Packages

Earlier we installed many configurations each of zlib-ng and Tcl. Now we will go through and uninstall some of those packages that we didn’t really need.

$ spack find -d tcl
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
tcl@8.6.12
    gmake@4.4.1
    zlib-ng@2.0.7


-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
tcl@8.6.12
    gmake@4.4.1
    zlib-ng@2.0.7

tcl@8.6.12
    gmake@4.4.1
    zlib-ng@2.1.4

==> 3 installed packages
$ spack find zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
zlib-ng@2.0.7  zlib-ng@2.1.4

-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
zlib-ng@2.1.4

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
zlib-ng@2.0.7  zlib-ng@2.0.7  zlib-ng@2.1.4
==> 6 installed packages

We can uninstall packages by spec using the same syntax as install.

$ spack uninstall -y zlib-ng %gcc@10
==> Successfully uninstalled zlib-ng@2.1.4%gcc@10.5.0+compat+opt build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/tm2or5e
$ spack find -lf zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
amkpmim zlib-ng@2.0.7%clang   hywknao zlib-ng@2.1.4%clang

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
ffnsgi6 zlib-ng@2.0.7%gcc		  5xcetrv zlib-ng@2.1.4%gcc
npuw4up zlib-ng@2.0.7%gcc  cflags="-O3"
==> 5 installed packages

We can also uninstall packages by referring only to their hash.

We can use either -f (force) or -R (remove dependents as well) to remove packages that are required by another installed package.

$ spack uninstall zlib-ng/amk
==> Refusing to uninstall the following specs
    -- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
    amkpmim zlib-ng@2.0.7

==> The following dependents are still installed:
    -- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
    keocaqa tcl@8.6.12

==> Error: There are still dependents.
  use `spack uninstall --dependents` to remove dependents too
  use `spack uninstall --force` to override
$ spack uninstall -y -R zlib-ng/amk
==> Successfully uninstalled tcl@8.6.12%clang@14.0.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/keocaqa
==> Successfully uninstalled zlib-ng@2.0.7%clang@14.0.0+compat+opt build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/amkpmim

Spack will not uninstall packages that are not sufficiently specified. The -a (all) flag can be used to uninstall multiple packages at once.

$ spack uninstall trilinos
==> Error: trilinos matches multiple packages:

    -- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
    46nzgyj trilinos@14.4.0  gnrf5ri trilinos@14.4.0

==> Error: You can either:
    a) use a more specific spec, or
    b) specify the spec by its hash (e.g. `spack uninstall /hash`), or
    c) use `spack uninstall --all` to uninstall ALL matching specs.
$ spack uninstall /46n
y
==> The following 1 packages will be uninstalled:

    -- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
    46nzgyj trilinos@14.4.0

==> Do you want to proceed? [y/N] ==> Successfully uninstalled trilinos@14.4.0%gcc@11.4.0~adelus~adios2+amesos+amesos2+anasazi+aztec~basker+belos~boost~chaco~complex~cuda~cuda_rdc~debug~dtk+epetra+epetraext~epetraextbtf~epetraextexperimental~epetraextgraphreorderings~exodus+explicit_template_instantiation~float+fortran~gtest~hdf5~hypre+ifpack+ifpack2~intrepid~intrepid2~ipo~isorropia+kokkos~mesquite~minitensor+ml+mpi+muelu~mumps~nox~openmp~panzer~phalanx~piro~python~rocm~rocm_rdc~rol~rythmos+sacado~scorec~shards+shared~shylu~stk~stokhos~stratimikos~strumpack~suite-sparse~superlu~superlu-dist~teko~tempus~test~thyra+tpetra~trilinoscouplings~wrapper~x11~zoltan~zoltan2 build_system=cmake build_type=Release cxxstd=17 generator=make gotype=long_long arch=linux-ubuntu22.04-x86_64_v3/46nzgyj

Advanced spack find Usage

We will go over some additional uses for the spack find command not already covered in the Installing Spack and Uninstalling Packages sections.

The spack find command can accept what we call “anonymous specs.” These are expressions in spec syntax that do not contain a package name. For example, spack find ^mpich will return every installed package that depends on MPICH, and spack find cflags="-O3" will return every package which was built with cflags="-O3".

$ spack find ^mpich
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
hdf5@1.14.3  trilinos@14.4.0
==> 2 installed packages
$ spack find cflags=-O3
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
zlib-ng@2.0.7
==> 1 installed package

The find command can also show which packages were installed explicitly (rather than pulled in as a dependency) using the lowercase -x flag. The uppercase -X flag shows implicit installs only. The find command can also show the path to which a Spack package was installed using the -p flag.

$ spack find -px
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
zlib-ng@2.1.4  /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.1.4-hywknaoywohnvaldqch2ly74svzezfrw

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
gmake@4.4.1	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
hdf5@1.14.3	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-scxtjf3337ivhhuegqzfrpzvls7c5qbb
hdf5@1.14.3	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-7eeohwaegvx2xa3ybcdsont2qmllii2i
hdf5@1.14.3	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.3-54ik6mvay2cwhoznzuhkud57dqeat7mj
tcl@8.6.12	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-qfb3pvmra4r2pbhuklpbtk77wdwzfpxj
tcl@8.6.12	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-tt2hv6rwgikh7fzzrbkveukdhs2jmioe
trilinos@14.4.0	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-14.4.0-gnrf5rihwn3bvmc2sdmgpdrqbgdp2xwt
zlib-ng@2.0.7	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-ffnsgi66pitfl3r6drsojucl66osakje
zlib-ng@2.0.7	 /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-npuw4upl6iiyuihnlv4qxnw4fjatcg4h
==> 10 installed packages

Customizing Compilers

Spack manages a list of available compilers on the system, detected automatically from the user’s PATH variable. The spack compilers command is an alias for the command spack compiler list.

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

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

The compilers are maintained in a YAML file. Later in the tutorial you will learn how to configure compilers by hand for special cases. Spack also has tools to add compilers, and compilers built with Spack can be added to the configuration.

$ spack install gcc@12
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-ivn4eq42mmvco5l3drcxjzbmpto5nfi2
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-znvoaniggvauzxv4yobchqt4g7tyjuc7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-4oz3kpfibmlvfizzivudj7pnzm2w7ce7
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.1-axxqoeqv4lckdxrkvdp6f376ndmade4c
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-ku7makqmto7yrue2y3duu2phqtnvqd26
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-rgag55hxbjmkoqpx4gnr2golz2zfyvnt
==> Installing autoconf-archive-2023.02.20-4wbogd6h4jop5ktv44amjnwgadxs4x7s [7/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-archive-2023.02.20-4wbogd6h4jop5ktv44amjnwgadxs4x7s.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-4wbogd6h4jop5ktv44amjnwgadxs4x7s.spack
==> Extracting autoconf-archive-2023.02.20-4wbogd6h4jop5ktv44amjnwgadxs4x7s from binary cache
==> autoconf-archive: Successfully installed autoconf-archive-2023.02.20-4wbogd6h4jop5ktv44amjnwgadxs4x7s
  Search: 0.00s.  Fetch: 0.08s.	 Install: 0.14s.  Extract: 0.12s.  Relocate: 0.00s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-archive-2023.02.20-4wbogd6h4jop5ktv44amjnwgadxs4x7s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.1.4-5xcetrvs3fzd7k27dw5duyxitnsy4uvh
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.9-ueheij3wbhepmelnkti3jsglzzknb4en
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14-zuopqrik4y7vhqq2isjnr6mbixyks4uk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.4-qqlh6asufg6vhjnkbhwxl3jmocyolykt
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.5-jkznmrmqdgtpzvs42qxljrjs6m6f6aho
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.10.3-67qoxbv3pyyep745wytvlgnnosn6pwnr
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.7-catlxmodt7sirns2di5pod576omq32hk
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-jnv5nut43juhm7esjn3tvxas6m67zbx4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-xxgqlmjyegrwwuq2pq4zaq7y6qojp3mz
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-vdb3ozocdu73c4gl45gnzcjgscfye6mg
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-m626hzwxamau2a4cbu2hptq477qnufc4
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.3-y26lmloj3u6romzd6j3xdfiib7gnkbga
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.38.0-dg34i2ae7omo77k6ntqkb6zi76gmeava
==> Installing texinfo-7.0.3-km6pqxpokzzltdfmos6imx5ema426pbo [21/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-texinfo-7.0.3-km6pqxpokzzltdfmos6imx5ema426pbo.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-km6pqxpokzzltdfmos6imx5ema426pbo.spack
==> Extracting texinfo-7.0.3-km6pqxpokzzltdfmos6imx5ema426pbo from binary cache
==> texinfo: Successfully installed texinfo-7.0.3-km6pqxpokzzltdfmos6imx5ema426pbo
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.19s.  Extract: 0.16s.  Relocate: 0.03s.  Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/texinfo-7.0.3-km6pqxpokzzltdfmos6imx5ema426pbo
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.69-mnfnoa5qnshe7gdq7gnlkwowqxyrymia
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5-d3cncglfvi2mpx7ytpfqnleyc233qcej
==> Installing gmp-6.2.1-2fyiqrpectdqmzxrocihc3d6liwcog7q [24/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmp-6.2.1-2fyiqrpectdqmzxrocihc3d6liwcog7q.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-2fyiqrpectdqmzxrocihc3d6liwcog7q.spack
==> Extracting gmp-6.2.1-2fyiqrpectdqmzxrocihc3d6liwcog7q from binary cache
==> gmp: Successfully installed gmp-6.2.1-2fyiqrpectdqmzxrocihc3d6liwcog7q
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.2.1-2fyiqrpectdqmzxrocihc3d6liwcog7q
==> Installing mpfr-4.2.0-qpadvjwbtznek4qmw4juuzibprsy6hq2 [25/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpfr-4.2.0-qpadvjwbtznek4qmw4juuzibprsy6hq2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpfr-4.2.0-qpadvjwbtznek4qmw4juuzibprsy6hq2.spack
==> Extracting mpfr-4.2.0-qpadvjwbtznek4qmw4juuzibprsy6hq2 from binary cache
==> mpfr: Successfully installed mpfr-4.2.0-qpadvjwbtznek4qmw4juuzibprsy6hq2
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.08s.  Relocate: 0.01s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.0-qpadvjwbtznek4qmw4juuzibprsy6hq2
==> Installing mpc-1.3.1-jueol5ka7fjf36klccht5uhmdlc5hive [26/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpc-1.3.1-jueol5ka7fjf36klccht5uhmdlc5hive.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-jueol5ka7fjf36klccht5uhmdlc5hive.spack
==> Extracting mpc-1.3.1-jueol5ka7fjf36klccht5uhmdlc5hive from binary cache
==> mpc: Successfully installed mpc-1.3.1-jueol5ka7fjf36klccht5uhmdlc5hive
  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/mpc-1.3.1-jueol5ka7fjf36klccht5uhmdlc5hive
==> Installing gawk-5.2.2-t4xydm4ppyli6uphcmirv4kov6qhtamw [27/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gawk-5.2.2-t4xydm4ppyli6uphcmirv4kov6qhtamw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gawk-5.2.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gawk-5.2.2-t4xydm4ppyli6uphcmirv4kov6qhtamw.spack
==> Extracting gawk-5.2.2-t4xydm4ppyli6uphcmirv4kov6qhtamw from binary cache
==> gawk: Successfully installed gawk-5.2.2-t4xydm4ppyli6uphcmirv4kov6qhtamw
  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-11.4.0/gawk-5.2.2-t4xydm4ppyli6uphcmirv4kov6qhtamw
==> Installing gcc-12.3.0-chmemdiqoycjlxz2myvdxqzt5don54uw [28/28]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-12.3.0-chmemdiqoycjlxz2myvdxqzt5don54uw.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-chmemdiqoycjlxz2myvdxqzt5don54uw.spack
==> Extracting gcc-12.3.0-chmemdiqoycjlxz2myvdxqzt5don54uw from binary cache
==> gcc: Successfully installed gcc-12.3.0-chmemdiqoycjlxz2myvdxqzt5don54uw
  Search: 0.00s.  Fetch: 0.69s.	 Install: 12.14s.  Extract: 10.85s.  Relocate: 1.28s.  Total: 12.84s
[+] /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-chmemdiqoycjlxz2myvdxqzt5don54uw
$ spack find -p gcc
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
gcc@12.3.0  /home/spack/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-chmemdiqoycjlxz2myvdxqzt5don54uw
==> 1 installed package

We can add GCC to Spack as an available compiler using the spack compiler add command. This will allow future packages to build with gcc@12.3.0. To avoid having to copy and paste GCC’s path, we can use spack location -i to get the installation prefix.

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

We can also remove compilers from our configuration using spack compiler remove <compiler_spec>

$ spack compiler remove gcc@12
==> gcc@12.3.0 has been removed