Basic Installation Tutorial

This tutorial will provide a step-by-step guide for installing software with Spack. We will begin by introducing the spack install command, highlighting the versatility of Spack’s spec syntax and the flexibility it offers users. Next, we will demonstrate how to use the spack find command to view installed packages, as well as the spack uninstall command to remove them.

Additionally, we will discuss how Spack manages compilers, with a particular focus on using Spack-built compilers within the Spack environment. Throughout the tutorial, we will present complete command outputs; however, we will often emphasize only the most relevant sections or simply confirm successful execution. All examples and outputs are based on an Ubuntu 22.04 Docker image.

Installing Spack

Spack is ready to use immediately after installation. To get started, we simply clone the Spack repository and check out the latest release, v1.0.

$ git clone --depth=2 --branch=releases/v1.0 https://github.com/spack/spack.git ~/spack
Cloning into '/home/spack/spack'...
remote: Enumerating objects: 2294, done.K
remote: Counting objects: 100% (2294/2294), done.K
remote: Compressing objects: 100% (1547/1547), done.K
remote:nTotale2294 (delta2305),2reused 1263 (delta 235), pack-reused 0 (from 0)K
Receiving objects: 100% (2294/2294), 5.29 MiB | 13.06 MiB/s, done.
Resolving deltas: 100% (305/305), done.
$ cd ~/spack

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

$ . share/spack/setup-env.sh

For this tutorial we’ll also pin the packages repository to 2025.07.0 to make use of the binary caches later on by running:

$ spack repo update builtin --tag v2025.07.0
remote: Enumerating objects: 22240, done.K
remote: Counting objects: 100% (22240/22240), done.K
remote: Compressing objects: 100% (11482/11482), done.K
remote: Total 22240 (delta 3188), reused 15856 (delta 2175), pack-reused 0 (from 0)K
Note: switching to 'v2025.07.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 4b8bb351 turn off all hipblaslt dependents
==> builtin: Updated sucessfully.

And now we’re good to go!

What is in Spack?

The spack list command shows available packages.

$ spack list
3dtk
3proxy
7zip
abacus
abduco

The spack list command can also take a query string. Spack automatically adds wildcards to both ends of the string, or we can add our own wildcards for more advanced searches. For example, let’s view all available Python packages.

$ spack list 'py-*'
py-3to2					  py-multi-imbalance
py-4suite-xml				  py-multi-key-dict
py-a2wsgi				  py-multidict
py-abcpy				  py-multiecho
py-abipy				  py-multipledispatch

Installing Packages

Installing a package with Spack is very simple. To install a software package, type:

$ spack install <package_name>

Let’s go ahead and install gmake,

$ spack install gmake
==> Compilers have been configured automatically from PATH inspection
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
==> No binary for compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee found: installing from source
==> Installing compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee [3/5]
==> Fetching https://mirror.spack.io/_source-cache/archive/c6/c65a9d2b2d4eef67ab5cb0684d706bb9f005bb2be94f53d82683d7055bdb837c
    [100%]   30.23 KB @	  44.7 MB/s
==> No patches needed for compiler-wrapper
==> compiler-wrapper: Executing phase: 'install'
==> compiler-wrapper: Successfully installed compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
  Stage: 0.21s.	 Install: 0.00s.  Post-install: 0.01s.	Total: 0.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
==> No binary for gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr found: installing from source
==> Installing gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr [4/5]
==> No patches needed for gcc-runtime
==> gcc-runtime: Executing phase: 'install'
==> gcc-runtime: Successfully installed gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
  Stage: 0.00s.	 Install: 0.05s.  Post-install: 0.03s.	Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
==> No binary for gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g found: installing from source
==> Installing gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g [5/5]
==> Fetching https://mirror.spack.io/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
    [100%]   62.35 MB @	  44.6 MB/s
==> No patches needed for gmake
==> gmake: Executing phase: 'install'
==> gmake: Successfully installed gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
  Stage: 0.29s.	 Install: 11.11s.  Post-install: 0.01s.	 Total: 11.43s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g

You will see Spack installed gmake, gcc, gcc-runtime, and glibc. The glibc and gcc-runtime packages are automatically tracked by Spack to manage consistency requirements among compiler runtimes. These do not represent separate software builds from source, but are records of the compiler runtime components Spack used for the install. For the rest of this section, we’ll ignore these components and focus on the packages explicitly installed and their listed dependencies.

The gcc package was found on the system and Spack used it because gmake requires a compiler to build from source. Compilers are handled somewhat specially in Spack; Spack searches the PATH environment variable for compilers automatically. We can run spack compiler list or simply spack compilers to show all the compilers Spack found.

$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e]  gcc@11.4.0	 [e]  gcc@10.5.0

-- llvm ubuntu22.04-x86_64 --------------------------------------
[e]  llvm@14.0.0

All compilers that Spack found will be configured as external packages – we’ll talk more about externals in the “Spack Concepts” slides and in Configuration Tutorial later on.

Spack can install software either from source or from a binary cache. Packages in the binary cache are signed with GPG for security. For this tutorial we have prepared a binary cache so we don’t have to wait for slow compilation from source. To enable installation from the binary cache, we’ll need to configure Spack with the location of the cache and trust the GPG key that the binaries were signed with.

$ spack mirror add tutorial /mirror
$ spack buildcache keys --install --trust
==> Fetching file:///mirror/blobs/sha256/6b/6b5ff21385a794d73d6ddc75f6d83b3ae0df13ed5aa924c0cb186486782d0bdb
    [100%]   56.00  B @	 368.2 KB/s
==> Fetching file:///mirror/blobs/sha256/e4/e483cfc4f0347deafe6cac7dee98a92056531d66efb863d745da7f6161ece414
    [100%]    1.68 KB @	  12.4 MB/s
gpg: key 6CB926D3D65DAD54: public key "Spack Developers (GPG created for Spack) <spackbot@spack.io>" imported
gpg: Total number processed: 1
gpg:		   imported: 1
gpg: inserting ownertrust of 6

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

Now that we understand how Spack handles installations, let’s explore how we can customize what gets installed. Spack’s “spec” syntax is the interface by which we can request specific configurations of a package. The % sigil is used to specify direct dependencies like a package’s compiler. For example, we can install zlib (a commonly used compression library), but instead of building it with the GCC compiler as we did for gmake previously, we’ll install it with %clang to build it with the clang compiler.

$ spack install zlib-ng %clang
==> Fetching file:///mirror/blobs/sha256/c4/c4b11cd40034b34f52272a3f0fdcaf267f44f5548940861bfb4d1a2f5d09415f
    [100%]  334.82 KB @	 594.1 MB/s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external llvm-14.0.0-oc4qy2fa3ev6uf3hrf5khutfgs6ogkup)
==> Fetching file:///mirror/blobs/sha256/16/1657d5838e6a75a98841136715f6be66608f9af950e292ccb2df9de5f395f069
    [100%]  359.81 KB @	 528.2 MB/s
==> Extracting gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n from binary cache
==> gmake: Successfully installed gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
  Search: 0.00s.  Fetch: 0.11s.	 Install: 0.05s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
==> Installing gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n [4/5]
==> Fetching file:///mirror/blobs/sha256/a0/a09307053c27c996ebdecea3325064ee7123b8880d87b0bb9117ce03289e5d36
    [100%]  237.49 KB @	 558.4 MB/s
==> Extracting zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf
==> Installing zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf [5/5]

Notice that this installation is located separately from the previous one. We’ll explore this concept in more detail later, but this separation is fundamental to how Spack supports multiple configurations and versions of software packages simultaneously.

Now that we’ve seen how Spack handles separate installations, let’s explore this capability by installing multiple versions of the same package. Before we install additional versions, we can check the versions available to us using the spack versions command. Let’s check what versions of zlib-ng are available, and then we’ll install a different version to demonstrate Spack’s flexibility in managing multiple package versions.

$ spack versions zlib-ng
==> Safe versions (already checksummed):
  2.2.4	 2.2.3	2.2.2  2.2.1  2.1.7  2.1.6  2.1.5  2.1.4  2.0.7	 2.0.0
==> Remote versions (not yet checksummed):
  2.2.0	 2.1.8

The @ sigil is used to specify versions.

$ spack install zlib-ng@2.0.7
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external llvm-14.0.0-oc4qy2fa3ev6uf3hrf5khutfgs6ogkup)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
==> Fetching file:///mirror/blobs/sha256/5a/5ac9321182ab0e8b90eccfe3fdbadfa94a23eac2e0a499911d2b8153badb72ce
    [100%]  194.02 KB @	 468.2 MB/s
==> Extracting zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.00s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a
==> Installing zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a [5/5]

The spec syntax is recursive – any syntax we can specify for the “root” package (zlib-ng) we can also use for a dependency.

$ spack install zlib-ng %gcc@10
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-10.5.0-7w652unbwycxl4x52tqudhxjhadil6u4)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
==> Fetching file:///mirror/blobs/sha256/2e/2e1b8995e1edc80a946186493b2c5e18e373db61def459ab70973e3453933b69
    [100%]   10.25 MB @	 351.3 GB/s
==> Extracting gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg
  Search: 0.00s.  Fetch: 0.12s.	 Install: 0.26s.  Extract: 0.23s.  Relocate: 0.03s.  Total: 0.38s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg
==> Installing gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg [4/6]
==> Fetching file:///mirror/blobs/sha256/5a/5a7a3ccd2a2c708c1c5e36c7922fdda4f713b4ad7fabe7c2ff92f46511cad321
    [100%]  450.24 KB @	 774.3 MB/s
==> Extracting gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj from binary cache
==> gmake: Successfully installed gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj
==> Installing gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj [5/6]
==> Fetching file:///mirror/blobs/sha256/28/282833d6d59698b39faca6aa1fec06696f88845407d7c07730c1bfe10429dcb3
    [100%]  218.77 KB @	 533.5 MB/s
==> Extracting zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs
==> Installing zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs [6/6]

The spec syntax in Spack also supports compiler flags. We can specify parameters such as cppflags, cflags, cxxflags, fflags, ldflags, and ldlibs. If any of these values contain spaces, we’ll need to enclose them in quotes on the command line. Spack’s compiler wrappers will automatically inject these flags into the appropriate compilation commands.

$ spack install zlib-ng@2.0.7 cflags=-O3
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/f3/f343656ca5368bad15c5c91d6d17c18e4e31185ebd8e85ab178b3d332272e803
    [100%]  206.91 KB @	 555.2 MB/s
==> Extracting zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
==> Installing zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh [6/6]

After installing packages, we can use the spack find command to query which packages are installed. Notice that by default, some installed packages appear identical in the output. To help distinguish between them, we can add the -l flag to display each package’s unique hash. Additionally, if we include the -f flag, Spack will show any non-empty compiler flags that were used during installation.

$ spack find
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
zlib-ng@2.0.7  zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
zlib-ng@2.0.7

-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
gmake@4.4.1

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

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

-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
compiler-wrapper@1.0  gcc@11.4.0	  gcc-runtime@11.4.0  llvm@14.0.0
gcc@10.5.0	      gcc-runtime@10.5.0  glibc@2.35
==> 14 installed packages
$ spack find -lf
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
bzi3xc7 zlib-ng@2.0.7  rdf7ff3 zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
f53jcgx zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
yq5p6pl zlib-ng@2.0.7  cflags=-O3

-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
4gp5ttd gmake@4.4.1

-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
haeogmc gmake@4.4.1

-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
5vb6e4b gmake@4.4.1

-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
rwnqbli compiler-wrapper@1.0  ekeebbi gcc-runtime@10.5.0  oc4qy2f llvm@14.0.0
7w652un gcc@10.5.0	      3c5xh7d gcc-runtime@11.4.0
j7ykyvm gcc@11.4.0	      epwvtix glibc@2.35
==> 14 installed packages

Spack generates a unique hash for each spec. This hash reflects the complete provenance of the package, so any change to the spec—such as compiler version, build options, or dependencies—will result in a different hash. Spack uses these hashes both to compare specs and to create unique installation directories for every possible configuration.

As we work with more complex packages that have multiple software dependencies, we will see that Spack efficiently reuses existing packages to satisfy dependency requirements. By default, Spack prioritizes reusing installations that already exist, whether they are stored locally or available from configured remote binary caches. This approach helps us avoid unnecessary rebuilds of common dependencies, which is especially valuable if we update Spack frequently.

$ spack install tcl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/fc/fc1ab349576e0d5bdf21d78c0365dd76669b0d4acbd0d966e073a034c399bade
    [100%]  217.94 KB @	 443.7 MB/s
==> Extracting zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
  Search: 0.00s.  Fetch: 0.11s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
==> Installing zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x [6/7]
==> Fetching file:///mirror/blobs/sha256/f8/f8ffb002ebad9cebd0c025273b43187e5a73c8aeea7f75c7c5c18b39ff23fd9c
    [100%]   14.47 MB @	 411.3 GB/s
==> Extracting tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr from binary cache
==> tcl: Successfully installed tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.96s.  Extract: 0.90s.  Relocate: 0.06s.  Total: 0.99s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr
==> Installing tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr [7/7]

Sometimes it is simpler to specify dependencies without caring whether they are direct or transitive dependencies. To do that, use the ^ sigil. Note that a dependency specified by ^ is always applied to the root package, whereas a direct dependency specified by % is applied to either the root or any intervening dependency specified by ^.

$ spack install tcl ^zlib-ng@2.0.7 %clang
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external llvm-14.0.0-oc4qy2fa3ev6uf3hrf5khutfgs6ogkup)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
==> Fetching file:///mirror/blobs/sha256/60/602be72a4d94c72dd58f526d3fd68e39ff6a2fa1e4e90c4547e9aa97c799921e
    [100%]   14.44 MB @	 311.3 GB/s
==> Extracting tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367 from binary cache
==> tcl: Successfully installed tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367
  Search: 0.00s.  Fetch: 0.12s.	 Install: 1.01s.  Extract: 0.95s.  Relocate: 0.06s.  Total: 1.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367
==> Installing tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367 [6/6]

We can also refer to packages from the command line by their package hash. Earlier, when we used the spack find -lf command, we saw that the hash for our optimized installation of zlib-ng (with cflags="-O3") began with umrbkwv. Instead of typing out the entire spec, we can now build explicitly with that package by using the / sigil followed by its hash.

Similar to tools like Git, we do not need to enter the entire hash on the command line—just enough digits to uniquely identify the package. If the prefix we provide matches more than one installed package, Spack will report an error and prompt us to be more specific.

$ spack install tcl ^/yq5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
==> Fetching file:///mirror/blobs/sha256/e7/e771664772fc72bb564b7706e9d4d6448b2dd4647e8f85446f222e91ea0b8f25
    [100%]   14.47 MB @	 321.3 GB/s
==> Extracting tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai from binary cache
==> tcl: Successfully installed tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai
  Search: 0.00s.  Fetch: 0.12s.	 Install: 1.01s.  Extract: 0.94s.  Relocate: 0.06s.  Total: 1.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai
==> Installing tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai [7/7]

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 / %c,cxx=clang@14.0.0 ------------
xm5va4z tcl@8.6.12
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
4gp5ttd	    gmake@4.4.1
oc4qy2f	    llvm@14.0.0
bzi3xc7	    zlib-ng@2.0.7

bzi3xc7 zlib-ng@2.0.7
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
4gp5ttd	    gmake@4.4.1
oc4qy2f	    llvm@14.0.0

rdf7ff3 zlib-ng@2.2.4
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
4gp5ttd	    gmake@4.4.1
oc4qy2f	    llvm@14.0.0


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
f53jcgx zlib-ng@2.2.4
rwnqbli	    compiler-wrapper@1.0
7w652un	    gcc@10.5.0
ekeebbi	    gcc-runtime@10.5.0
epwvtix	    glibc@2.35
haeogmc	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
gbhibag tcl@8.6.12
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
yq5p6pl	    zlib-ng@2.0.7  cflags=-O3

6wkjgx5 tcl@8.6.12
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
g7ixtqy	    zlib-ng@2.2.4

yq5p6pl zlib-ng@2.0.7  cflags=-O3
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

g7ixtqy zlib-ng@2.2.4
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
4gp5ttd gmake@4.4.1
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
oc4qy2f	    llvm@14.0.0


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
haeogmc gmake@4.4.1
rwnqbli	    compiler-wrapper@1.0
7w652un	    gcc@10.5.0
ekeebbi	    gcc-runtime@10.5.0
epwvtix	    glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
5vb6e4b gmake@4.4.1
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
rwnqbli compiler-wrapper@1.0

7w652un gcc@10.5.0

j7ykyvm gcc@11.4.0

ekeebbi gcc-runtime@10.5.0
7w652un	    gcc@10.5.0
epwvtix	    glibc@2.35

3c5xh7d gcc-runtime@11.4.0
j7ykyvm	    gcc@11.4.0
epwvtix	    glibc@2.35

epwvtix glibc@2.35

oc4qy2f llvm@14.0.0

==> 18 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, which loses some dependency relationship information. We can also use the spack graph command to view the entire DAG as a graph.

$ spack graph tcl
o tcl@8.6.12/6wkjgx5
|\
| |\
| | |\
| | | |\
| | | | |\
o | | | | | zlib-ng@2.2.4/g7ixtqy
|\| | | | |
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | |\ \ \ \
| | | |_|/ /
| | |/| | |
| | | |/ /
| | | | o gmake@4.4.1/5vb6e4b
| |_|_|/|
|/| |_|/|
| |/| |/|
| | |/|/
| | | o compiler-wrapper@1.0/rwnqbli
| | |
| o | gcc-runtime@11.4.0/3c5xh7d
|/| |
| |/
| o gcc@11.4.0/j7ykyvm
|
o glibc@2.35/epwvtix

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 with default settings it will build with OpenMPI. We can check the install plan in advance to ensure it’s what we want to install using the spack spec command. The spack spec command accepts the same spec syntax.

$ spack spec hdf5
 -   hdf5@1.14.6~cxx~fortran~hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	 ^cmake@3.31.8~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -	     ^curl@8.11.1~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^nghttp2@1.65.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^diffutils@3.10 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		 ^openssl@3.4.1~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^ca-certificates-mozilla@2025-05-20 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
 -	     ^ncurses@6.5~symlinks+termlib abi=none build_system=autotools patches:=7a351bc arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
[+]	 ^compiler-wrapper@1.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]	 ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3
[+]	 ^gcc-runtime@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e]	 ^glibc@2.35 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+]	 ^gmake@4.4.1~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	 ^openmpi@5.0.8+atomics~cuda~debug+fortran~gpfs~internal-hwloc~internal-libevent~internal-pmix~ipv6~java~lustre~memchecker~openshmem~rocm~romio+rsh~static~two_level_namespace+vt+wrapper-rpath build_system=autotools fabrics:=none romio-filesystem:=none schedulers:=none arch=linux-ubuntu22.04-x86_64_v3 %c,cxx,fortran=gcc@11.4.0
 -	     ^autoconf@2.72 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -		 ^m4@1.4.20+sigsegv build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^libsigsegv@2.14 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^automake@1.16.5 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^hwloc@2.11.1~cairo~cuda~gl~level_zero~libudev+libxml2~nvml~opencl+pci~rocm build_system=autotools libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^libpciaccess@0.17 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		     ^util-macros@1.20.1 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
 -		 ^libxml2@2.13.5~http+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		     ^libiconv@1.18 build_system=autotools libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		     ^xz@5.6.3~pic build_system=autotools libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^libevent@2.1.12+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^libtool@2.4.7 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		 ^findutils@4.10.0 build_system=autotools patches:=440b954 arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		     ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -			 ^tar@1.35 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -			     ^pigz@2.8 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -			     ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -	     ^numactl@2.0.18 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^openssh@9.9p1+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^krb5@1.21.3+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^bison@3.8.2~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^libedit@3.1-20240808 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		 ^libxcrypt@4.4.38~obsolete_api build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^perl@5.40.0+cpanm+opcode+open+shared+threads build_system=generic arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		 ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^bzip2@1.0.8~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		 ^gdbm@1.23 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -		     ^readline@8.2 build_system=autotools patches:=1ea4349,24f587b,3d9885e,5911a5b,622ba38,6c8adf8,758e2ec,79572ee,a177edc,bbf97f1,c7b45ff,e0013d9,e065038 arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	     ^pmix@5.0.5~munge~python build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
 -	 ^pkgconf@2.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
[+]	 ^zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0

Assuming we’re happy with that configuration, we will now install it.

$ spack install hdf5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
==> Fetching file:///mirror/blobs/sha256/ea/ea56f44765a589ae7a608738196f492ca99f9644a86887fd6a47125093b46c65
    [100%]  133.32 KB @	 381.4 MB/s
==> Extracting ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y from binary cache
==> ca-certificates-mozilla: Successfully installed ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y
  Search: 0.00s.  Fetch: 0.11s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.00s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y
==> Installing ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y [4/45]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/fa/faa6fe1fe8b7b0bab308037d3d356d3e45764af9b3e30432b347f9a5f7dce735
    [100%]  115.41 KB @	 420.5 MB/s
==> Extracting libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4 from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
==> Installing libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4 [8/45]
==> Fetching file:///mirror/blobs/sha256/c4/c433045805a664b9be2dd26d7187b319a4472f593b7a7c15d3a855d84475e655
    [100%]   89.36 KB @	 351.6 MB/s
==> Extracting pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5 from binary cache
==> pigz: Successfully installed pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
==> Installing pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5 [9/45]
==> Fetching file:///mirror/blobs/sha256/99/99537f5a26cc04f6d16063b4be2675eaff8782ab3f8e7e2d4675d7123fe80668
    [100%]  404.96 KB @	 731.2 MB/s
==> Extracting pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav from binary cache
==> pkgconf: Successfully installed pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
==> Installing pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav [10/45]
==> Fetching file:///mirror/blobs/sha256/e6/e66071c4cba21dbfb8ce2d4425a666c777c387f180ff825a9f248c64605b55a4
    [100%]   63.42 MB @	 501.3 GB/s
==> Extracting berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.08s.  Relocate: 0.02s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
==> Installing berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji [11/45]
==> Fetching file:///mirror/blobs/sha256/17/1792f0a3307c98aa612d6776834cdfca7a892daea2a81b7941b99edf67731376
    [100%]   61.84 MB @	 421.1 GB/s
==> Extracting xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c from binary cache
==> xz: Successfully installed xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
==> Installing xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c [12/45]
==> Fetching file:///mirror/blobs/sha256/b5/b516902bb6ccaa6dd41db176ac722755336d5ffec904078737169859ae125ec6
    [100%]   62.17 MB @	 371.1 GB/s
==> Extracting libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s from binary cache
==> libiconv: Successfully installed libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
==> Installing libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s [13/45]
==> Fetching file:///mirror/blobs/sha256/63/63b60b7f6c1ea7c21fb083af4a7bb9787448d0cf501d5039feca6b88f4898dc3
    [100%]   31.89 KB @	 171.7 MB/s
==> Extracting util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt from binary cache
==> util-macros: Successfully installed util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.01s.  Extract: 0.01s.  Relocate: 0.00s.  Total: 0.02s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt
==> Installing util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt [14/45]
==> Fetching file:///mirror/blobs/sha256/4a/4a517e571663b96dab3db3a7ed1cf94be13548b66cb4eccf12c82c926682d14f
    [100%]   61.53 MB @	 371.1 GB/s
==> Extracting zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq from binary cache
==> zstd: Successfully installed zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
==> Installing zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq [15/45]
==> Fetching file:///mirror/blobs/sha256/f6/f693937ab19d3efd93dccc7dad56c365a7e8e87526da8a7dd1fa6fa0f183572c
    [100%]   66.93 MB @	 471.3 GB/s
==> Extracting ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd from binary cache
==> ncurses: Successfully installed ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.54s.  Extract: 0.52s.  Relocate: 0.01s.  Total: 0.56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
==> Installing ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd [16/45]
==> Fetching file:///mirror/blobs/sha256/a2/a2543474e1da6aeaadf625b5a5631a4b9f750b2614b42ba5790281c632b32820
    [100%]   62.78 MB @	 381.1 GB/s
==> Extracting libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw from binary cache
==> libxml2: Successfully installed libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.08s.  Relocate: 0.01s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
==> Installing libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw [17/45]
==> Fetching file:///mirror/blobs/sha256/46/4676b2d218bcc6afe05b073a66abab93fe3931af58b7b3ff797d71e2b0a2df26
    [100%]   61.12 MB @	 968.5 MB/s
==> Extracting diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q from binary cache
==> diffutils: Successfully installed diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q
==> Installing diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q [18/45]
==> Fetching file:///mirror/blobs/sha256/0a/0ab2ea81292c5466bb9f476754081dadba598337a8d2bf31ad70f020dce1e648
    [100%]  193.57 KB @	 514.2 MB/s
==> Extracting libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5 from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
==> Installing libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5 [19/45]
==> Fetching file:///mirror/blobs/sha256/94/940830f589bc11ceebd6d4ec0a6a13a32a58f88dc424d4377e95f36249650e2b
    [100%]  939.61 KB @	 859.2 MB/s
==> Extracting libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj from binary cache
==> libedit: Successfully installed libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj
==> Installing libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj [20/45]
==> Fetching file:///mirror/blobs/sha256/f3/f3a17862a9b6f9c1de00fcdcc8d91fb78ecadbe579b6d5cca55735e0ffeecda0
    [100%]   61.49 MB @	 401.1 GB/s
==> Extracting readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2 from binary cache
==> readline: Successfully installed readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
==> Installing readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2 [21/45]
==> Fetching file:///mirror/blobs/sha256/19/191f3a05bd089502fd8e1dfbc96a146bb26478222a3688479ec9c44051dd1e6b
    [100%]  897.56 KB @	 985.5 MB/s
==> Extracting nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g from binary cache
==> nghttp2: Successfully installed nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
==> Installing nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g [22/45]
==> Fetching file:///mirror/blobs/sha256/40/40148fa35e8983c28c29279f5b744a6910a12d07f33112a9c1bf280d2eba7873
    [100%]  724.27 KB @	 904.4 MB/s
==> Extracting m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya from binary cache
==> m4: Successfully installed m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
==> Installing m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya [23/45]
==> Fetching file:///mirror/blobs/sha256/d8/d88ad54e117c013060868ce62b57d0f8595e99695c508a53f62b5e75f37a9b89
    [100%]  296.63 KB @	 532.4 MB/s
==> Extracting bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
==> Installing bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk [24/45]
==> Fetching file:///mirror/blobs/sha256/5b/5bb1e580639b4439c97f2f21188f5804b1a84ce0480b8363134593aaa012861b
    [100%]   65.09 MB @	 311.1 GB/s
==> Extracting hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww from binary cache
==> hwloc: Successfully installed hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.18s.  Extract: 0.15s.  Relocate: 0.02s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
==> Installing hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww [25/45]
==> Fetching file:///mirror/blobs/sha256/12/124153b854c24e7d2716925777737b58a2ac6333d7399b70e1a1c76ed3ba6396
    [100%]  930.24 KB @	 901.5 MB/s
==> Extracting gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz from binary cache
==> gdbm: Successfully installed gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
==> Installing gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz [26/45]
==> Fetching file:///mirror/blobs/sha256/cb/cbaa13cce3434bba12393178019130c486ea402e4ad53ac099237d389bc9cd3e
    [100%]   61.92 MB @	 381.1 GB/s
==> Extracting bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5 from binary cache
==> bison: Successfully installed bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.08s.  Relocate: 0.01s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5
==> Installing bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5 [27/45]
==> Fetching file:///mirror/blobs/sha256/b1/b11add878ba1925641a6b0d072de2a402e25c7ac9c36034f7648732d7b6f0cbb
    [100%]   61.27 MB @	 421.0 GB/s
==> Extracting tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk from binary cache
==> tar: Successfully installed tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
==> Installing tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk [28/45]
==> Fetching file:///mirror/blobs/sha256/9a/9a776fb20019ed73a606e954d68b3a16bdf832f649d3e91373d06fe87d58bd28
    [100%]   15.38 MB @	 471.3 GB/s
==> Extracting perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z from binary cache
==> perl: Successfully installed perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.73s.  Extract: 0.63s.  Relocate: 0.10s.  Total: 0.76s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
==> Installing perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z [29/45]
==> Fetching file:///mirror/blobs/sha256/39/39632c5e66fb6bd01851ded10794857cd780ff679077791c39df952a9dcabbc0
    [100%]   12.80 MB @	 471.3 GB/s
==> Extracting gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv from binary cache
==> gettext: Successfully installed gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.57s.  Extract: 0.53s.  Relocate: 0.03s.  Total: 0.60s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
==> Installing gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv [30/45]
==> Fetching file:///mirror/blobs/sha256/e2/e2a0b8d2de5cad880c8a556ccc8948cd97b2c5c1d69b87fba577cd9ee8e870a7
    [100%]   67.58 MB @	 411.3 GB/s
==> Extracting openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys from binary cache
==> openssl: Successfully installed openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.20s.  Extract: 0.17s.  Relocate: 0.02s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
==> Installing openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys [31/45]
==> Fetching file:///mirror/blobs/sha256/29/29a0fb123655361162ca84e2d4357f6a4ff85705499a0fda96f46df9bb9fd3dc
    [100%]  757.69 KB @	 811.7 MB/s
==> Extracting libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo
==> Installing libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo [32/45]
==> Fetching file:///mirror/blobs/sha256/01/019f0f07ee958f04b3b69563e80238d9c7d5b51f48338c5fc216be9ddd75d318
    [100%]   61.02 MB @	 951.0 MB/s
==> Extracting autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm from binary cache
==> autoconf: Successfully installed autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
==> Installing autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm [33/45]
==> Fetching file:///mirror/blobs/sha256/97/97895548dbdae9b88e80392ef9f14df1b034cd12c8986f7ee936412ba2febe93
    [100%]   61.47 MB @	 401.0 GB/s
==> Extracting findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk from binary cache
==> findutils: Successfully installed findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
==> Installing findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk [34/45]
==> Fetching file:///mirror/blobs/sha256/07/075332f962779bf1cfd4fc2572976ea96e4b7fd143b0faf150d3dc6cc0945e97
    [100%]   61.17 MB @	 996.2 MB/s
==> Extracting curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2 from binary cache
==> curl: Successfully installed curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
==> Installing curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2 [35/45]
==> Fetching file:///mirror/blobs/sha256/f7/f77e2582e243e751b12336458980bcc985b6c817b12fe824de08c9630def1e93
    [100%]   62.95 MB @	 371.1 GB/s
==> Extracting libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh from binary cache
==> libevent: Successfully installed libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh
==> Installing libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh [36/45]
==> Fetching file:///mirror/blobs/sha256/d2/d230011d10d4f4bb84129f0c851f87f849735e7b1845ba3e4b8168304922c954
    [100%]  703.24 KB @	 901.5 MB/s
==> Extracting automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53 from binary cache
==> automake: Successfully installed automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.04s.  Relocate: 0.02s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
==> Installing automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53 [37/45]
==> Fetching file:///mirror/blobs/sha256/c3/c37002a7cbe0df8a16053700c5cf120f4c83b92480ca0148b4247be05e77553e
    [100%]   61.97 MB @	 351.1 GB/s
==> Extracting krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c from binary cache
==> krb5: Successfully installed krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.12s.  Extract: 0.07s.  Relocate: 0.04s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c
==> Installing krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c [38/45]
==> Fetching file:///mirror/blobs/sha256/85/85267715969d1372ed45446ea656a77fcb11a0548d7bf0f99f49690b2ff5ea6f
    [100%]  800.05 KB @	 895.1 MB/s
==> Extracting libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c from binary cache
==> libtool: Successfully installed libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.03s.  Relocate: 0.03s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
==> Installing libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c [39/45]
==> Fetching file:///mirror/blobs/sha256/29/29bdbb7db669d8c3b733f6f4419952e919e8834725519cec4a7469e80a7d0102
    [100%]   30.99 MB @	 431.3 GB/s
==> Extracting cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir from binary cache
==> cmake: Successfully installed cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
  Search: 0.00s.  Fetch: 0.05s.	 Install: 1.21s.  Extract: 1.11s.  Relocate: 0.08s.  Total: 1.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
==> Installing cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir [40/45]
==> Fetching file:///mirror/blobs/sha256/b2/b2d7fcf03cd042bb384cb8bc0d37fea8b0622b7e44fbcda7ac8abff20ae1edb9
    [100%]   10.56 MB @	 411.3 GB/s
==> Extracting pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e from binary cache
==> pmix: Successfully installed pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.23s.  Extract: 0.19s.  Relocate: 0.02s.  Total: 0.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e
==> Installing pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e [41/45]
==> Fetching file:///mirror/blobs/sha256/01/01f6343d0432c003e3499d2f03102c1e4a420cff9f12971665d47db9991fe2a4
    [100%]   63.02 MB @	 978.3 MB/s
==> Extracting openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud from binary cache
==> openssh: Successfully installed openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.12s.  Extract: 0.07s.  Relocate: 0.04s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud
==> Installing openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud [42/45]
==> Fetching file:///mirror/blobs/sha256/6f/6f8af420b46bbe44a0b9b1c1437335792632b1c2ddf56520b4ed1c35de9c45d0
    [100%]  418.11 KB @	 578.4 MB/s
==> Extracting numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn from binary cache
==> numactl: Successfully installed numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn
==> Installing numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn [43/45]
==> Fetching file:///mirror/blobs/sha256/87/87bb50e2f26d8ddd5baabf0bc8bcbf67d8c9f4917a6e9022bbdacc0c5d85ca72
    [100%]   18.55 MB @	 281.1 GB/s
==> Extracting openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz from binary cache
==> openmpi: Successfully installed openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz
  Search: 0.00s.  Fetch: 0.04s.	 Install: 0.80s.  Extract: 0.75s.  Relocate: 0.03s.  Total: 0.84s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz
==> Installing openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz [44/45]
==> Fetching file:///mirror/blobs/sha256/0f/0f03366496799c41b81cf4d2f82cee669328162b3027f669b84b16eef2f79e64
    [100%]   65.57 MB @	 351.2 GB/s
==> Extracting hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.18s.  Extract: 0.13s.  Relocate: 0.03s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu
==> Installing hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu [45/45]

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
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
==> Fetching file:///mirror/blobs/sha256/9b/9b8bb1a32722b4b58b883e8d4c2bc89fb12772689630b10ea2141428666ac1b3
    [100%]   65.28 MB @	 361.2 GB/s
==> Extracting hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o
  Search: 0.00s.  Fetch: 0.11s.	 Install: 0.42s.  Extract: 0.16s.  Relocate: 0.02s.  Total: 0.53s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o
==> Installing hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o [13/13]

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

We’ve actually already been using virtual packages when we changed compilers earlier. Compilers are providers for virtual packages like c, cxx, and fortran. Because these are often provided by the same package but we might want to use C and C++ from one compiler and Fortran from another, we need a syntax to specify which virtual a package provides. We call this “virtual assignment”, and can be specified by %virtual=provider or ^virtual=provider.

For example if we wanted to install hdf5 using GCC for the C and C++ components but Intel OneAPI for the Fortran compiler we could write:

hdf5 %c,cxx=gcc %fortran=oneapi

However, we’ll keep it simple for now and install HDF5 with MPI support provided by MPICH. We could use the same syntax for ^mpi=mpich, but there’s no need because the only way for hdf5 to depend on mpich is to provide mpi. This is also why we didn’t care to specify which virtuals gcc and clang provided earlier when building simpler packages.

$ spack install hdf5+hl+mpi ^mpich
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
==> Fetching file:///mirror/blobs/sha256/52/52ba3cff235dc40dc2109d99c047f1477c5face1ace38813df203631e3c02b1d
    [100%]   87.81 KB @	 310.0 MB/s
==> Extracting libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn from binary cache
==> libffi: Successfully installed libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn
  Search: 0.00s.  Fetch: 0.10s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn
==> Installing libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn [13/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
==> Fetching file:///mirror/blobs/sha256/9a/9ae68d3fe8cf89d7bbdc9d55847da3191bf61450b3b83af88526beec2b50b672
    [100%]   63.79 MB @	 351.2 GB/s
==> Extracting util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56 from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.12s.  Extract: 0.10s.  Relocate: 0.01s.  Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56
==> Installing util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56 [17/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
==> Fetching file:///mirror/blobs/sha256/92/923c37642a5052122d85780af2efe06097e490fbd9f983ae45b51200ab877f00
    [100%]  174.78 KB @	 517.0 MB/s
==> Extracting libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx from binary cache
==> libmd: Successfully installed libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx
==> Installing libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx [20/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
==> Fetching file:///mirror/blobs/sha256/00/0010a978d192300c723e04460afc6b0bc25177d1e2e0ce90140eb20226a65083
    [100%]   61.25 MB @	 381.0 GB/s
==> Extracting libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv from binary cache
==> libfabric: Successfully installed libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv
==> Installing libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv [22/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
==> Fetching file:///mirror/blobs/sha256/82/828c5ca442e418b8ab3f0d0420e74458fd191c00e841e30027e3943a122d1c52
    [100%]  461.60 KB @	 717.1 MB/s
==> Extracting libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo from binary cache
==> libbsd: Successfully installed libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo
==> Installing libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo [26/43]
==> Fetching file:///mirror/blobs/sha256/c3/c380e6231f37ff654a8cf92cadcbc181240501fecf38dbb50a3e91de45628a4e
    [100%]   11.28 MB @	 361.3 GB/s
==> Extracting sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox from binary cache
==> sqlite: Successfully installed sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.26s.  Extract: 0.23s.  Relocate: 0.02s.  Total: 0.28s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox
==> Installing sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox [27/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
==> Fetching file:///mirror/blobs/sha256/4e/4e33e4bf7aff7279a4edafdd64580de335e8eb97381c24c769d9e66feed7572d
    [100%]  647.81 KB @	 786.4 MB/s
==> Extracting expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3 from binary cache
==> expat: Successfully installed expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3
==> Installing expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3 [32/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
==> Fetching file:///mirror/blobs/sha256/80/80e9fc14611bca47ce584b11f8f5fe75eb3baab635096bf90e7ac29d067199cc
    [100%]   91.34 MB @	 391.4 GB/s
==> Extracting python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz from binary cache
==> python: Successfully installed python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz
  Search: 0.00s.  Fetch: 0.14s.	 Install: 3.09s.  Extract: 2.95s.  Relocate: 0.12s.  Total: 3.23s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz
==> Installing python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz [40/43]
==> Fetching file:///mirror/blobs/sha256/32/325e5e792edc6e630dbb581d6b7291c7701a1c03df244e32771c138c999c808e
    [100%]   17.79 MB @	 401.3 GB/s
==> Extracting yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3 from binary cache
==> yaksa: Successfully installed yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.45s.  Extract: 0.40s.  Relocate: 0.04s.  Total: 0.49s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3
==> Installing yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3 [41/43]
==> Fetching file:///mirror/blobs/sha256/d1/d19ee200bd2f6820c08ab882e13736bdc687fd2cdeb66adfea9ff20ffb5bfd33
    [100%]   15.19 MB @	 471.4 GB/s
==> Extracting mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5 from binary cache
==> mpich: Successfully installed mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.94s.  Extract: 0.89s.  Relocate: 0.03s.  Total: 0.97s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5
==> Installing mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5 [42/43]
==> Fetching file:///mirror/blobs/sha256/cf/cfa20ef6e2f7b6c07b9bd443a48c13e66e7d98c49dd16eb8d50a3c05e1c4427f
    [100%]   65.76 MB @	 411.2 GB/s
==> Extracting hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.19s.  Extract: 0.14s.  Relocate: 0.03s.  Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
==> Installing hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n [43/43]

Note

It is frequently sufficient to specify %gcc even for packages that use multiple languages, because Spack prefers to minimize the number of packages needed for a build. Later on we will discuss more complex compiler requests, and how and when they are useful.

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

$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
l2h74uy mpich@4.3.0
rwnqbli	    compiler-wrapper@1.0
ga3qiej	    findutils@4.10.0
soasbhm		gettext@0.23.1
vy2ggzh		    bzip2@1.0.8
ye5hcpf		    tar@1.35
prsofdp			pigz@2.8
bmaw6fn			zstd@1.5.7
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
jhcvb6n	    hwloc@2.11.1
u7sn2jt		ncurses@6.5
lublgeh	    libfabric@2.2.0
w5iqedd	    libpciaccess@0.17
itmqxdm		util-macros@1.20.1
7mdlpgu	    libxml2@2.13.5
kgw5nks		libiconv@1.18
zeynpnj		xz@5.6.3
g7ixtqy		zlib-ng@2.2.4
xoghzad	    pkgconf@2.3.0
at3giiz	    yaksa@0.3
5xgjgae		autoconf@2.72
nsqyer7		    perl@5.40.0
k5bepow			berkeley-db@18.1.40
vorbe53		automake@1.16.5
l2jtwyu		libtool@2.4.7
ypq2dye		m4@1.4.20
pptkbjb		    diffutils@3.10
vefpsal		    libsigsegv@2.14
dcljl7p		python@3.13.5
ut2qx6n		    expat@2.7.1
bcrniix			libbsd@0.12.2
7x6ozmz			    libmd@1.1.0
5yo63cn		    gdbm@1.23
4466i2x		    libffi@3.4.8
kphogwy		    openssl@3.4.1
s3bxsw4			ca-certificates-mozilla@2025-05-20
skysn5p		    readline@8.2
zjvsjg7		    sqlite@3.46.0
o26ozsq		    util-linux-uuid@2.41

ezkzlw5 openmpi@5.0.8
5xgjgae	    autoconf@2.72
ypq2dye		m4@1.4.20
pptkbjb		    diffutils@3.10
vefpsal		    libsigsegv@2.14
vorbe53	    automake@1.16.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
jhcvb6n	    hwloc@2.11.1
w5iqedd		libpciaccess@0.17
itmqxdm		    util-macros@1.20.1
7mdlpgu		libxml2@2.13.5
kgw5nks		    libiconv@1.18
zeynpnj		    xz@5.6.3
u7sn2jt		ncurses@6.5
dvz3n3e	    libevent@2.1.12
kphogwy		openssl@3.4.1
s3bxsw4		    ca-certificates-mozilla@2025-05-20
l2jtwyu	    libtool@2.4.7
ga3qiej		findutils@4.10.0
soasbhm		    gettext@0.23.1
ye5hcpf			tar@1.35
prsofdp			    pigz@2.8
bmaw6fn			    zstd@1.5.7
74aq3kx	    numactl@2.0.18
2s7eddo	    openssh@9.9p1
zo73rgn		krb5@1.21.3
ecemgn6		    bison@3.8.2
h766azt		libedit@3.1-20240808
iundcaq		libxcrypt@4.4.38
nsqyer7	    perl@5.40.0
k5bepow		berkeley-db@18.1.40
vy2ggzh		bzip2@1.0.8
5yo63cn		gdbm@1.23
skysn5p		    readline@8.2
xoghzad	    pkgconf@2.3.0
msnkjum	    pmix@5.0.5
g7ixtqy	    zlib-ng@2.2.4


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
xm5va4z tcl@8.6.12
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
4gp5ttd	    gmake@4.4.1
oc4qy2f	    llvm@14.0.0
bzi3xc7	    zlib-ng@2.0.7

bzi3xc7 zlib-ng@2.0.7
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
4gp5ttd	    gmake@4.4.1
oc4qy2f	    llvm@14.0.0

rdf7ff3 zlib-ng@2.2.4
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
4gp5ttd	    gmake@4.4.1
oc4qy2f	    llvm@14.0.0


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
f53jcgx zlib-ng@2.2.4
rwnqbli	    compiler-wrapper@1.0
7w652un	    gcc@10.5.0
ekeebbi	    gcc-runtime@10.5.0
epwvtix	    glibc@2.35
haeogmc	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
k5bepow berkeley-db@18.1.40
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

ecemgn6 bison@3.8.2
rwnqbli	    compiler-wrapper@1.0
pptkbjb	    diffutils@3.10
kgw5nks		libiconv@1.18
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
ypq2dye	    m4@1.4.20
vefpsal		libsigsegv@2.14

usc3vzr cmake@3.31.8
rwnqbli	    compiler-wrapper@1.0
7xf5wle	    curl@8.11.1
hpkxq4q		nghttp2@1.65.0
pptkbjb		    diffutils@3.10
kgw5nks			libiconv@1.18
kphogwy		openssl@3.4.1
s3bxsw4		    ca-certificates-mozilla@2025-05-20
nsqyer7		    perl@5.40.0
k5bepow			berkeley-db@18.1.40
vy2ggzh			bzip2@1.0.8
5yo63cn			gdbm@1.23
skysn5p			    readline@8.2
xoghzad		pkgconf@2.3.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
u7sn2jt	    ncurses@6.5
g7ixtqy	    zlib-ng@2.2.4

7xf5wle curl@8.11.1
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
hpkxq4q	    nghttp2@1.65.0
pptkbjb		diffutils@3.10
kgw5nks		    libiconv@1.18
kphogwy	    openssl@3.4.1
s3bxsw4		ca-certificates-mozilla@2025-05-20
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
vy2ggzh		    bzip2@1.0.8
5yo63cn		    gdbm@1.23
skysn5p			readline@8.2
u7sn2jt			    ncurses@6.5
xoghzad	    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

ut2qx6n expat@2.7.1
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
bcrniix	    libbsd@0.12.2
7x6ozmz		libmd@1.1.0

soasbhm gettext@0.23.1
vy2ggzh	    bzip2@1.0.8
pptkbjb		diffutils@3.10
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
kgw5nks	    libiconv@1.18
7mdlpgu	    libxml2@2.13.5
xoghzad		pkgconf@2.3.0
g7ixtqy		zlib-ng@2.2.4
u7sn2jt	    ncurses@6.5
ye5hcpf	    tar@1.35
prsofdp		pigz@2.8
bmaw6fn		zstd@1.5.7
zeynpnj	    xz@5.6.3

jhcvb6n hwloc@2.11.1
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
w5iqedd	    libpciaccess@0.17
itmqxdm		util-macros@1.20.1
7mdlpgu	    libxml2@2.13.5
kgw5nks		libiconv@1.18
zeynpnj		xz@5.6.3
g7ixtqy		zlib-ng@2.2.4
u7sn2jt	    ncurses@6.5
xoghzad	    pkgconf@2.3.0

zo73rgn krb5@1.21.3
ecemgn6	    bison@3.8.2
ypq2dye		m4@1.4.20
vefpsal		    libsigsegv@2.14
rwnqbli	    compiler-wrapper@1.0
pptkbjb	    diffutils@3.10
kgw5nks		libiconv@1.18
ga3qiej	    findutils@4.10.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
soasbhm	    gettext@0.23.1
vy2ggzh		bzip2@1.0.8
7mdlpgu		libxml2@2.13.5
u7sn2jt		ncurses@6.5
ye5hcpf		tar@1.35
prsofdp		    pigz@2.8
bmaw6fn		    zstd@1.5.7
zeynpnj		xz@5.6.3
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
h766azt	    libedit@3.1-20240808
kphogwy	    openssl@3.4.1
s3bxsw4		ca-certificates-mozilla@2025-05-20
g7ixtqy		zlib-ng@2.2.4
nsqyer7	    perl@5.40.0
k5bepow		berkeley-db@18.1.40
5yo63cn		gdbm@1.23
skysn5p		    readline@8.2
xoghzad	    pkgconf@2.3.0

4466i2x libffi@3.4.8
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

ypq2dye m4@1.4.20
rwnqbli	    compiler-wrapper@1.0
pptkbjb	    diffutils@3.10
kgw5nks		libiconv@1.18
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
vefpsal	    libsigsegv@2.14

u7sn2jt ncurses@6.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
xoghzad	    pkgconf@2.3.0

hpkxq4q nghttp2@1.65.0
rwnqbli	    compiler-wrapper@1.0
pptkbjb	    diffutils@3.10
kgw5nks		libiconv@1.18
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
xoghzad	    pkgconf@2.3.0

2s7eddo openssh@9.9p1
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
zo73rgn	    krb5@1.21.3
ecemgn6		bison@3.8.2
ypq2dye		    m4@1.4.20
vefpsal			libsigsegv@2.14
pptkbjb		diffutils@3.10
kgw5nks		    libiconv@1.18
ga3qiej		findutils@4.10.0
soasbhm		gettext@0.23.1
vy2ggzh		    bzip2@1.0.8
7mdlpgu		    libxml2@2.13.5
ye5hcpf		    tar@1.35
prsofdp			pigz@2.8
bmaw6fn			zstd@1.5.7
zeynpnj		    xz@5.6.3
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
5yo63cn		    gdbm@1.23
skysn5p			readline@8.2
xoghzad		pkgconf@2.3.0
h766azt	    libedit@3.1-20240808
iundcaq	    libxcrypt@4.4.38
u7sn2jt	    ncurses@6.5
kphogwy	    openssl@3.4.1
s3bxsw4		ca-certificates-mozilla@2025-05-20
g7ixtqy	    zlib-ng@2.2.4

kphogwy openssl@3.4.1
s3bxsw4	    ca-certificates-mozilla@2025-05-20
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
nsqyer7	    perl@5.40.0
k5bepow		berkeley-db@18.1.40
vy2ggzh		bzip2@1.0.8
pptkbjb		    diffutils@3.10
kgw5nks			libiconv@1.18
5yo63cn		gdbm@1.23
skysn5p		    readline@8.2
u7sn2jt			ncurses@6.5
xoghzad			    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

dcljl7p python@3.13.5
vy2ggzh	    bzip2@1.0.8
pptkbjb		diffutils@3.10
rwnqbli	    compiler-wrapper@1.0
ut2qx6n	    expat@2.7.1
bcrniix		libbsd@0.12.2
7x6ozmz		    libmd@1.1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
5yo63cn	    gdbm@1.23
soasbhm	    gettext@0.23.1
kgw5nks		libiconv@1.18
7mdlpgu		libxml2@2.13.5
ye5hcpf		tar@1.35
prsofdp		    pigz@2.8
bmaw6fn		    zstd@1.5.7
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
4466i2x	    libffi@3.4.8
u7sn2jt	    ncurses@6.5
kphogwy	    openssl@3.4.1
s3bxsw4		ca-certificates-mozilla@2025-05-20
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
xoghzad	    pkgconf@2.3.0
skysn5p	    readline@8.2
zjvsjg7	    sqlite@3.46.0
o26ozsq	    util-linux-uuid@2.41
zeynpnj	    xz@5.6.3
g7ixtqy	    zlib-ng@2.2.4

gbhibag tcl@8.6.12
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
yq5p6pl	    zlib-ng@2.0.7  cflags=-O3

6wkjgx5 tcl@8.6.12
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
g7ixtqy	    zlib-ng@2.2.4

yq5p6pl zlib-ng@2.0.7  cflags=-O3
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

g7ixtqy zlib-ng@2.2.4
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

bmaw6fn zstd@1.5.7
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
4gp5ttd gmake@4.4.1
rwnqbli	    compiler-wrapper@1.0
epwvtix	    glibc@2.35
oc4qy2f	    llvm@14.0.0


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
haeogmc gmake@4.4.1
rwnqbli	    compiler-wrapper@1.0
7w652un	    gcc@10.5.0
ekeebbi	    gcc-runtime@10.5.0
epwvtix	    glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
vorbe53 automake@1.16.5
5xgjgae	    autoconf@2.72
ypq2dye		m4@1.4.20
pptkbjb		    diffutils@3.10
kgw5nks			libiconv@1.18
vefpsal		    libsigsegv@2.14
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
nsqyer7	    perl@5.40.0
k5bepow		berkeley-db@18.1.40
vy2ggzh		bzip2@1.0.8
5yo63cn		gdbm@1.23
skysn5p		    readline@8.2
u7sn2jt			ncurses@6.5
xoghzad			    pkgconf@2.3.0
g7ixtqy		zlib-ng@2.2.4

vy2ggzh bzip2@1.0.8
rwnqbli	    compiler-wrapper@1.0
pptkbjb	    diffutils@3.10
kgw5nks		libiconv@1.18
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

pptkbjb diffutils@3.10
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
kgw5nks	    libiconv@1.18

ga3qiej findutils@4.10.0
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
soasbhm	    gettext@0.23.1
vy2ggzh		bzip2@1.0.8
pptkbjb		    diffutils@3.10
kgw5nks		libiconv@1.18
7mdlpgu		libxml2@2.13.5
xoghzad		    pkgconf@2.3.0
g7ixtqy		    zlib-ng@2.2.4
u7sn2jt		ncurses@6.5
ye5hcpf		tar@1.35
prsofdp		    pigz@2.8
bmaw6fn		    zstd@1.5.7
zeynpnj		xz@5.6.3
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

5yo63cn gdbm@1.23
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
skysn5p	    readline@8.2
u7sn2jt		ncurses@6.5
xoghzad		    pkgconf@2.3.0

5vb6e4b gmake@4.4.1
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35

53lfqwu hdf5@1.14.6
usc3vzr	    cmake@3.31.8
7xf5wle		curl@8.11.1
hpkxq4q		    nghttp2@1.65.0
pptkbjb			diffutils@3.10
kgw5nks			    libiconv@1.18
kphogwy		    openssl@3.4.1
s3bxsw4			ca-certificates-mozilla@2025-05-20
nsqyer7			perl@5.40.0
k5bepow			    berkeley-db@18.1.40
vy2ggzh			    bzip2@1.0.8
5yo63cn			    gdbm@1.23
skysn5p				readline@8.2
u7sn2jt		ncurses@6.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
xoghzad	    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

rewh52t hdf5@1.14.6
usc3vzr	    cmake@3.31.8
7xf5wle		curl@8.11.1
hpkxq4q		    nghttp2@1.65.0
pptkbjb			diffutils@3.10
kphogwy		    openssl@3.4.1
s3bxsw4			ca-certificates-mozilla@2025-05-20
u7sn2jt		ncurses@6.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
ezkzlw5	    openmpi@5.0.8
5xgjgae		autoconf@2.72
ypq2dye		    m4@1.4.20
vefpsal			libsigsegv@2.14
vorbe53		automake@1.16.5
jhcvb6n		hwloc@2.11.1
w5iqedd		    libpciaccess@0.17
itmqxdm			util-macros@1.20.1
7mdlpgu		    libxml2@2.13.5
kgw5nks			libiconv@1.18
zeynpnj			xz@5.6.3
dvz3n3e		libevent@2.1.12
l2jtwyu		libtool@2.4.7
ga3qiej		    findutils@4.10.0
soasbhm			gettext@0.23.1
ye5hcpf			    tar@1.35
prsofdp				pigz@2.8
bmaw6fn				zstd@1.5.7
74aq3kx		numactl@2.0.18
2s7eddo		openssh@9.9p1
zo73rgn		    krb5@1.21.3
ecemgn6			bison@3.8.2
h766azt		    libedit@3.1-20240808
iundcaq		    libxcrypt@4.4.38
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
vy2ggzh		    bzip2@1.0.8
5yo63cn		    gdbm@1.23
skysn5p			readline@8.2
msnkjum		pmix@5.0.5
xoghzad	    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

p3ly6as hdf5@1.14.6
usc3vzr	    cmake@3.31.8
7xf5wle		curl@8.11.1
hpkxq4q		    nghttp2@1.65.0
pptkbjb			diffutils@3.10
kphogwy		    openssl@3.4.1
s3bxsw4			ca-certificates-mozilla@2025-05-20
nsqyer7			perl@5.40.0
k5bepow			    berkeley-db@18.1.40
u7sn2jt		ncurses@6.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
l2h74uy	    mpich@4.3.0
ga3qiej		findutils@4.10.0
soasbhm		    gettext@0.23.1
vy2ggzh			bzip2@1.0.8
ye5hcpf			tar@1.35
prsofdp			    pigz@2.8
bmaw6fn			    zstd@1.5.7
jhcvb6n		hwloc@2.11.1
lublgeh		libfabric@2.2.0
w5iqedd		libpciaccess@0.17
itmqxdm		    util-macros@1.20.1
7mdlpgu		libxml2@2.13.5
kgw5nks		    libiconv@1.18
zeynpnj		    xz@5.6.3
at3giiz		yaksa@0.3
5xgjgae		    autoconf@2.72
vorbe53		    automake@1.16.5
l2jtwyu		    libtool@2.4.7
ypq2dye		    m4@1.4.20
vefpsal			libsigsegv@2.14
dcljl7p		    python@3.13.5
ut2qx6n			expat@2.7.1
bcrniix			    libbsd@0.12.2
7x6ozmz				libmd@1.1.0
5yo63cn			gdbm@1.23
4466i2x			libffi@3.4.8
skysn5p			readline@8.2
zjvsjg7			sqlite@3.46.0
o26ozsq			util-linux-uuid@2.41
xoghzad	    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

bcrniix libbsd@0.12.2
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
7x6ozmz	    libmd@1.1.0

h766azt libedit@3.1-20240808
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
u7sn2jt	    ncurses@6.5
xoghzad	    pkgconf@2.3.0

dvz3n3e libevent@2.1.12
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
kphogwy	    openssl@3.4.1
s3bxsw4		ca-certificates-mozilla@2025-05-20
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
vy2ggzh		    bzip2@1.0.8
pptkbjb			diffutils@3.10
kgw5nks			    libiconv@1.18
5yo63cn		    gdbm@1.23
skysn5p			readline@8.2
u7sn2jt			    ncurses@6.5
xoghzad				pkgconf@2.3.0
g7ixtqy		zlib-ng@2.2.4

lublgeh libfabric@2.2.0
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

kgw5nks libiconv@1.18
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

7x6ozmz libmd@1.1.0
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

w5iqedd libpciaccess@0.17
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
xoghzad	    pkgconf@2.3.0
itmqxdm	    util-macros@1.20.1

vefpsal libsigsegv@2.14
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

l2jtwyu libtool@2.4.7
rwnqbli	    compiler-wrapper@1.0
ga3qiej	    findutils@4.10.0
soasbhm		gettext@0.23.1
vy2ggzh		    bzip2@1.0.8
kgw5nks		    libiconv@1.18
7mdlpgu		    libxml2@2.13.5
xoghzad			pkgconf@2.3.0
g7ixtqy			zlib-ng@2.2.4
u7sn2jt		    ncurses@6.5
ye5hcpf		    tar@1.35
prsofdp			pigz@2.8
bmaw6fn			zstd@1.5.7
zeynpnj		    xz@5.6.3
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
ypq2dye	    m4@1.4.20
pptkbjb		diffutils@3.10
vefpsal		libsigsegv@2.14

iundcaq libxcrypt@4.4.38
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
nsqyer7	    perl@5.40.0
k5bepow		berkeley-db@18.1.40
vy2ggzh		bzip2@1.0.8
pptkbjb		    diffutils@3.10
kgw5nks			libiconv@1.18
5yo63cn		gdbm@1.23
skysn5p		    readline@8.2
u7sn2jt			ncurses@6.5
xoghzad			    pkgconf@2.3.0
g7ixtqy		zlib-ng@2.2.4

7mdlpgu libxml2@2.13.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
kgw5nks	    libiconv@1.18
xoghzad	    pkgconf@2.3.0
zeynpnj	    xz@5.6.3
g7ixtqy	    zlib-ng@2.2.4

74aq3kx numactl@2.0.18
5xgjgae	    autoconf@2.72
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
vy2ggzh		    bzip2@1.0.8
5yo63cn		    gdbm@1.23
skysn5p			readline@8.2
g7ixtqy		    zlib-ng@2.2.4
vorbe53	    automake@1.16.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
l2jtwyu	    libtool@2.4.7
ga3qiej		findutils@4.10.0
soasbhm		    gettext@0.23.1
7mdlpgu			libxml2@2.13.5
xoghzad			    pkgconf@2.3.0
u7sn2jt			ncurses@6.5
ye5hcpf			tar@1.35
prsofdp			    pigz@2.8
bmaw6fn			    zstd@1.5.7
zeynpnj			xz@5.6.3
ypq2dye	    m4@1.4.20
pptkbjb		diffutils@3.10
kgw5nks		    libiconv@1.18
vefpsal		libsigsegv@2.14

nsqyer7 perl@5.40.0
k5bepow	    berkeley-db@18.1.40
vy2ggzh	    bzip2@1.0.8
pptkbjb		diffutils@3.10
kgw5nks		    libiconv@1.18
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
5yo63cn	    gdbm@1.23
skysn5p		readline@8.2
u7sn2jt		    ncurses@6.5
xoghzad			pkgconf@2.3.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
g7ixtqy	    zlib-ng@2.2.4

prsofdp pigz@2.8
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
g7ixtqy	    zlib-ng@2.2.4

xoghzad pkgconf@2.3.0
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

msnkjum pmix@5.0.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
jhcvb6n	    hwloc@2.11.1
w5iqedd		libpciaccess@0.17
itmqxdm		    util-macros@1.20.1
7mdlpgu		libxml2@2.13.5
kgw5nks		    libiconv@1.18
zeynpnj		    xz@5.6.3
u7sn2jt		ncurses@6.5
dvz3n3e	    libevent@2.1.12
kphogwy		openssl@3.4.1
s3bxsw4		    ca-certificates-mozilla@2025-05-20
nsqyer7		    perl@5.40.0
k5bepow			berkeley-db@18.1.40
vy2ggzh			bzip2@1.0.8
pptkbjb			    diffutils@3.10
5yo63cn			gdbm@1.23
skysn5p			    readline@8.2
xoghzad	    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

skysn5p readline@8.2
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
u7sn2jt	    ncurses@6.5
xoghzad		pkgconf@2.3.0

zjvsjg7 sqlite@3.46.0
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
skysn5p	    readline@8.2
u7sn2jt		ncurses@6.5
xoghzad		    pkgconf@2.3.0
g7ixtqy	    zlib-ng@2.2.4

ye5hcpf tar@1.35
vy2ggzh	    bzip2@1.0.8
pptkbjb		diffutils@3.10
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
kgw5nks	    libiconv@1.18
prsofdp	    pigz@2.8
g7ixtqy		zlib-ng@2.2.4
zeynpnj	    xz@5.6.3
bmaw6fn	    zstd@1.5.7

o26ozsq util-linux-uuid@2.41
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
xoghzad	    pkgconf@2.3.0

zeynpnj xz@5.6.3
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1

at3giiz yaksa@0.3
5xgjgae	    autoconf@2.72
nsqyer7		perl@5.40.0
k5bepow		    berkeley-db@18.1.40
vorbe53	    automake@1.16.5
rwnqbli	    compiler-wrapper@1.0
j7ykyvm	    gcc@11.4.0
3c5xh7d	    gcc-runtime@11.4.0
epwvtix	    glibc@2.35
5vb6e4b	    gmake@4.4.1
l2jtwyu	    libtool@2.4.7
ga3qiej		findutils@4.10.0
ypq2dye	    m4@1.4.20
pptkbjb		diffutils@3.10
kgw5nks		    libiconv@1.18
vefpsal		libsigsegv@2.14
dcljl7p	    python@3.13.5
vy2ggzh		bzip2@1.0.8
ut2qx6n		expat@2.7.1
bcrniix		    libbsd@0.12.2
7x6ozmz			libmd@1.1.0
5yo63cn		gdbm@1.23
soasbhm		gettext@0.23.1
7mdlpgu		    libxml2@2.13.5
ye5hcpf		    tar@1.35
prsofdp			pigz@2.8
bmaw6fn			zstd@1.5.7
4466i2x		libffi@3.4.8
u7sn2jt		ncurses@6.5
kphogwy		openssl@3.4.1
s3bxsw4		    ca-certificates-mozilla@2025-05-20
xoghzad		pkgconf@2.3.0
skysn5p		readline@8.2
zjvsjg7		sqlite@3.46.0
o26ozsq		util-linux-uuid@2.41
zeynpnj		xz@5.6.3
g7ixtqy		zlib-ng@2.2.4


-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
5xgjgae autoconf@2.72
5vb6e4b	    gmake@4.4.1
rwnqbli		compiler-wrapper@1.0
j7ykyvm		gcc@11.4.0
3c5xh7d		gcc-runtime@11.4.0
epwvtix		glibc@2.35
ypq2dye	    m4@1.4.20
pptkbjb		diffutils@3.10
kgw5nks		    libiconv@1.18
vefpsal		libsigsegv@2.14
nsqyer7	    perl@5.40.0
k5bepow		berkeley-db@18.1.40
vy2ggzh		bzip2@1.0.8
5yo63cn		gdbm@1.23
skysn5p		    readline@8.2
u7sn2jt			ncurses@6.5
xoghzad			    pkgconf@2.3.0
g7ixtqy		zlib-ng@2.2.4

s3bxsw4 ca-certificates-mozilla@2025-05-20

rwnqbli compiler-wrapper@1.0

7w652un gcc@10.5.0

j7ykyvm gcc@11.4.0

ekeebbi gcc-runtime@10.5.0
7w652un	    gcc@10.5.0
epwvtix	    glibc@2.35

3c5xh7d gcc-runtime@11.4.0
j7ykyvm	    gcc@11.4.0
epwvtix	    glibc@2.35

epwvtix glibc@2.35

oc4qy2f llvm@14.0.0

itmqxdm util-macros@1.20.1
5vb6e4b	    gmake@4.4.1
rwnqbli		compiler-wrapper@1.0
j7ykyvm		gcc@11.4.0
3c5xh7d		gcc-runtime@11.4.0
epwvtix		glibc@2.35

==> 69 installed packages

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
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
==> Fetching file:///mirror/blobs/sha256/dc/dca0ea35ad05123fd92b7acf529169b19eaf7450206b5f97d5e6e4b9949a453f
    [100%]   23.43 MB @	 291.3 GB/s
==> Extracting openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp from binary cache
==> openblas: Successfully installed openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp
  Search: 0.00s.  Fetch: 0.14s.	 Install: 0.63s.  Extract: 0.58s.  Relocate: 0.04s.  Total: 0.77s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp
==> Installing openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp [17/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
==> Fetching file:///mirror/blobs/sha256/14/147389e734e31a0fb8ce4d9e9d34442247f592eb31f2e738f1f0273fb1e61e28
    [100%]   61.03 MB @	 391.0 GB/s
==> Extracting kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf from binary cache
==> kokkos: Successfully installed kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.14s.  Extract: 0.12s.  Relocate: 0.01s.  Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf
==> Installing kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf [27/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c
==> Fetching file:///mirror/blobs/sha256/cc/cc6c456699f815e4484f508753a90d14209a93a835bcb438f84a1c68121902cb
    [100%]   61.16 MB @	 928.4 MB/s
==> Extracting kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z from binary cache
==> kokkos-kernels: Successfully installed kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.18s.  Extract: 0.16s.  Relocate: 0.01s.  Total: 0.19s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z
==> Installing kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z [30/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz
==> Fetching file:///mirror/blobs/sha256/06/06b0d1b3244f18ae3abfe7b13e4bee2014a9c448fcb636df36491b31bdfee5df
    [100%]   38.40 MB @	 401.3 GB/s
==> Extracting trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r from binary cache
==> trilinos: Successfully installed trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r
  Search: 0.00s.  Fetch: 0.06s.	 Install: 1.50s.  Extract: 1.34s.  Relocate: 0.14s.  Total: 1.56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r
==> Installing trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r [33/33]

Now we’re starting to see the power of Spack. Depending on the spec, Trilinos can have over 30 direct 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
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
==> Fetching file:///mirror/blobs/sha256/0e/0e039fafed69f5718b58f2dbd97101256f5f556c6064b448c03a24915ff440be
    [100%]   38.49 MB @	 341.3 GB/s
==> Extracting trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4 from binary cache
==> trilinos: Successfully installed trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4
  Search: 0.00s.  Fetch: 0.16s.	 Install: 1.54s.  Extract: 1.38s.  Relocate: 0.13s.  Total: 1.70s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4
==> Installing trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4 [25/25]

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 / %c,cxx,fortran=gcc@11.4.0 ------
trilinos@16.1.0
    cmake@3.31.8
	curl@8.11.1
	    nghttp2@1.65.0
		diffutils@3.10
	    openssl@3.4.1
		ca-certificates-mozilla@2025-05-20
	ncurses@6.5
	zlib-ng@2.2.4
    compiler-wrapper@1.0
    gcc@11.4.0
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    hwloc@2.11.1
	libpciaccess@0.17
	    util-macros@1.20.1
	libxml2@2.13.5
	    libiconv@1.18
	    xz@5.6.3
	pkgconf@2.3.0
    kokkos@4.5.01
    kokkos-kernels@4.5.01
    openblas@0.3.29
    openmpi@5.0.8
	autoconf@2.72
	    m4@1.4.20
		libsigsegv@2.14
	automake@1.16.5
	libevent@2.1.12
	libtool@2.4.7
	    findutils@4.10.0
		gettext@0.23.1
		    tar@1.35
			pigz@2.8
			zstd@1.5.7
	numactl@2.0.18
	openssh@9.9p1
	    krb5@1.21.3
		bison@3.8.2
	    libedit@3.1-20240808
	    libxcrypt@4.4.38
	perl@5.40.0
	    berkeley-db@18.1.40
	    bzip2@1.0.8
	    gdbm@1.23
		readline@8.2
	pmix@5.0.5

trilinos@16.1.0
    cmake@3.31.8
	curl@8.11.1
	    nghttp2@1.65.0
		diffutils@3.10
	    openssl@3.4.1
		ca-certificates-mozilla@2025-05-20
		perl@5.40.0
		    berkeley-db@18.1.40
	ncurses@6.5
	zlib-ng@2.2.4
    compiler-wrapper@1.0
    gcc@11.4.0
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    hdf5@1.14.6
	pkgconf@2.3.0
    hwloc@2.11.1
	libpciaccess@0.17
	    util-macros@1.20.1
	libxml2@2.13.5
	    libiconv@1.18
	    xz@5.6.3
    kokkos@4.5.01
    kokkos-kernels@4.5.01
    mpich@4.3.0
	findutils@4.10.0
	    gettext@0.23.1
		bzip2@1.0.8
		tar@1.35
		    pigz@2.8
		    zstd@1.5.7
	libfabric@2.2.0
	yaksa@0.3
	    autoconf@2.72
	    automake@1.16.5
	    libtool@2.4.7
	    m4@1.4.20
		libsigsegv@2.14
	    python@3.13.5
		expat@2.7.1
		    libbsd@0.12.2
			libmd@1.1.0
		gdbm@1.23
		libffi@3.4.8
		readline@8.2
		sqlite@3.46.0
		util-linux-uuid@2.41
    openblas@0.3.29

==> 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@16.1.0/5agd4kt
|\
| |\
| | |\
| | | |\
| | | | |\
| | | | | |\
| | | | | | |\
| | | | | | | |\
| | | | | | | | |\
| | | | | | | | | |\
| | o | | | | | | | | kokkos-kernels@4.5.01/wudwbac
| | |\| | | | | | | |
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|/ / / / / /
| | |/| | | | | | | |
| | | |\ \ \ \ \ \ \ \
| | | | |_|_|/ / / / /
| | | |/| | | | | | |
| | | | |\ \ \ \ \ \ \
| | | | | |_|_|/ / / /
| | | | |/| | | | | |
| | | | | |\ \ \ \ \ \
| | | | | | |_|_|/ / /
| | | | | |/| | | | |
| | | | | | |\ \ \ \ \
| | | | | | | |_|_|/ /
| | | | | | |/| | | |
| | | | | | | | |/ /
| | | | | | | |/| |
| o | | | | | | | | openblas@0.3.29/77haebo
| |\| | | | | | | |
| |\ \ \ \ \ \ \ \ \
| | |_|/ / / / / / /
| |/| | | | | | | |
| | |\ \ \ \ \ \ \ \
| | | |_|/ / / / / /
| | |/| | | | | | |
| | | |\ \ \ \ \ \ \
| | | | |_|/ / / / /
| | | |/| | | | | |
| | | | |/ / / / /
o | | | | | | | | openmpi@5.0.8/ezkzlw5
|\| | | | | | | |
|\ \ \ \ \ \ \ \ \
| |\ \ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|_|_|_|_|/
| | | | | | | | |/| | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|_|/ / /
| | | | | | | | | |/| | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / /
| | | | | | | | | | |/| | | | | |
| | | | | | | | | | | |\ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / /
| | | | | | | | | | | |/| | | | |
| | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | |_|/ / /
| | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | |\ \ \ \
| | | | | | | | | | | | | | | | | o kokkos@4.5.01/53vnflr
| | | | | | | | | | |_|_|_|_|_|_|/|
| | | | | | | | | |/| |_|_|_|_|_|/|
| | | | | | | | | | |/| |_|_|_|_|/|
| | | | | | | | | | | |/| |_|_|_|/|
| | | | | | | | | | | | |/| | | |/|
| | | | | | | | | | | | | | | |/|/
| | | | | o | | | | | | | | | | | numactl@2.0.18/74aq3kx
| | | | | |\| | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|/ / / / / / / /
| | | | | | |/| | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|_|_|_|_|_|/ /
| | | | | | | |/| | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|/ / / / / /
| | | | | | | | |/| | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|/ / / / /
| | | | | | | | | |/| | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|_|/ / / /
| | | | | | | | | | |/| | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | |_|_|_|/ / /
| | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | |_|/ / /
| | | | | | | | | | | | |/| | | |
| | | | o | | | | | | | | | | | | openssh@9.9p1/2s7eddo
| |_|_|/| | | | | | | | | | | | |
|/| | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|/ / / / / / / / / / /
| | | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / / / / / / /
| | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / / / / / /
| | | | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |_|/ / / / / / / /
| | | | | | | | | | | | |/| | | | | | | | |
| | | | | | | | | | | | | |/ / / / / / / /
| o | | | | | | | | | | | | | | | | | | | pmix@5.0.5/msnkjum
|/| | | | | | | | | | | | | | | | | | | |
| |\| | | | | | | | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / /
| |/| | | | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ /
| | |/| | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|_|_|/ / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|_|_|/ / / / / / / / /
| | | | |/| | | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|_|_|_|/ / / / / / / /
| | | | | |/| | | | | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|/ / / / / / /
| | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | |_|_|_|_|_|/ / / / / / /
| | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | o cmake@3.31.8/usc3vzr
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| | | | |_|_|_|_|_|_|/|
| | | | | | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | | o | | | automake@1.16.5/vorbe53
| | | | |_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | | | |/| |_|_|_|_|_|_|_|_|/| | | |
| | | | | | |/| |_|_|_|_|_|_|_|/| | | |
| | | | | | | |/| | |_|_|_|_|_|/| | | |
| | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | | | | |/ / /
| | | | | | | | | | | | | | | | | o | libtool@2.4.7/l2jtwyu
| | | | |_|_|_|_|_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|_|_|_|_|_|_|/| |
| | | | | |/| |_|_|_|_|_|_|_|_|_|/| |
| | | | | | |/| |_|_|_|_|_|_|_|_|/| |
| | | | | | | |/| | | | | | | | |/| |
| | | | | | | | | | | | | | | |/| | |
| | | | | | | | | | | | | | o | | | | krb5@1.21.3/zo73rgn
| | | | |_|_|_|_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|_|_|_|/| | | | |
| | | | | |/| |_|_|_|_|_|_|/| | | | |
| | | | | | |/| |_|_|_|_|_|/| | | | |
| | | | | | | |/| |_|_|_|_|/| | | | |
| | | | | | | | |/| |_|_|_|/| | | | |
| | | | | | | | | |/| |_|_|/| | | | |
| | | | | | | | | | |/| | |/| | | | |
| | | | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | | | | |_|_|/ /
| | | | | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | | | | |\ \ \ \
| | | | | | | | | | | | o | | | | | | | | libxcrypt@4.4.38/iundcaq
| | | | |_|_|_|_|_|_|_|/| | | | | | | | |
| | | |/| |_|_|_|_|_|_|/| | | | | | | | |
| | | | |/| |_|_|_|_|_|/| | | | | | | | |
| | | | | |/| |_|_|_|_|/| | | | | | | | |
| | | | | | |/| |_|_|_|/| | | | | | | | |
| | | | | | | |/| | |_|/ / / / / / / / /
| | | | | | | | | |/| | | | | | | | | |
| | o | | | | | | | | | | | | | | | | | hwloc@2.11.1/jhcvb6n
| | |\| | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|/ / / / / / / / / / / /
| | |/| | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|_|_|/ / / / / / / / /
| | | |/| | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|/ / / / / / / / / / / / / /
| | | | | | |/| | | | | | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|/ / / / / / / / / / / / /
| | | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|/ / / / / / / / / / / /
| | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | |/ / / / / / / / / / / /
| o | | | | | | | | | | | | | | | | | | | libevent@2.1.12/dvz3n3e
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|_|_|/ / / / / / / / /
| |/| | | | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|_|_|/ / / / / / / / / /
| | |/| | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|/ / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|/ / / / / / / / / / / /
| | | | |/| | | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|/ / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | |
| | | | | | | |_|_|/ / / / / / / / / / /
| | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | o curl@8.11.1/7xf5wle
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | o | autoconf@2.72/5xgjgae
| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| |
| | |/| | | | | | | | | |_|_|_|_|_|/| |
| | | | | | | | | | | |/| | | | | |/ /
| | | | | | | | | | | | | | | | o | | bison@3.8.2/ecemgn6
| | | |_|_|_|_|_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | |
| | | | | |/| |_|_|_|_|_|_|_|_|/| | |
| | | | | | |/| | | | | | | | |/| | |
| | | | | | | | | | | | | | | | |/ /
| | | | | | | | | | | | | | o | | | findutils@4.10.0/ga3qiej
| | | |_|_|_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | |
| | | | |/| |_|_|_|_|_|_|_|/| | | |
| | | | | |/| |_|_|_|_|_|_|/| | | |
| | | | | | |/| | | | | | |/ / / /
| | | | | | | | | | | | o | | | | libedit@3.1-20240808/h766azt
| | | |_|_|_|_|_|_|_|_|/| | | | |
| | |/| |_|_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|_|/| | | | |
| | | | | |/| |_|_|_|_|/| | | | |
| | | | | | |/| |_|_|_|/| | | | |
| | | | | | | |/| |_|_|/ / / / /
| | | | | | | | |/| | | | | | |
| | | | | | | | | | o | | | | | libpciaccess@0.17/w5iqedd
| | | |_|_|_|_|_|_|/| | | | | |
| | |/| |_|_|_|_|_|/| | | | | |
| | | |/| |_|_|_|_|/| | | | | |
| | | | |/| |_|_|_|/| | | | | |
| | | | | |/| |_|_|/| | | | | |
| | | | | | |/| |_|/| | | | | |
| | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | o nghttp2@1.65.0/hpkxq4q
| | | |_|_|_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|/|
| | | | | | | |/| | | | | | |/
| | | | | | | | | | | | | |/|
| o | | | | | | | | | | | | | openssl@3.4.1/kphogwy
|/| | | | | | | | | | | | | |
| |\| | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|_|/ / / /
| |/| | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|/ / / / / / / / / / /
| | |/| | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / / / /
| | | |/| | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / /
| | | | |/| | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / /
| | | | | |/| | | | | | | | |
| | | | | | | | | | | | | | o m4@1.4.20/ypq2dye
| | | |_|_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|/|
| | | | | |/| | |_|_|_|_|_|/|
| | | | | | | |/| | | | | |/|
| | | | | | | | | | | | o | | gettext@0.23.1/soasbhm
| | | |_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|/| | |
| | | | |/| |_|_|_|_|_|/| | |
| | | | | |/| | |_|_|_|/| | |
| | | | | | | |/| | |_|/| | |
| | | | | | | | | |/| |/| | |
| | | | | | | | | | |/| | | |
| | | | | | | | | | | | |\ \ \
| | | | | | | | | | | | | |\ \ \
| | | | | | | | | | | | | | |\ \ \
| | | | | | | | | | | o | | | | | | util-macros@1.20.1/itmqxdm
| | | | | | | | |_|_|/ / / / / / /
| | | | | | | |/| | | | | | | | |
| | | | | | o | | | | | | | | | | ca-certificates-mozilla@2025-05-20/s3bxsw4
| | | | | |  / / / / / / / / / /
| o | | | | | | | | | | | | | | perl@5.40.0/nsqyer7
|/| | | | | | | | | | | | | | |
| |\| | | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|/ / / / / / / / / /
| |/| | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / / / / / /
| | | |/| | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / / / /
| | | | |/| | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / / / /
| | | | | |/| | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|/ / /
| | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | | | | o libsigsegv@2.14/vefpsal
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| |/| | |_|_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | | |/| | | |_|_|_|_|_|_|/
| | | | | | | | |/| | | | | | |
| | | | | | | | | | | o | | | | libxml2@2.13.5/7mdlpgu
| |_|_|_|_|_|_|_|_|_|/| | | | |
|/| |_|_|_|_|_|_|_|_|/| | | | |
| |/| | |_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|/| | | | |
| | | | | |/| | | |_|/| | | | |
| | | | | | | | |/| |/| | | | |
| | | | | | | | | |/| | | | | |
| | | | | | | | | | | |\| | | |
| | | | | | | | | | | | |_|/ /
| | | | | | | | | | | |/| | |
| | | | | | | | | | | | | o | tar@1.35/ye5hcpf
| | |_|_|_|_|_|_|_|_|_|_|/| |
| |/| | |_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|_|_|/| |
| | | | | |/| |_|_|_|_|_|/| |
| | | | | | |/| | |_|_|_|/| |
| | | | | | | | |/| | | |/| |
| | | | | | | | | | | |/|/| |
| | | | | | | | | | | | | |\ \
| | | | | | | o | | | | | | | | berkeley-db@18.1.40/k5bepow
| | |_|_|_|_|/| | | | | | | | |
| |/| | |_|_|/| | | | | | | | |
| | | |/| |_|/| | | | | | | | |
| | | | |/| |/| | | | | | | | |
| | | | | |/| | | | | | | | | |
| | | | | | | |/ / / / / / / /
| | o | | | | | | | | | | | | gdbm@1.23/5yo63cn
| |/| | | | | | | | | | | | |
| | |\| | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|/ / / / / / / /
| | | |/| | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / / /
| | | | |/| | | | | | | | | | |
| | | | | |/ / / / / / / / / /
| | | | | | | o | | | | | | | bzip2@1.0.8/vy2ggzh
| | |_|_|_|_|/| | | | | | | |
| |/| | |_|_|/| | | | | | | |
| | | |/| |_|/| | | | | | | |
| | | | |/| |/| | | | | | | |
| | | | | |/|/| | | | | | | |
| | | | | | | | |_|_|_|_|_|/
| | | | | | | |/| | | | | |
| | | | | | | | | | | | | o pigz@2.8/prsofdp
| |_|_|_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|_|_|/|
| |/| | |_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|/
| | | | | | |/| | | | | |
| | | | | | | | | | | o | xz@5.6.3/zeynpnj
| | |_|_|_|_|_|_|_|_|/| |
| |/| | |_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|/| |
| | | | | |/| |_|_|_|/ /
| | | | | | |/| | | | |
| | | | | | | | | | | o zstd@1.5.7/bmaw6fn
| | |_|_|_|_|_|_|_|_|/|
| |/| | |_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|/|
| | | | |/| |_|_|_|_|/|
| | | | | |/| |_|_|_|/
| | | | | | |/| | | |
| | o | | | | | | | | readline@8.2/skysn5p
| |/| | | | | | | | |
| | |\| | | | | | | |
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|/ /
| | |/| | | | | | | |
| | | |\ \ \ \ \ \ \ \
| | | | |_|_|_|/ / / /
| | | |/| | | | | | |
| | | | |\ \ \ \ \ \ \
| | | | | |_|/ / / / /
| | | | |/| | | | | |
| | | | | |/ / / / /
| | | | | | | o | | diffutils@3.10/pptkbjb
| | |_|_|_|_|/| | |
| |/| | |_|_|/| | |
| | | |/| |_|/| | |
| | | | |/| |/| | |
| | | | | |/|/| | |
| | | | | | | | |/
| | | | | | | |/|
o | | | | | | | | zlib-ng@2.2.4/g7ixtqy
|\| | | | | | | |
|\ \ \ \ \ \ \ \ \
| |_|_|_|_|_|/ / /
|/| | | | | | | |
| |\ \ \ \ \ \ \ \
| | |_|_|/ / / / /
| |/| | | | | | |
| | |\ \ \ \ \ \ \
| | | |_|_|/ / / /
| | |/| | | | | |
| | | | |/ / / /
| | | |/| | | |
| | | | | o | | ncurses@6.5/u7sn2jt
| |_|_|_|/| | |
|/| |_|_|/| | |
| |/| |_|/| | |
| | |/| |/| | |
| | | |/|/| | |
| | | | | | |/
| | | | | |/|
| | | | | | o libiconv@1.18/kgw5nks
| |_|_|_|_|/|
|/| |_|_|_|/|
| |/| |_|_|/|
| | |/| |_|/|
| | | |/| |/
| | | | |/|
| | | | | o pkgconf@2.3.0/xoghzad
| |_|_|_|/|
|/| |_|_|/|
| |/| |_|/|
| | |/| |/|
| | | |/|/
| | | | o gmake@4.4.1/5vb6e4b
| |_|_|/|
|/| |_|/|
| |/| |/|
| | |/|/
| | | o compiler-wrapper@1.0/rwnqbli
| | |
| o | gcc-runtime@11.4.0/3c5xh7d
|/| |
| |/
| o gcc@11.4.0/j7ykyvm
|
o glibc@2.35/epwvtix

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 / %c,cxx=clang@14.0.0 ------------
tcl@8.6.12
    compiler-wrapper@1.0
    glibc@2.35
    gmake@4.4.1
    llvm@14.0.0
    zlib-ng@2.0.7


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
tcl@8.6.12
    compiler-wrapper@1.0
    gcc@11.4.0
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    zlib-ng@2.0.7

tcl@8.6.12
    compiler-wrapper@1.0
    gcc@11.4.0
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    zlib-ng@2.2.4

==> 3 installed packages
$ spack find zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
zlib-ng@2.0.7  zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
zlib-ng@2.0.7  zlib-ng@2.2.4
==> 5 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.2.4+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/f53jcgx
$ spack find -lf zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
bzi3xc7 zlib-ng@2.0.7  rdf7ff3 zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
yq5p6pl zlib-ng@2.0.7  cflags=-O3  g7ixtqy zlib-ng@2.2.4
==> 4 installed packages

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

We can use either the --force (or -f) flag or the --dependents (or -R) flag to remove packages that are required by another installed package. Use --force to remove just the specified package, leaving dependents broken. Use --dependents to remove the specified package and all of its dependents.

$ spack uninstall zlib-ng/bzi
==> Refusing to uninstall the following specs
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
    bzi3xc7 zlib-ng@2.0.7

==> The following dependents are still installed:
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
    xm5va4z 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/bzi
==> Successfully uninstalled tcl@8.6.12 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/xm5va4z
==> Successfully uninstalled zlib-ng@2.0.7+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/bzi3xc7

Spack will not uninstall packages that are not sufficiently specified (i.e., if the spec is ambiguous and matches multiple installed packages). The --all (or -a) flag can be used to uninstall all packages matching an ambiguous spec.

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

    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
    5agd4kt trilinos@16.1.0  s2kwzuh trilinos@16.1.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 /5ag
y
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
    5agd4kt trilinos@16.1.0

==> 1 packages will be uninstalled. Do you want to proceed? [y/N] ==> Successfully uninstalled trilinos@16.1.0~adelus~adios2+amesos+amesos2+anasazi+aztec~basker+belos~boost~chaco~complex~cuda~cuda_constexpr~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~pamgen~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/5agd4kt

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 / %c,cxx,fortran=gcc@11.4.0 ------
trilinos@16.1.0

-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
hdf5@1.14.6
==> 2 installed packages
$ spack find cflags=-O3
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=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 / %c,cxx,fortran=gcc@11.4.0 ------
trilinos@16.1.0	 /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
zlib-ng@2.2.4  /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
tcl@8.6.12     /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai
tcl@8.6.12     /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr
zlib-ng@2.0.7  /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh

-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
gmake@4.4.1  /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
hdf5@1.14.6  /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o
hdf5@1.14.6  /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu
hdf5@1.14.6  /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
==> 9 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 spack compiler list.

$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e]  gcc@11.4.0	 [e]  gcc@10.5.0

-- llvm ubuntu22.04-x86_64 --------------------------------------
[e]  llvm@14.0.0

These compilers are maintained in a YAML file. Later in the tutorial we will discuss how to configure external compilers by hand for special cases. Spack can also use compilers built by Spack to compile later packages.

$ spack install gcc@12
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/84/84093901d20b4ea70d21764c9e9beb55ae2816e75a5fb33988c57a20162a369f
    [100%]  690.61 KB @	 764.3 MB/s
==> Extracting autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv from binary cache
==> autoconf-archive: Successfully installed autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv
  Search: 0.00s.  Fetch: 0.11s.	 Install: 0.16s.  Extract: 0.14s.  Relocate: 0.00s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv
==> Installing autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv [15/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
==> Fetching file:///mirror/blobs/sha256/3a/3a72acfe375f44f65cf570d23c2712bb69d8f847622ec2c431f0a58fc6153b86
    [100%]   62.80 MB @	 441.1 GB/s
==> Extracting texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z from binary cache
==> texinfo: Successfully installed texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.20s.  Extract: 0.16s.  Relocate: 0.02s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z
==> Installing texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z [27/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
==> Fetching file:///mirror/blobs/sha256/e7/e731baaf6e9ff7cf4fce872d24d7d03011f2949d98a2ce1446125e6518178df9
    [100%]  914.21 KB @	 933.2 MB/s
==> Extracting gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj from binary cache
==> gmp: Successfully installed gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj
==> Installing gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj [29/33]
==> Fetching file:///mirror/blobs/sha256/0a/0a1aeb205b12985be63ca2fe89bf667ad23ae768177460b02f11fcca9b98a01b
    [100%]   62.69 MB @	 421.1 GB/s
==> Extracting mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya from binary cache
==> mpfr: Successfully installed mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya
==> Installing mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya [30/33]
==> Fetching file:///mirror/blobs/sha256/e9/e9fc918ab0076c955023b535b7e7da2e939be38d5e3d1ff4dfab04be327d1dc8
    [100%]  628.60 KB @	 774.3 MB/s
==> Extracting mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g from binary cache
==> mpc: Successfully installed mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.05s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g
==> Installing mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g [31/33]
==> Fetching file:///mirror/blobs/sha256/af/af5818f5eb67e53a3c95eae143eb2a9337100cbe3cf796d738148084c570b280
    [100%]   62.33 MB @	 391.2 GB/s
==> Extracting gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww from binary cache
==> gawk: Successfully installed gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.06s.  Relocate: 0.02s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww
==> Installing gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww [32/33]
==> Fetching file:///mirror/blobs/sha256/21/210bde294ec907128aa196cee83edfee0dcd8338971388101e38683f7e03d13d
    [100%]  641.04 MB @	 431.4 GB/s
==> Extracting gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh from binary cache
==> Wrote new spec file to /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh/lib/gcc/x86_64-pc-linux-gnu/12.5.0/specs
==> gcc: Successfully installed gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh
  Search: 0.00s.  Fetch: 0.92s.	 Install: 13.07s.  Extract: 11.42s.  Relocate: 1.38s.  Total: 13.99s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh
==> Installing gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh [33/33]
$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e]  gcc@11.4.0	 [e]  gcc@10.5.0  [+]  gcc@12.5.0

-- llvm ubuntu22.04-x86_64 --------------------------------------
[e]  llvm@14.0.0

Because this compiler is a newer version than the external compilers Spack knows about, it will be the new default compiler. We will discuss changing these defaults in a later section. We can check that this compiler is preferred by looking at the install plan for a package that isn’t being reused from binary.

For the test of the tutorial we will sometimes use this new compiler, and sometimes we want to demonstrate things without it. For now, we will uninstall it to avoid using it in the next section.

$ spack uninstall gcc@12
y
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
    fmxnit5 gcc@12.5.0

==> 1 packages will be uninstalled. Do you want to proceed? [y/N] ==> Successfully uninstalled gcc@12.5.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3/fmxnit5

Note

The spec syntax may be confusing for new users. Spack can provide information about commands you run frequently. For instance, see the output of spack help --spec:

spec expression syntax:

  package [constraints] [^dependency [constraints] ...]

  package                           any package from 'spack list', or
  /hash                             unique prefix or full hash of
                                    installed package

  constraints:
    versions:
      @version                      single version
      @min:max                      version range (inclusive)
      @min:                         version <min> or higher
      @:max                         up to version <max> (inclusive)
      @=version                     exact version

    compilers:
      %compiler                     build with <compiler>
      %compiler@version             build with specific compiler version
      %compiler@min:max             specific version range (see above)

    compiler flags:
      cflags="flags"                cppflags, cflags, cxxflags,
                                    fflags, ldflags, ldlibs
      ==                            propagate flags to package dependencies

    variants:
      +variant                      enable <variant>
      -variant or ~variant          disable <variant>
      variant=value                 set non-boolean <variant> to <value>
      variant=value1,value2,value3  set multi-value <variant> values
      ++, --, ~~, ==                propagate variants to package dependencies

    architecture variants:
      platform=platform             linux, darwin, freebsd, windows
      os=operating_system           specific <operating_system>
      target=target                 specific <target> processor
      arch=platform-os-target       shortcut for all three above

    dependencies:
      ^dependency [constraints]     specify constraints on dependencies
      ^/hash                        build with a specific installed
                                    dependency

  examples:
      hdf5                          any hdf5 configuration
      hdf5 @1.10.1                  hdf5 version 1.10.1
      hdf5 @1.8:                    hdf5 1.8 or higher
      hdf5 @1.8: %gcc               hdf5 1.8 or higher built with gcc
      hdf5 +mpi                     hdf5 with mpi enabled
      hdf5 ~mpi                     hdf5 with mpi disabled
      hdf5 ++mpi                    hdf5 with mpi enabled and propagates
      hdf5 ~~mpi                    hdf5 with mpi disabled and propagates
      hdf5 +mpi ^mpich              hdf5 with mpi, using mpich
      hdf5 +mpi ^openmpi@1.7        hdf5 with mpi, using openmpi 1.7
      boxlib dim=2                  boxlib built for 2 dimensions
      libdwarf %intel ^libelf%gcc
          libdwarf, built with intel compiler, linked to libelf built with gcc
      mvapich2 fabrics=psm,mrail,sock %gcc
          mvapich2, built with gcc compiler, with support for multiple fabrics