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

$ git clone --depth=2 --branch=releases/v1.1 https://github.com/spack/spack.git ~/spack
Cloning into '/home/spack/spack'...
remote: Enumerating objects: 2340, done.K
remote: Counting objects: 100% (2340/2340), done.K
remote: Compressing objects: 100% (1583/1583), done.K
remote:nTotale2340 (delta2311),3reused 1329 (delta 237), pack-reused 0 (from 0)K
Receiving objects: 100% (2340/2340), 5.30 MiB | 20.25 MiB/s, done.
Resolving deltas: 100% (311/311), 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

And now we’re good to go!

What is in Spack?

The spack list command shows available packages.

$ spack list
remote: Enumerating objects: 19701, done.K
remote: Counting objects: 100% (19701/19701), done.K
remote: Compressing objects: 100% (10555/10555), done.K
remote: Total 19701 (delta 1337), reused 13774 (delta 1222), pack-reused 0 (from 0)K
3dtk

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-multiprocess
py-4suite-xml				  py-multiqc
py-a2wsgi				  py-multiurl
py-abcpy				  py-mumps4py
py-abipy				  py-munch

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 gcc-11.4.0-rpw3bukiasa3mhgh2vbz6tlwb5smfg3w)
[+] /usr (external glibc-2.35-vjnqll7uhrmsms4z5opdvczk7riv6fs5)
==> No binary for compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2 found: installing from source
==> Installing compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2 [3/5]
==> Fetching https://mirror.spack.io/_source-cache/archive/a5/a5ff4fcdbeda284a7993b87f294b6338434cffc84ced31e4d04008ed5ea389bf
    [100%]   30.08 KB @	 185.8 MB/s
==> No patches needed for compiler-wrapper
==> compiler-wrapper: Executing phase: 'install'
==> compiler-wrapper: Successfully installed compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
  Stage: 0.15s.	 Install: 0.01s.  Post-install: 0.01s.	Total: 0.18s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
==> No binary for gcc-runtime-11.4.0-qmbrryiepg5ww5i2bujmli7i22dmwqju found: installing from source
==> Installing gcc-runtime-11.4.0-qmbrryiepg5ww5i2bujmli7i22dmwqju [4/5]
==> No patches needed for gcc-runtime
==> gcc-runtime: Executing phase: 'install'
==> gcc-runtime: Successfully installed gcc-runtime-11.4.0-qmbrryiepg5ww5i2bujmli7i22dmwqju
  Stage: 0.00s.	 Install: 0.05s.  Post-install: 0.03s.	Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-qmbrryiepg5ww5i2bujmli7i22dmwqju
==> No binary for gmake-4.4.1-vsq3oi374trwzuwcxzutihi2zbxrhosh found: installing from source
==> Installing gmake-4.4.1-vsq3oi374trwzuwcxzutihi2zbxrhosh [5/5]
==> Fetching https://mirror.spack.io/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
    [100%]   62.35 MB @	 163.0 MB/s
==> No patches needed for gmake
==> gmake: Executing phase: 'install'
==> gmake: Successfully installed gmake-4.4.1-vsq3oi374trwzuwcxzutihi2zbxrhosh
  Stage: 0.24s.	 Install: 10.47s.  Post-install: 0.01s.	 Total: 10.73s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-vsq3oi374trwzuwcxzutihi2zbxrhosh

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/f6/f6ea4378846cd46ab23fc727c20afc772f03c83a8b3b57b275f511f196d6b9d9
    [100%]   56.00  B @	 407.8 KB/s
==> Fetching file:///mirror/blobs/sha256/e6/e6b951d7df78889b27537f245504b97a6d211a2ae023fe9922a4beb51238a35c
    [100%]   10.43 KB @	 177.7 MB/s
gpg: key A8E0CA3C1C2ADA2F: 7 signatures not checked due to missing keys
gpg: key A8E0CA3C1C2ADA2F: public key "Spack Project Official Binaries <maintainers@spack.io>" imported
gpg: Total number processed: 1
gpg:		   imported: 1
gpg: no ultimately trusted keys found
gpg: inserting ownertrust of 6

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/26/26ccb2dd448159527529cfe52ba032f5fceecec872ff580cfed6fde523663934
    [100%]  351.34 KB @	 689.9 MB/s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /usr (external llvm-14.0.0-qr2e4rdcbjmj4zokqhkstk3yitfyba7v)
==> Fetching file:///mirror/blobs/sha256/cc/cc94a1eb6710d8556df7f38940e55a2496551b567ad5cbc6c1be80d24ad02c99
    [100%]   10.48 MB @	 401.3 GB/s
==> Extracting gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
  Search: 0.00s.  Fetch: 0.18s.	 Install: 0.26s.  Extract: 0.23s.  Relocate: 0.03s.  Total: 0.44s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
==> Installing gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh [5/7]
==> Fetching file:///mirror/blobs/sha256/fd/fd27cb50518ba7449532809cf527a065fd7a84fae10042d1aa53b929899cc007
    [100%]  462.31 KB @	 737.6 MB/s
==> Extracting gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma from binary cache
==> gmake: Successfully installed gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
  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-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Installing gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma [6/7]
==> Fetching file:///mirror/blobs/sha256/be/be279bb783c2fc29d9943d4fa11aab2704e9c0114c91f2aabd882d16b36fa2c6
    [100%]  240.79 KB @	 627.3 MB/s
==> Extracting zlib-ng-2.2.4-ct2r7xmldphegkos5g43flc6lm2nltcd from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-ct2r7xmldphegkos5g43flc6lm2nltcd
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.02s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-ct2r7xmldphegkos5g43flc6lm2nltcd
==> Installing zlib-ng-2.2.4-ct2r7xmldphegkos5g43flc6lm2nltcd [7/7]

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.3.0-rc2  2.3.0-rc1	2.2.5  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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /usr (external llvm-14.0.0-qr2e4rdcbjmj4zokqhkstk3yitfyba7v)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/20/2085c20a1109b030f20fc22fcedf9d26221e06992c78cb0741bda2908f371e53
    [100%]  196.30 KB @	 499.6 MB/s
==> Extracting zlib-ng-2.0.7-um7p6trqwrnsqapkzk5la2aqzcqky2dz from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-um7p6trqwrnsqapkzk5la2aqzcqky2dz
  Search: 0.00s.  Fetch: 0.17s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-um7p6trqwrnsqapkzk5la2aqzcqky2dz
==> Installing zlib-ng-2.0.7-um7p6trqwrnsqapkzk5la2aqzcqky2dz [6/6]

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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-10.5.0-ntkvysydhiybjhukdyndi7mf7nhsv4u7)
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
==> Fetching file:///mirror/blobs/sha256/74/7451c122b920fb458060a9b2ad9c19f599c210674ebe10f79357eb4e15c01f31
    [100%]   10.48 MB @	 371.2 GB/s
==> Extracting gcc-runtime-10.5.0-ahapkrsgqx4wwndxh4ix2xzrcbotpvnp from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-10.5.0-ahapkrsgqx4wwndxh4ix2xzrcbotpvnp
  Search: 0.00s.  Fetch: 0.18s.	 Install: 0.26s.  Extract: 0.23s.  Relocate: 0.03s.  Total: 0.44s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-10.5.0-ahapkrsgqx4wwndxh4ix2xzrcbotpvnp
==> Installing gcc-runtime-10.5.0-ahapkrsgqx4wwndxh4ix2xzrcbotpvnp [4/6]
==> Fetching file:///mirror/blobs/sha256/62/62350cfe0247aa8ce61f72a6b0eb8aaf19d1504123cf18236fc1ba81dc1f33a6
    [100%]  458.45 KB @	 786.8 MB/s
==> Extracting gmake-4.4.1-ufbescpw7rn7y7qxjx5yl776iojz3y5n from binary cache
==> gmake: Successfully installed gmake-4.4.1-ufbescpw7rn7y7qxjx5yl776iojz3y5n
  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-ufbescpw7rn7y7qxjx5yl776iojz3y5n
==> Installing gmake-4.4.1-ufbescpw7rn7y7qxjx5yl776iojz3y5n [5/6]
==> Fetching file:///mirror/blobs/sha256/dd/ddb82d46c5ee682bda269c4a781010f0374102750dbfe10d8fb9d5f52f317380
    [100%]  221.37 KB @	 574.9 MB/s
==> Extracting zlib-ng-2.2.4-updxeyeustk7kqztd67jvjv4umdxjy7g from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-updxeyeustk7kqztd67jvjv4umdxjy7g
  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-updxeyeustk7kqztd67jvjv4umdxjy7g
==> Installing zlib-ng-2.2.4-updxeyeustk7kqztd67jvjv4umdxjy7g [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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/42/42a994755d7599f4b2471cd3dcc1d5d244b4cf9187cf8d73ec3b522dd5ac252b
    [100%]  209.73 KB @	 570.9 MB/s
==> Extracting zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
  Search: 0.00s.  Fetch: 0.17s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
==> Installing zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw [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 / no compilers ----------------------
gcc@11.4.0  glibc@2.35

-- 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=gcc@10.5.0 ------------------
gmake@4.4.1

-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
gmake@4.4.1  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  glibc@2.35
gcc@10.5.0	      gcc-runtime@10.5.0  gcc-runtime@11.4.0  llvm@14.0.0
==> 17 installed packages
$ spack find -lf
-- linux-ubuntu22.04-x86_64 / no compilers ----------------------
rpw3buk gcc@11.4.0  vjnqll7 glibc@2.35

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
um7p6tr zlib-ng@2.0.7  ct2r7xm zlib-ng@2.2.4

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

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

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

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

-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
ntccuj2 compiler-wrapper@1.0  ahapkrs gcc-runtime@10.5.0  qg7qyaz glibc@2.35
ntkvysy gcc@10.5.0	      qmbrryi gcc-runtime@11.4.0  qr2e4rd llvm@14.0.0
ml7cem5 gcc@11.4.0	      nokfxva gcc-runtime@11.4.0
==> 17 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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/ff/ffb2fabc060249fff7e2b34e57cd6de403b72025a1e78dcaed55ddec9e8f2fd1
    [100%]  220.69 KB @	 535.1 MB/s
==> Extracting zlib-ng-2.2.4-zk6keshnphcta4rwsmvvexg5e25uqnbd from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-zk6keshnphcta4rwsmvvexg5e25uqnbd
  Search: 0.00s.  Fetch: 0.17s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-zk6keshnphcta4rwsmvvexg5e25uqnbd
==> Installing zlib-ng-2.2.4-zk6keshnphcta4rwsmvvexg5e25uqnbd [6/7]
==> Fetching file:///mirror/blobs/sha256/00/002f82b15e261bc3b23cb8fb003b2f8a83b267bc52bbd2061e1ad67e09183a73
    [100%]   16.13 MB @	 401.3 GB/s
==> Extracting tcl-8.6.17-tsq4fjjw2p7oq6xiondqh232336zyrf4 from binary cache
==> tcl: Successfully installed tcl-8.6.17-tsq4fjjw2p7oq6xiondqh232336zyrf4
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.98s.  Extract: 0.92s.  Relocate: 0.06s.  Total: 1.01s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.17-tsq4fjjw2p7oq6xiondqh232336zyrf4
==> Installing tcl-8.6.17-tsq4fjjw2p7oq6xiondqh232336zyrf4 [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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /usr (external llvm-14.0.0-qr2e4rdcbjmj4zokqhkstk3yitfyba7v)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-um7p6trqwrnsqapkzk5la2aqzcqky2dz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/75/751ebd94e77a39c48a0199bb1df7d465bf36581647a13ee274c49026d1dca348
    [100%]   16.12 MB @	 401.3 GB/s
==> Extracting tcl-8.6.17-ibbzvxtmiqzkhacq7f65pyupibc4wvnz from binary cache
==> tcl: Successfully installed tcl-8.6.17-ibbzvxtmiqzkhacq7f65pyupibc4wvnz
  Search: 0.00s.  Fetch: 0.19s.	 Install: 1.00s.  Extract: 0.94s.  Relocate: 0.06s.  Total: 1.19s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.17-ibbzvxtmiqzkhacq7f65pyupibc4wvnz
==> Installing tcl-8.6.17-ibbzvxtmiqzkhacq7f65pyupibc4wvnz [7/7]

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 ^/qla
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
==> Fetching file:///mirror/blobs/sha256/d8/d8d39a8adcbdced977371947a8c04345f31aef23409780c4fa6b6e257f59fc8d
    [100%]   16.13 MB @	 401.3 GB/s
==> Extracting tcl-8.6.17-x74vmgrwo7h4ka3z3idhnde7xnuof3aq from binary cache
==> tcl: Successfully installed tcl-8.6.17-x74vmgrwo7h4ka3z3idhnde7xnuof3aq
  Search: 0.00s.  Fetch: 0.19s.	 Install: 1.01s.  Extract: 0.95s.  Relocate: 0.06s.  Total: 1.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.17-x74vmgrwo7h4ka3z3idhnde7xnuof3aq
==> Installing tcl-8.6.17-x74vmgrwo7h4ka3z3idhnde7xnuof3aq [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 / no compilers ----------------------
rpw3buk gcc@11.4.0

vjnqll7 glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
ibbzvxt tcl@8.6.17
ntccuj2	    compiler-wrapper@1.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qr2e4rd	    llvm@14.0.0
um7p6tr	    zlib-ng@2.0.7

um7p6tr zlib-ng@2.0.7
ntccuj2	    compiler-wrapper@1.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qr2e4rd	    llvm@14.0.0

ct2r7xm zlib-ng@2.2.4
ntccuj2	    compiler-wrapper@1.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qr2e4rd	    llvm@14.0.0


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
updxeye zlib-ng@2.2.4
ntccuj2	    compiler-wrapper@1.0
ntkvysy	    gcc@10.5.0
ahapkrs	    gcc-runtime@10.5.0
qg7qyaz	    glibc@2.35
ufbescp	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
x74vmgr tcl@8.6.17
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

tsq4fjj tcl@8.6.17
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
zk6kesh	    zlib-ng@2.2.4

qlavhjb zlib-ng@2.0.7  cflags=-O3
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

zk6kesh zlib-ng@2.2.4
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
ufbescp gmake@4.4.1
ntccuj2	    compiler-wrapper@1.0
ntkvysy	    gcc@10.5.0
ahapkrs	    gcc-runtime@10.5.0
qg7qyaz	    glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
vsq3oi3 gmake@4.4.1
ntccuj2	    compiler-wrapper@1.0
rpw3buk	    gcc@11.4.0
qmbrryi	    gcc-runtime@11.4.0
vjnqll7	    glibc@2.35

4obn7cg gmake@4.4.1
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35


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

ntkvysy gcc@10.5.0

ml7cem5 gcc@11.4.0

ahapkrs gcc-runtime@10.5.0
ntkvysy	    gcc@10.5.0
qg7qyaz	    glibc@2.35

qmbrryi gcc-runtime@11.4.0
rpw3buk	    gcc@11.4.0
vjnqll7	    glibc@2.35

nokfxva gcc-runtime@11.4.0
ml7cem5	    gcc@11.4.0
qg7qyaz	    glibc@2.35

qg7qyaz glibc@2.35

qr2e4rd llvm@14.0.0

==> 21 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.17/tsq4fjj
|\
| |\
| | |\
| | | |\
| | | | |\
o | | | | | zlib-ng@2.2.4/zk6kesh
|\| | | | |
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | |\ \ \ \
| | | |_|/ /
| | |/| | |
| | | |/ /
| | | | o gmake@4.4.1/4obn7cg
| |_|_|/|
|/| |_|/|
| |/| |/|
| | |/|/
| | | o compiler-wrapper@1.0/ntccuj2
| | |
| o | gcc-runtime@11.4.0/nokfxva
|/| |
| |/
| o gcc@11.4.0/ml7cem5
|
o glibc@2.35/qg7qyaz

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 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	 ^cmake@3.31.9~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -	     ^curl@8.15.0~gssapi~ldap~libidn2~librtmp~libssh+libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=mbedtls,openssl platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^libssh2@1.11.1+shared build_system=autotools crypto=mbedtls platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		     ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^mbedtls@2.28.9+pic build_system=makefile build_type=Release libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^nghttp2@1.48.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^openssl@3.6.0~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^ca-certificates-mozilla@2025-08-12 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
 -	     ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]	 ^compiler-wrapper@1.0 build_system=generic platform=linux os=ubuntu22.04 target=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' platform=linux os=ubuntu22.04 target=x86_64_v3
[+]	 ^gcc-runtime@11.4.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[e]	 ^glibc@2.35 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+]	 ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu22.04 target=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 platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@11.4.0
 -	     ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
 -		 ^m4@1.4.20+sigsegv build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^libsigsegv@2.14 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^hwloc@2.12.2~cairo~cuda~gl~level_zero~libudev+libxml2~nvml~opencl+pci~rocm build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^libpciaccess@0.17 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		     ^util-macros@1.20.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
 -		 ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		     ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^libevent@2.1.12+openssl build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^libtool@2.4.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		     ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -			 ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -			     ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -			     ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -	     ^numactl@2.0.18 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^openssh@9.9p1+gssapi build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^krb5@1.21.3+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		     ^bison@3.8.2~color build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^libedit@3.1-20240808 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^libxcrypt@4.4.38~obsolete_api build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		     ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^pmix@6.0.0~munge~python build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	     ^prrte@4.0.0 build_system=autotools schedulers:=none platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -		 ^flex@2.6.3+lex~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -	 ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]	 ^zlib-ng@2.0.7 cflags=-O3 +compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0

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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
==> Fetching file:///mirror/blobs/sha256/0e/0ef0cfbbeac0c8aafa641c7518c7309ff69c9f3e1fc75611c445d9642e6967c7
    [100%]  133.95 KB @	 433.2 MB/s
==> Extracting ca-certificates-mozilla-2025-08-12-etqlnw5hd6o35feimkxa53omtrjxuf5l from binary cache
==> ca-certificates-mozilla: Successfully installed ca-certificates-mozilla-2025-08-12-etqlnw5hd6o35feimkxa53omtrjxuf5l
  Search: 0.00s.  Fetch: 0.16s.	 Install: 0.04s.  Extract: 0.04s.  Relocate: 0.00s.  Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ca-certificates-mozilla-2025-08-12-etqlnw5hd6o35feimkxa53omtrjxuf5l
==> Installing ca-certificates-mozilla-2025-08-12-etqlnw5hd6o35feimkxa53omtrjxuf5l [4/49]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/66/66b47dd2659fdd1aeca7d50aa2b32c9e5edde63a74e5233d3af0fa9ea98e12e6
    [100%]   62.20 MB @	 381.1 GB/s
==> Extracting libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq from binary cache
==> libiconv: Successfully installed libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq
  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-qtepnkrdvqazp3jmfnheapckbemejrhq
==> Installing libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq [7/49]
==> Fetching file:///mirror/blobs/sha256/1d/1dfdc937ee8598e5d68494ac32c40bae8a780ae6d002f970ced9df2337813a45
    [100%]  463.08 KB @	 747.9 MB/s
==> Extracting pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h from binary cache
==> pkgconf: Successfully installed pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
  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.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
==> Installing pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h [8/49]
==> Fetching file:///mirror/blobs/sha256/c6/c6d49b50b0d0d82666133a31f3073ec9bedaf33e3cc2eb2b56eecfd976973063
    [100%]   63.50 MB @	 411.2 GB/s
==> Extracting berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.07s.  Relocate: 0.02s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
==> Installing berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma [9/49]
==> Fetching file:///mirror/blobs/sha256/b1/b1906ca502af23b4b0f3282011456bd4ca5523260fd89da710f430a253435c0a
    [100%]   32.41 KB @	 225.4 MB/s
==> Extracting util-macros-1.20.1-hwxnwvmn44zotq6y6cifufosug2utt5b from binary cache
==> util-macros: Successfully installed util-macros-1.20.1-hwxnwvmn44zotq6y6cifufosug2utt5b
  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-hwxnwvmn44zotq6y6cifufosug2utt5b
==> Installing util-macros-1.20.1-hwxnwvmn44zotq6y6cifufosug2utt5b [10/49]
==> Fetching file:///mirror/blobs/sha256/c6/c62eaf4a6c39647f96fdb028cbacbd1a80df424ab98658992cb8279939ed8c41
    [100%]   62.56 MB @	 431.2 GB/s
==> Extracting mbedtls-2.28.9-bz3ghzheol2ecbi3vpldgbb3yd7yblle from binary cache
==> mbedtls: Successfully installed mbedtls-2.28.9-bz3ghzheol2ecbi3vpldgbb3yd7yblle
  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/mbedtls-2.28.9-bz3ghzheol2ecbi3vpldgbb3yd7yblle
==> Installing mbedtls-2.28.9-bz3ghzheol2ecbi3vpldgbb3yd7yblle [11/49]
==> Fetching file:///mirror/blobs/sha256/3f/3fac396598eef662dd75093538ce2e36aa3338b60b65b9c50e86fba06f3b4bc8
    [100%]   61.57 MB @	 471.1 GB/s
==> Extracting zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea from binary cache
==> zstd: Successfully installed zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
  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-foiizhdg2mc4jdjtuddksbzvr64roxea
==> Installing zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea [12/49]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
==> Fetching file:///mirror/blobs/sha256/d1/d17384f0564b5ebf91d4af10fbca9a24a9f60aefb00c518b111ff8a69f32e6eb
    [100%]   61.87 MB @	 501.2 GB/s
==> Extracting xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph from binary cache
==> xz: Successfully installed xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.09s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
==> Installing xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph [14/49]
==> Fetching file:///mirror/blobs/sha256/44/4494a8094c6307a283260425c2fcae18f131557165dff36a1fee8c7865c0d8f8
    [100%]  117.07 KB @	 414.0 MB/s
==> Extracting libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w
  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-bs5ujst3rrdcbj3r726bekzjfdddck4w
==> Installing libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w [15/49]
==> Fetching file:///mirror/blobs/sha256/34/34adb03543f15fe57c37dd1be4b1c985278c6f9146df526aeda980e6cb70ba75
    [100%]   61.13 MB @	 951.1 MB/s
==> Extracting diffutils-3.12-cih4xrzw7ysoceclj2x33hdgo23nuvmk from binary cache
==> diffutils: Successfully installed diffutils-3.12-cih4xrzw7ysoceclj2x33hdgo23nuvmk
  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/diffutils-3.12-cih4xrzw7ysoceclj2x33hdgo23nuvmk
==> Installing diffutils-3.12-cih4xrzw7ysoceclj2x33hdgo23nuvmk [16/49]
==> Fetching file:///mirror/blobs/sha256/4e/4ed43030e94ab138bf850645bd620d9002ab739ca3e77f16ae6bae30283e97f5
    [100%]   67.06 MB @	 481.3 GB/s
==> Extracting ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz from binary cache
==> ncurses: Successfully installed ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.54s.  Extract: 0.52s.  Relocate: 0.02s.  Total: 0.56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
==> Installing ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz [17/49]
==> Fetching file:///mirror/blobs/sha256/78/7881079c346d61e1dfba6b1b3ca14a553d238f7eca9f4acdc8c57e5b54214367
    [100%]  196.78 KB @	 538.1 MB/s
==> Extracting libpciaccess-0.17-txbwcin227323qmxmg4opnj4r4tvenz4 from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-txbwcin227323qmxmg4opnj4r4tvenz4
  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-txbwcin227323qmxmg4opnj4r4tvenz4
==> Installing libpciaccess-0.17-txbwcin227323qmxmg4opnj4r4tvenz4 [18/49]
==> Fetching file:///mirror/blobs/sha256/27/27af2631f6615cec0d1b2406c35636d51fa37af79c17946c6130805e7c207b06
    [100%]   92.66 KB @	 406.9 MB/s
==> Extracting pigz-2.8-kaz756eya6nj3ardls4b6aiaclkaux7i from binary cache
==> pigz: Successfully installed pigz-2.8-kaz756eya6nj3ardls4b6aiaclkaux7i
  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-kaz756eya6nj3ardls4b6aiaclkaux7i
==> Installing pigz-2.8-kaz756eya6nj3ardls4b6aiaclkaux7i [19/49]
==> Fetching file:///mirror/blobs/sha256/10/10009edc0ab662fc4ced331ddbdf14aeef167df2b2dc41f7933dcd9d127c9cb5
    [100%]   62.84 MB @	 411.2 GB/s
==> Extracting libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo from binary cache
==> libxml2: Successfully installed libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo
  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/libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo
==> Installing libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo [20/49]
==> Fetching file:///mirror/blobs/sha256/8a/8a5c03cbe85a0616b5a7453c2e49c73459bca8d68fa34ffc30983f196bd05c99
    [100%]   61.34 MB @	 431.0 GB/s
==> Extracting libssh2-1.11.1-txa2olxuoxfkv7jdjrdw27djcf6fa5sz from binary cache
==> libssh2: Successfully installed libssh2-1.11.1-txa2olxuoxfkv7jdjrdw27djcf6fa5sz
  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/libssh2-1.11.1-txa2olxuoxfkv7jdjrdw27djcf6fa5sz
==> Installing libssh2-1.11.1-txa2olxuoxfkv7jdjrdw27djcf6fa5sz [21/49]
==> Fetching file:///mirror/blobs/sha256/ce/ce4f5147cf39139b278ca64732cad4621a778ba23d0411154f8c764b5683f574
    [100%]  898.08 KB @	 930.8 MB/s
==> Extracting nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg from binary cache
==> nghttp2: Successfully installed nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
  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.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
==> Installing nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg [22/49]
==> Fetching file:///mirror/blobs/sha256/7a/7a18b14df737930ea1c770febdf5eedf98552e5dfc62e3cb9d405a19fce3ec3b
    [100%]  304.49 KB @	 648.9 MB/s
==> Extracting bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl
  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-x7t4najic2jb46srjiebkrf55utda3nl
==> Installing bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl [23/49]
==> Fetching file:///mirror/blobs/sha256/c2/c2c4bbbacae5135ceab3532639bae0ea3a94a66b0ebf0afd55fa6fb0a4bb663f
    [100%]  737.83 KB @	 857.5 MB/s
==> Extracting m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g from binary cache
==> m4: Successfully installed m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g
  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-lxvpwtivihagmvso5cxgs3b7olqmac2g
==> Installing m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g [24/49]
==> Fetching file:///mirror/blobs/sha256/45/45c1e7c02f8c8fbd907bdef165d55df31c77bc10c73036f2391ca5f39aac0281
    [100%]   61.75 MB @	 471.2 GB/s
==> Extracting readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo from binary cache
==> readline: Successfully installed readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo
==> Installing readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo [25/49]
==> Fetching file:///mirror/blobs/sha256/48/4888cf6a6164231bdbf7db524bdb5e6625d6fcc78050679a637aa622b8286397
    [100%]  956.91 KB @	 998.7 MB/s
==> Extracting libedit-3.1-20240808-hdzcfgipukcqxsw7hjkksstbbz5otx3x from binary cache
==> libedit: Successfully installed libedit-3.1-20240808-hdzcfgipukcqxsw7hjkksstbbz5otx3x
  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-hdzcfgipukcqxsw7hjkksstbbz5otx3x
==> Installing libedit-3.1-20240808-hdzcfgipukcqxsw7hjkksstbbz5otx3x [26/49]
==> Fetching file:///mirror/blobs/sha256/b5/b5f1aa7fd742a997b6da16a3bc722058e760f1b08e7a48e95857c7211e156bb0
    [100%]   65.21 MB @	 421.3 GB/s
==> Extracting hwloc-2.12.2-4hos3725nynk2bsskofvtcmk6pmtcjg4 from binary cache
==> hwloc: Successfully installed hwloc-2.12.2-4hos3725nynk2bsskofvtcmk6pmtcjg4
  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.12.2-4hos3725nynk2bsskofvtcmk6pmtcjg4
==> Installing hwloc-2.12.2-4hos3725nynk2bsskofvtcmk6pmtcjg4 [27/49]
==> Fetching file:///mirror/blobs/sha256/45/45305870482486982cfc11ad7645b9bfc9ec49c7fff03110ac948e3848482cf9
    [100%]   61.29 MB @	 481.1 GB/s
==> Extracting tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc from binary cache
==> tar: Successfully installed tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc
==> Installing tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc [28/49]
==> Fetching file:///mirror/blobs/sha256/65/658171bfb6af49d486f682120270e8df942cac83c90a52d4500ff1c8dfbe514a
    [100%]   61.95 MB @	 351.1 GB/s
==> Extracting bison-3.8.2-n7yzkylf4gs7cnu6scau27gxbodinprr from binary cache
==> bison: Successfully installed bison-3.8.2-n7yzkylf4gs7cnu6scau27gxbodinprr
  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-n7yzkylf4gs7cnu6scau27gxbodinprr
==> Installing bison-3.8.2-n7yzkylf4gs7cnu6scau27gxbodinprr [29/49]
==> Fetching file:///mirror/blobs/sha256/c5/c50e18794a41a9e14570ec807cfdbc565907a7aefab4021c1bba6b7a477ebee2
    [100%]   61.01 MB @	 451.0 GB/s
==> Extracting gdbm-1.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27 from binary cache
==> gdbm: Successfully installed gdbm-1.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27
  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.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27
==> Installing gdbm-1.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27 [30/49]
==> Fetching file:///mirror/blobs/sha256/72/725da24bd225c126a09054e27f312f4a101ec9445e1769aff787289c8f83fdfa
    [100%]   12.98 MB @	 451.3 GB/s
==> Extracting gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7 from binary cache
==> gettext: Successfully installed gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.57s.  Extract: 0.52s.  Relocate: 0.04s.  Total: 0.59s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7
==> Installing gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7 [31/49]
==> Fetching file:///mirror/blobs/sha256/ef/ef3c99d9afb190f512d368f31d533d430e3d8fc10338d053bf124a41ce425577
    [100%]   15.58 MB @	 441.3 GB/s
==> Extracting perl-5.42.0-62kt5y4kl7uhwljviixr3m4dyf5vre7t from binary cache
==> perl: Successfully installed perl-5.42.0-62kt5y4kl7uhwljviixr3m4dyf5vre7t
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.74s.  Extract: 0.64s.  Relocate: 0.10s.  Total: 0.77s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.42.0-62kt5y4kl7uhwljviixr3m4dyf5vre7t
==> Installing perl-5.42.0-62kt5y4kl7uhwljviixr3m4dyf5vre7t [32/49]
==> Fetching file:///mirror/blobs/sha256/89/89326ba960a6e9a60af920776a173d0ed64900afb9e7a19b74dded5e2a4f990a
    [100%]   61.50 MB @	 461.1 GB/s
==> Extracting findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert from binary cache
==> findutils: Successfully installed findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert
  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-irvrytslmleivpkraggqq5brluhluert
==> Installing findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert [33/49]
==> Fetching file:///mirror/blobs/sha256/ae/aee4ab2b46849d36e4ed1e6aff9db9bb55ab413eff401b37154ec324570a8dd1
    [100%]  771.91 KB @	 919.5 MB/s
==> Extracting libxcrypt-4.4.38-yiij42powrfh2mwjebwiqxmkvinutofr from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.38-yiij42powrfh2mwjebwiqxmkvinutofr
  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-yiij42powrfh2mwjebwiqxmkvinutofr
==> Installing libxcrypt-4.4.38-yiij42powrfh2mwjebwiqxmkvinutofr [34/49]
==> Fetching file:///mirror/blobs/sha256/b4/b4b3cb6b253eaecc83bfa130098ac8f01a70fd0f2a8870451fcd74aaa1e29ecd
    [100%]   68.29 MB @	 491.3 GB/s
==> Extracting openssl-3.6.0-gv7wpik32unrnickoxbgm5iqza572w6s from binary cache
==> openssl: Successfully installed openssl-3.6.0-gv7wpik32unrnickoxbgm5iqza572w6s
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.21s.  Extract: 0.18s.  Relocate: 0.02s.  Total: 0.23s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-gv7wpik32unrnickoxbgm5iqza572w6s
==> Installing openssl-3.6.0-gv7wpik32unrnickoxbgm5iqza572w6s [35/49]
==> Fetching file:///mirror/blobs/sha256/76/769c8eaef6cf77a19fe64faaed4427136ed3e3df9a5c5956450ccff49832d8a0
    [100%]   61.03 MB @	 411.0 GB/s
==> Extracting autoconf-2.72-fgsf5ijzhnbaj2fqngm57aoe6civ72uz from binary cache
==> autoconf: Successfully installed autoconf-2.72-fgsf5ijzhnbaj2fqngm57aoe6civ72uz
  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-fgsf5ijzhnbaj2fqngm57aoe6civ72uz
==> Installing autoconf-2.72-fgsf5ijzhnbaj2fqngm57aoe6civ72uz [36/49]
==> Fetching file:///mirror/blobs/sha256/d3/d3a777a6a63cab468b47c9ff4d197de43448ac2d69b27e9773ff8f07c99f2038
    [100%]  518.48 KB @	 654.0 MB/s
==> Extracting flex-2.6.3-gmhq65uhcnj2elzqkz3o7yg2652tmnqj from binary cache
==> flex: Successfully installed flex-2.6.3-gmhq65uhcnj2elzqkz3o7yg2652tmnqj
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/flex-2.6.3-gmhq65uhcnj2elzqkz3o7yg2652tmnqj
==> Installing flex-2.6.3-gmhq65uhcnj2elzqkz3o7yg2652tmnqj [37/49]
==> Fetching file:///mirror/blobs/sha256/1a/1adc6688eb4e32d0cd8929461927011ff1d1634ea19982efe86954af39575786
    [100%]  807.31 KB @	 871.1 MB/s
==> Extracting libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel from binary cache
==> libtool: Successfully installed libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel
  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-yt7ajy4c3zwh2ks6dawvycaxrydjibel
==> Installing libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel [38/49]
==> Fetching file:///mirror/blobs/sha256/ed/ed019861f13fc782c00c428b0d206fd96d2409d923c32772084fe788117f24d6
    [100%]   63.00 MB @	 371.2 GB/s
==> Extracting libevent-2.1.12-lprginh6npwjirdhmghjqjckaa7ukrri from binary cache
==> libevent: Successfully installed libevent-2.1.12-lprginh6npwjirdhmghjqjckaa7ukrri
  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-lprginh6npwjirdhmghjqjckaa7ukrri
==> Installing libevent-2.1.12-lprginh6npwjirdhmghjqjckaa7ukrri [39/49]
==> Fetching file:///mirror/blobs/sha256/62/62111ab6149e8de545095a260d5ddac19529c6e23696164ca08f2c6c4b960909
    [100%]   61.38 MB @	 441.1 GB/s
==> Extracting curl-8.15.0-isdtvvdziidtozwacfgtdcv3cukd7uuz from binary cache
==> curl: Successfully installed curl-8.15.0-isdtvvdziidtozwacfgtdcv3cukd7uuz
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-isdtvvdziidtozwacfgtdcv3cukd7uuz
==> Installing curl-8.15.0-isdtvvdziidtozwacfgtdcv3cukd7uuz [40/49]
==> Fetching file:///mirror/blobs/sha256/92/9241a95cbd75686a0858b3e9e6340a113fa143a8a6f5ee25e1e9f42a7fc52232
    [100%]   62.03 MB @	 471.1 GB/s
==> Extracting krb5-1.21.3-hnmy4fwwly5s4xifp5roodj6opppwwiu from binary cache
==> krb5: Successfully installed krb5-1.21.3-hnmy4fwwly5s4xifp5roodj6opppwwiu
  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-hnmy4fwwly5s4xifp5roodj6opppwwiu
==> Installing krb5-1.21.3-hnmy4fwwly5s4xifp5roodj6opppwwiu [41/49]
==> Fetching file:///mirror/blobs/sha256/25/251ef730f1ff850ab1b34a1d626fca215106667757afdd592811abd8a35b4cb4
    [100%]  707.26 KB @	 936.7 MB/s
==> Extracting automake-1.16.5-pzmnwzmdyfj2g64cb6fycltaeiz2edau from binary cache
==> automake: Successfully installed automake-1.16.5-pzmnwzmdyfj2g64cb6fycltaeiz2edau
  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-pzmnwzmdyfj2g64cb6fycltaeiz2edau
==> Installing automake-1.16.5-pzmnwzmdyfj2g64cb6fycltaeiz2edau [42/49]
==> Fetching file:///mirror/blobs/sha256/14/14509fcf26e36631b550c2401a1f9adc8246f781120fda7e4201f1548f772804
    [100%]   66.41 MB @	 361.2 GB/s
==> Extracting pmix-6.0.0-yqlblh6p4u6vwmfhtffyrnxyqrliw2jm from binary cache
==> pmix: Successfully installed pmix-6.0.0-yqlblh6p4u6vwmfhtffyrnxyqrliw2jm
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.20s.  Extract: 0.15s.  Relocate: 0.03s.  Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-6.0.0-yqlblh6p4u6vwmfhtffyrnxyqrliw2jm
==> Installing pmix-6.0.0-yqlblh6p4u6vwmfhtffyrnxyqrliw2jm [43/49]
==> Fetching file:///mirror/blobs/sha256/83/8333941640a5fd6568dfe48908b7adc12ba97163affa301281e80e0d9f1a672a
    [100%]   31.66 MB @	 421.4 GB/s
==> Extracting cmake-3.31.9-ivvor7vdsqvplv65yyfragoxppyfi33t from binary cache
==> cmake: Successfully installed cmake-3.31.9-ivvor7vdsqvplv65yyfragoxppyfi33t
  Search: 0.00s.  Fetch: 0.05s.	 Install: 1.20s.  Extract: 1.10s.  Relocate: 0.09s.  Total: 1.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-ivvor7vdsqvplv65yyfragoxppyfi33t
==> Installing cmake-3.31.9-ivvor7vdsqvplv65yyfragoxppyfi33t [44/49]
==> Fetching file:///mirror/blobs/sha256/ae/ae236b7dbea2d551b84907dc52b129e78bde46e2f545bd07e5cd2e5a1817939f
    [100%]   63.06 MB @	 401.1 GB/s
==> Extracting openssh-9.9p1-cxdcxo5pdxc2nk7domxigdqiygg4757e from binary cache
==> openssh: Successfully installed openssh-9.9p1-cxdcxo5pdxc2nk7domxigdqiygg4757e
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.13s.  Extract: 0.07s.  Relocate: 0.04s.  Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-cxdcxo5pdxc2nk7domxigdqiygg4757e
==> Installing openssh-9.9p1-cxdcxo5pdxc2nk7domxigdqiygg4757e [45/49]
==> Fetching file:///mirror/blobs/sha256/08/0871232ee4fc67d77039b6f53912897ff81c6614ea5d45410120e300ed7f8e31
    [100%]  427.92 KB @	 802.7 MB/s
==> Extracting numactl-2.0.18-yzbm5q6nblzcjccy7kddijqdnkgkxvtp from binary cache
==> numactl: Successfully installed numactl-2.0.18-yzbm5q6nblzcjccy7kddijqdnkgkxvtp
  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-yzbm5q6nblzcjccy7kddijqdnkgkxvtp
==> Installing numactl-2.0.18-yzbm5q6nblzcjccy7kddijqdnkgkxvtp [46/49]
==> Fetching file:///mirror/blobs/sha256/07/078f59369bf8079cde7b22e60697307d41294d228794e96e6d0d1b895f434e39
    [100%]   64.89 MB @	 441.3 GB/s
==> Extracting prrte-4.0.0-buin62mintd2cczzj6vsvai45vhpgg6w from binary cache
==> prrte: Successfully installed prrte-4.0.0-buin62mintd2cczzj6vsvai45vhpgg6w
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.15s.  Extract: 0.11s.  Relocate: 0.02s.  Total: 0.17s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/prrte-4.0.0-buin62mintd2cczzj6vsvai45vhpgg6w
==> Installing prrte-4.0.0-buin62mintd2cczzj6vsvai45vhpgg6w [47/49]
==> Fetching file:///mirror/blobs/sha256/7e/7ed1f4a69cac1ee5aba05154bd28e707d1bf7dd66bc69ca73a214dd6c699c3e8
    [100%]   14.50 MB @	 441.4 GB/s
==> Extracting openmpi-5.0.8-tqxbnvoiw3nzds4xypcualamx3cvisln from binary cache
==> openmpi: Successfully installed openmpi-5.0.8-tqxbnvoiw3nzds4xypcualamx3cvisln
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.69s.  Extract: 0.64s.  Relocate: 0.03s.  Total: 0.72s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-tqxbnvoiw3nzds4xypcualamx3cvisln
==> Installing openmpi-5.0.8-tqxbnvoiw3nzds4xypcualamx3cvisln [48/49]
==> Fetching file:///mirror/blobs/sha256/fa/fa0049cf0a1dd88d2c331c771c32730a7f567969d27c1932dddd6adc10e21c5b
    [100%]   65.63 MB @	 411.3 GB/s
==> Extracting hdf5-1.14.6-vllfzb7aaz52qw5k2rkqq64glpglw5gv from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-vllfzb7aaz52qw5k2rkqq64glpglw5gv
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.19s.  Extract: 0.13s.  Relocate: 0.04s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-vllfzb7aaz52qw5k2rkqq64glpglw5gv
==> Installing hdf5-1.14.6-vllfzb7aaz52qw5k2rkqq64glpglw5gv [49/49]

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-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mbedtls-2.28.9-bz3ghzheol2ecbi3vpldgbb3yd7yblle
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libssh2-1.11.1-txa2olxuoxfkv7jdjrdw27djcf6fa5sz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-gv7wpik32unrnickoxbgm5iqza572w6s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-isdtvvdziidtozwacfgtdcv3cukd7uuz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-ivvor7vdsqvplv65yyfragoxppyfi33t
==> Fetching file:///mirror/blobs/sha256/5e/5e7d99c001b1d6e3169849a1f04f86749c9a50c6f9d72bd3f231504b99974d84
    [100%]   65.32 MB @	 361.2 GB/s
==> Extracting hdf5-1.14.6-7mm6knnnjxquabuuhme4sjpe6d6vfawh from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-7mm6knnnjxquabuuhme4sjpe6d6vfawh
  Search: 0.00s.  Fetch: 0.17s.	 Install: 0.19s.  Extract: 0.16s.  Relocate: 0.02s.  Total: 0.37s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-7mm6knnnjxquabuuhme4sjpe6d6vfawh
==> Installing hdf5-1.14.6-7mm6knnnjxquabuuhme4sjpe6d6vfawh [16/16]

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
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ca-certificates-mozilla-2025-08-12-etqlnw5hd6o35feimkxa53omtrjxuf5l
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/1f/1f49703b0c810fdbfdc81f37e47ce182bb088c058ec15a6622f8927f0e1e6605
    [100%]   61.27 MB @	 939.4 MB/s
==> Extracting libfabric-2.3.1-n2l4ckstgt5elcr2mcrhvxmmixyatazg from binary cache
==> libfabric: Successfully installed libfabric-2.3.1-n2l4ckstgt5elcr2mcrhvxmmixyatazg
  Search: 0.00s.  Fetch: 0.17s.	 Install: 0.34s.  Extract: 0.32s.  Relocate: 0.01s.  Total: 0.51s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.3.1-n2l4ckstgt5elcr2mcrhvxmmixyatazg
==> Installing libfabric-2.3.1-n2l4ckstgt5elcr2mcrhvxmmixyatazg [7/44]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-txbwcin227323qmxmg4opnj4r4tvenz4
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
==> Fetching file:///mirror/blobs/sha256/a4/a415291ec0b68c751833d609eddbe3ad9e78e2fd558829cabf6c2980075046be
    [100%]  178.05 KB @	 537.6 MB/s
==> Extracting libmd-1.1.0-gth3ii5boey5akbsen5la4rgqpeaqkmx from binary cache
==> libmd: Successfully installed libmd-1.1.0-gth3ii5boey5akbsen5la4rgqpeaqkmx
  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-gth3ii5boey5akbsen5la4rgqpeaqkmx
==> Installing libmd-1.1.0-gth3ii5boey5akbsen5la4rgqpeaqkmx [17/44]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-zk6keshnphcta4rwsmvvexg5e25uqnbd
==> Fetching file:///mirror/blobs/sha256/db/db254673cf42d6054fc35d8b78a7c8982bb1396c0ae9ee069145fa0b2c995bec
    [100%]   90.69 KB @	 364.7 MB/s
==> Extracting libffi-3.5.2-zgro4twqg3qnq6hx6ohsjlejatth3rxa from binary cache
==> libffi: Successfully installed libffi-3.5.2-zgro4twqg3qnq6hx6ohsjlejatth3rxa
  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/libffi-3.5.2-zgro4twqg3qnq6hx6ohsjlejatth3rxa
==> Installing libffi-3.5.2-zgro4twqg3qnq6hx6ohsjlejatth3rxa [20/44]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
==> Fetching file:///mirror/blobs/sha256/e2/e20e59828c817957d0e552e2dc3c24090b80ef4a58ea8ca61f71c6f11ebc00c5
    [100%]   63.82 MB @	 411.2 GB/s
==> Extracting util-linux-uuid-2.41-n45otd3wy4fv7iawv52hiogfs63hxfpz from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.41-n45otd3wy4fv7iawv52hiogfs63hxfpz
  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-n45otd3wy4fv7iawv52hiogfs63hxfpz
==> Installing util-linux-uuid-2.41-n45otd3wy4fv7iawv52hiogfs63hxfpz [23/44]
==> Fetching file:///mirror/blobs/sha256/19/19f0c67fa4a6fbba8d28a816970d6ae9a6fb809294c33add6da436d1b5c246d3
    [100%]  466.57 KB @	 751.2 MB/s
==> Extracting libbsd-0.12.2-ucrhsywwalxwcqigisozcu2xvvhx3zwx from binary cache
==> libbsd: Successfully installed libbsd-0.12.2-ucrhsywwalxwcqigisozcu2xvvhx3zwx
  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-ucrhsywwalxwcqigisozcu2xvvhx3zwx
==> Installing libbsd-0.12.2-ucrhsywwalxwcqigisozcu2xvvhx3zwx [24/44]
==> Fetching file:///mirror/blobs/sha256/55/55a205ae4e5c626a44a4e4e8ec35b0aeeb9f03851a3abbfd4eafa3acea384cab
    [100%]   62.84 MB @	 421.2 GB/s
==> Extracting libxml2-2.13.5-lguldtjks3wogzgqmuuoen2om3tywxr6 from binary cache
==> libxml2: Successfully installed libxml2-2.13.5-lguldtjks3wogzgqmuuoen2om3tywxr6
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.11s.  Extract: 0.08s.  Relocate: 0.02s.  Total: 0.12s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-lguldtjks3wogzgqmuuoen2om3tywxr6
==> Installing libxml2-2.13.5-lguldtjks3wogzgqmuuoen2om3tywxr6 [25/44]
==> Fetching file:///mirror/blobs/sha256/55/55d366e1ed4d9bff834caf7183afcef1b30dc15273a977e313fbb57ee0e22d79
    [100%]   92.66 KB @	 362.2 MB/s
==> Extracting pigz-2.8-zjrnsfoh55fgq4mulondeam2eqf3pd2f from binary cache
==> pigz: Successfully installed pigz-2.8-zjrnsfoh55fgq4mulondeam2eqf3pd2f
  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-zjrnsfoh55fgq4mulondeam2eqf3pd2f
==> Installing pigz-2.8-zjrnsfoh55fgq4mulondeam2eqf3pd2f [26/44]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo
==> Fetching file:///mirror/blobs/sha256/e5/e5157be2079ccc99173d7fd2213486da7176e82e8bf23ce080a7a02bdb7d47c7
    [100%]  689.50 KB @	 866.6 MB/s
==> Extracting expat-2.7.3-7yr5v6w2xu5f4bohfxjcsnb2snnwwj5m from binary cache
==> expat: Successfully installed expat-2.7.3-7yr5v6w2xu5f4bohfxjcsnb2snnwwj5m
  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.3-7yr5v6w2xu5f4bohfxjcsnb2snnwwj5m
==> Installing expat-2.7.3-7yr5v6w2xu5f4bohfxjcsnb2snnwwj5m [29/44]
==> Fetching file:///mirror/blobs/sha256/3f/3f941a4a6d8c6a544de9b9f9ca2c1edebbd0855a8282414be03b7ee494255ed6
    [100%]   65.22 MB @	 421.3 GB/s
==> Extracting hwloc-2.12.2-pmdeyoykxzmvfiruq4gpn4mifwgck6ml from binary cache
==> hwloc: Successfully installed hwloc-2.12.2-pmdeyoykxzmvfiruq4gpn4mifwgck6ml
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.19s.  Extract: 0.15s.  Relocate: 0.02s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.12.2-pmdeyoykxzmvfiruq4gpn4mifwgck6ml
==> Installing hwloc-2.12.2-pmdeyoykxzmvfiruq4gpn4mifwgck6ml [30/44]
==> Fetching file:///mirror/blobs/sha256/62/62b08538ad6658858a7ca22c6df132b44bde7e26c857c5c0fb110bf017cd41b4
    [100%]   61.29 MB @	 391.1 GB/s
==> Extracting tar-1.35-e3ajmyqkyiuwvvht2psujrfw5loh4our from binary cache
==> tar: Successfully installed tar-1.35-e3ajmyqkyiuwvvht2psujrfw5loh4our
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-e3ajmyqkyiuwvvht2psujrfw5loh4our
==> Installing tar-1.35-e3ajmyqkyiuwvvht2psujrfw5loh4our [31/44]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27
==> Fetching file:///mirror/blobs/sha256/a1/a18f1c335be58a3aeb39c092dfe0c73984c32e2580f486d092dea5b1e407da17
    [100%]   11.28 MB @	 431.3 GB/s
==> Extracting sqlite-3.50.4-a4zeurpolt7jzq5322xemecmfmtlhk7d from binary cache
==> sqlite: Successfully installed sqlite-3.50.4-a4zeurpolt7jzq5322xemecmfmtlhk7d
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.25s.  Extract: 0.21s.  Relocate: 0.02s.  Total: 0.27s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/sqlite-3.50.4-a4zeurpolt7jzq5322xemecmfmtlhk7d
==> Installing sqlite-3.50.4-a4zeurpolt7jzq5322xemecmfmtlhk7d [33/44]
==> Fetching file:///mirror/blobs/sha256/e6/e64dc42db3bb276afc20902f2fcb1fee549d7e1eec9c27568d8b68a9070d4ba5
    [100%]   12.98 MB @	 581.3 GB/s
==> Extracting gettext-0.23.1-xxxc56npfdu7iblnylvrzbetpjm3kr2n from binary cache
==> gettext: Successfully installed gettext-0.23.1-xxxc56npfdu7iblnylvrzbetpjm3kr2n
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.58s.  Extract: 0.53s.  Relocate: 0.04s.  Total: 0.61s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-xxxc56npfdu7iblnylvrzbetpjm3kr2n
==> Installing gettext-0.23.1-xxxc56npfdu7iblnylvrzbetpjm3kr2n [34/44]
==> Fetching file:///mirror/blobs/sha256/13/13e18b86d168af128baf45c9ca8119ad4c2e2d76eb7a0b8047b79514c8e454a2
    [100%]   15.58 MB @	 471.3 GB/s
==> Extracting perl-5.42.0-cvuukniutivcofp25gugkl2g5y7aur4o from binary cache
==> perl: Successfully installed perl-5.42.0-cvuukniutivcofp25gugkl2g5y7aur4o
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.75s.  Extract: 0.63s.  Relocate: 0.10s.  Total: 0.78s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.42.0-cvuukniutivcofp25gugkl2g5y7aur4o
==> Installing perl-5.42.0-cvuukniutivcofp25gugkl2g5y7aur4o [35/44]
==> Fetching file:///mirror/blobs/sha256/cd/cd166b12945d26bbf6a21ea4ca8d15c84ec769064c9364eb562d8fe70c28af37
    [100%]   61.03 MB @	 960.8 MB/s
==> Extracting autoconf-2.72-r3ant5t3prottmtc7yneqj6cr5gs6vvt from binary cache
==> autoconf: Successfully installed autoconf-2.72-r3ant5t3prottmtc7yneqj6cr5gs6vvt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-r3ant5t3prottmtc7yneqj6cr5gs6vvt
==> Installing autoconf-2.72-r3ant5t3prottmtc7yneqj6cr5gs6vvt [36/44]
==> Fetching file:///mirror/blobs/sha256/d1/d16803492b1ade6e17bdf6601fc680467c31aa18850921432a42e4d741dfd406
    [100%]   68.28 MB @	 481.3 GB/s
==> Extracting openssl-3.6.0-oa4vrqqj43a7pvuq7pyjgnnd3tesfmwk from binary cache
==> openssl: Successfully installed openssl-3.6.0-oa4vrqqj43a7pvuq7pyjgnnd3tesfmwk
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.22s.  Extract: 0.18s.  Relocate: 0.02s.  Total: 0.24s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-oa4vrqqj43a7pvuq7pyjgnnd3tesfmwk
==> Installing openssl-3.6.0-oa4vrqqj43a7pvuq7pyjgnnd3tesfmwk [37/44]
==> Fetching file:///mirror/blobs/sha256/72/72fe4c49a0e381512d8c31a5a347af494a64b3d7f4631c6d67773d06bdb3fc81
    [100%]  707.31 KB @	 885.6 MB/s
==> Extracting automake-1.16.5-6ib4pvm3dvnewlphh52mrxjbd75oewev from binary cache
==> automake: Successfully installed automake-1.16.5-6ib4pvm3dvnewlphh52mrxjbd75oewev
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.04s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-6ib4pvm3dvnewlphh52mrxjbd75oewev
==> Installing automake-1.16.5-6ib4pvm3dvnewlphh52mrxjbd75oewev [38/44]
==> Fetching file:///mirror/blobs/sha256/05/05cd00b722dcc2a1b80fc862d101e4f46753f4e50b0993328bdf63946d37bc9e
    [100%]   61.29 MB @	 996.7 MB/s
==> Extracting curl-8.15.0-jtps3jq4asjl72kuklwdbg7cfwkgts5d from binary cache
==> curl: Successfully installed curl-8.15.0-jtps3jq4asjl72kuklwdbg7cfwkgts5d
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-jtps3jq4asjl72kuklwdbg7cfwkgts5d
==> Installing curl-8.15.0-jtps3jq4asjl72kuklwdbg7cfwkgts5d [39/44]
==> Fetching file:///mirror/blobs/sha256/26/268194947254564c7d44943e697d3d29e811524c9ac80506a88d436b9b0a12d6
    [100%]   99.41 MB @	 371.4 GB/s
==> Extracting python-3.14.0-pazbuxsobovm6zqkhuwf3nv3sopvo52q from binary cache
==> python: Successfully installed python-3.14.0-pazbuxsobovm6zqkhuwf3nv3sopvo52q
  Search: 0.00s.  Fetch: 0.15s.	 Install: 3.27s.  Extract: 3.11s.  Relocate: 0.14s.  Total: 3.42s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/python-3.14.0-pazbuxsobovm6zqkhuwf3nv3sopvo52q
==> Installing python-3.14.0-pazbuxsobovm6zqkhuwf3nv3sopvo52q [40/44]
==> Fetching file:///mirror/blobs/sha256/68/689d4351df4932ce11f2828fde890996b3824266c37e139a5d2e2a01b33030fa
    [100%]   31.66 MB @	 441.4 GB/s
==> Extracting cmake-3.31.9-dmmnd4uqwksrryl6pb4sqaxxo5foevft from binary cache
==> cmake: Successfully installed cmake-3.31.9-dmmnd4uqwksrryl6pb4sqaxxo5foevft
  Search: 0.00s.  Fetch: 0.05s.	 Install: 1.21s.  Extract: 1.11s.  Relocate: 0.09s.  Total: 1.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-dmmnd4uqwksrryl6pb4sqaxxo5foevft
==> Installing cmake-3.31.9-dmmnd4uqwksrryl6pb4sqaxxo5foevft [41/44]
==> Fetching file:///mirror/blobs/sha256/a4/a4055ea173b4a025c2dc02fe24b5e4b4c6a16ea2379b6b27ca3e884bd7d7524f
    [100%]   63.01 MB @	 421.1 GB/s
==> Extracting yaksa-0.4-zuutzfx4dbcn7j3tgnyrw6gt4scz2dpt from binary cache
==> yaksa: Successfully installed yaksa-0.4-zuutzfx4dbcn7j3tgnyrw6gt4scz2dpt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.10s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.4-zuutzfx4dbcn7j3tgnyrw6gt4scz2dpt
==> Installing yaksa-0.4-zuutzfx4dbcn7j3tgnyrw6gt4scz2dpt [42/44]
==> Fetching file:///mirror/blobs/sha256/6e/6e89829f4d416b51fc7b5e82548020e058051490a202ee81d89beae6de23ddf1
    [100%]   15.50 MB @	 471.3 GB/s
==> Extracting mpich-4.3.2-amwozyio5q6wv3famb2mkqz3z7l5z5pd from binary cache
==> mpich: Successfully installed mpich-4.3.2-amwozyio5q6wv3famb2mkqz3z7l5z5pd
  Search: 0.00s.  Fetch: 0.03s.	 Install: 0.96s.  Extract: 0.90s.  Relocate: 0.04s.  Total: 0.99s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.2-amwozyio5q6wv3famb2mkqz3z7l5z5pd
==> Installing mpich-4.3.2-amwozyio5q6wv3famb2mkqz3z7l5z5pd [43/44]
==> Fetching file:///mirror/blobs/sha256/fc/fc2f2350962144ebd017a2d5d6a5cc44ef2e2e9847cf9f83ce41e35862e8335c
    [100%]   65.82 MB @	 411.2 GB/s
==> Extracting hdf5-1.14.6-gdk3ghc3gh5rpxoztushxjuvto5prlqd from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-gdk3ghc3gh5rpxoztushxjuvto5prlqd
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.20s.  Extract: 0.14s.  Relocate: 0.04s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-gdk3ghc3gh5rpxoztushxjuvto5prlqd
==> Installing hdf5-1.14.6-gdk3ghc3gh5rpxoztushxjuvto5prlqd [44/44]

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 / no compilers ----------------------
rpw3buk gcc@11.4.0

vjnqll7 glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
amwozyi mpich@4.3.2
ntccuj2	    compiler-wrapper@1.0
irvryts	    findutils@4.10.0
cakgj4n		gettext@0.23.1
x7t4naj		    bzip2@1.0.8
5trxrsw		    libxml2@2.13.5
qlavhjb			zlib-ng@2.0.7  cflags=-O3
lfgvgva		    tar@1.35
kaz756e			pigz@2.8
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
pmdeyoy	    hwloc@2.12.2
ncdxq3j		ncurses@6.5-20250705
n2l4cks	    libfabric@2.3.1
txbwcin	    libpciaccess@0.17
hwxnwvm		util-macros@1.20.1
lguldtj	    libxml2@2.13.5
qtepnkr		libiconv@1.18
yzaocbs		xz@5.6.3
zk6kesh		zlib-ng@2.2.4
f4qiprw	    pkgconf@2.5.1
zuutzfx	    yaksa@0.4
r3ant5t		autoconf@2.72
cvuukni		    perl@5.42.0
vdgigsw			berkeley-db@18.1.40
6ib4pvm		automake@1.16.5
yt7ajy4		libtool@2.4.7
lxvpwti		m4@1.4.20
cih4xrz		    diffutils@3.12
bs5ujst		    libsigsegv@2.14
pazbuxs		python@3.14.0
7yr5v6w		    expat@2.7.3
ucrhsyw			libbsd@0.12.2
gth3ii5			    libmd@1.1.0
aq7qwy6		    gdbm@1.25
xxxc56n		    gettext@0.23.1
e3ajmyq			tar@1.35
zjrnsfo			    pigz@2.8
zgro4tw		    libffi@3.5.2
oa4vrqq		    openssl@3.6.0
etqlnw5			ca-certificates-mozilla@2025-08-12
c6d2zlj		    readline@8.3
a4zeurp		    sqlite@3.50.4
n45otd3		    util-linux-uuid@2.41
foiizhd		    zstd@1.5.7

tqxbnvo openmpi@5.0.8
fgsf5ij	    autoconf@2.72
lxvpwti		m4@1.4.20
cih4xrz		    diffutils@3.12
bs5ujst		    libsigsegv@2.14
pzmnwzm	    automake@1.16.5
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
4hos372	    hwloc@2.12.2
txbwcin		libpciaccess@0.17
hwxnwvm		    util-macros@1.20.1
5trxrsw		libxml2@2.13.5
qtepnkr		    libiconv@1.18
yzaocbs		    xz@5.6.3
ncdxq3j		ncurses@6.5-20250705
lprginh	    libevent@2.1.12
gv7wpik		openssl@3.6.0
etqlnw5		    ca-certificates-mozilla@2025-08-12
yt7ajy4	    libtool@2.4.7
irvryts		findutils@4.10.0
cakgj4n		    gettext@0.23.1
lfgvgva			tar@1.35
kaz756e			    pigz@2.8
foiizhd			    zstd@1.5.7
yzbm5q6	    numactl@2.0.18
cxdcxo5	    openssh@9.9p1
hnmy4fw		krb5@1.21.3
n7yzkyl		    bison@3.8.2
hdzcfgi		libedit@3.1-20240808
yiij42p		libxcrypt@4.4.38
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
f4qiprw	    pkgconf@2.5.1
yqlblh6	    pmix@6.0.0
buin62m	    prrte@4.0.0
gmhq65u		flex@2.6.3
qlavhjb	    zlib-ng@2.0.7  cflags=-O3


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
ibbzvxt tcl@8.6.17
ntccuj2	    compiler-wrapper@1.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qr2e4rd	    llvm@14.0.0
um7p6tr	    zlib-ng@2.0.7

um7p6tr zlib-ng@2.0.7
ntccuj2	    compiler-wrapper@1.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qr2e4rd	    llvm@14.0.0

ct2r7xm zlib-ng@2.2.4
ntccuj2	    compiler-wrapper@1.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qr2e4rd	    llvm@14.0.0


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
updxeye zlib-ng@2.2.4
ntccuj2	    compiler-wrapper@1.0
ntkvysy	    gcc@10.5.0
ahapkrs	    gcc-runtime@10.5.0
qg7qyaz	    glibc@2.35
ufbescp	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
vdgigsw berkeley-db@18.1.40
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

n7yzkyl bison@3.8.2
ntccuj2	    compiler-wrapper@1.0
cih4xrz	    diffutils@3.12
qtepnkr		libiconv@1.18
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
lxvpwti	    m4@1.4.20
bs5ujst		libsigsegv@2.14

dmmnd4u cmake@3.31.9
ntccuj2	    compiler-wrapper@1.0
jtps3jq	    curl@8.15.0
ft5kpbd		nghttp2@1.48.0
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
oa4vrqq		openssl@3.6.0
etqlnw5		    ca-certificates-mozilla@2025-08-12
cvuukni		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
x7t4naj		    bzip2@1.0.8
aq7qwy6		    gdbm@1.25
c6d2zlj			readline@8.3
f4qiprw		pkgconf@2.5.1
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ncdxq3j	    ncurses@6.5-20250705
zk6kesh	    zlib-ng@2.2.4

ivvor7v cmake@3.31.9
ntccuj2	    compiler-wrapper@1.0
isdtvvd	    curl@8.15.0
txa2olx		libssh2@1.11.1
yzaocbs		    xz@5.6.3
bz3ghzh		mbedtls@2.28.9
ft5kpbd		nghttp2@1.48.0
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
gv7wpik		openssl@3.6.0
etqlnw5		    ca-certificates-mozilla@2025-08-12
62kt5y4		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
x7t4naj		    bzip2@1.0.8
aq7qwy6		    gdbm@1.25
c6d2zlj			readline@8.3
f4qiprw		pkgconf@2.5.1
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ncdxq3j	    ncurses@6.5-20250705
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

jtps3jq curl@8.15.0
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ft5kpbd	    nghttp2@1.48.0
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
oa4vrqq	    openssl@3.6.0
etqlnw5		ca-certificates-mozilla@2025-08-12
cvuukni	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw	    pkgconf@2.5.1
zk6kesh	    zlib-ng@2.2.4

isdtvvd curl@8.15.0
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
txa2olx	    libssh2@1.11.1
yzaocbs		xz@5.6.3
bz3ghzh	    mbedtls@2.28.9
ft5kpbd	    nghttp2@1.48.0
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
gv7wpik	    openssl@3.6.0
etqlnw5		ca-certificates-mozilla@2025-08-12
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw	    pkgconf@2.5.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

7yr5v6w expat@2.7.3
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ucrhsyw	    libbsd@0.12.2
gth3ii5		libmd@1.1.0

gmhq65u flex@2.6.3
n7yzkyl	    bison@3.8.2
ntccuj2	    compiler-wrapper@1.0
cih4xrz	    diffutils@3.12
qtepnkr		libiconv@1.18
irvryts	    findutils@4.10.0
cakgj4n		gettext@0.23.1
x7t4naj		    bzip2@1.0.8
5trxrsw		    libxml2@2.13.5
f4qiprw			pkgconf@2.5.1
qlavhjb			zlib-ng@2.0.7  cflags=-O3
ncdxq3j		    ncurses@6.5-20250705
lfgvgva		    tar@1.35
kaz756e			pigz@2.8
foiizhd			zstd@1.5.7
yzaocbs		    xz@5.6.3
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
lxvpwti	    m4@1.4.20
bs5ujst		libsigsegv@2.14

cakgj4n gettext@0.23.1
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18
5trxrsw	    libxml2@2.13.5
f4qiprw		pkgconf@2.5.1
qlavhjb		zlib-ng@2.0.7  cflags=-O3
ncdxq3j	    ncurses@6.5-20250705
lfgvgva	    tar@1.35
kaz756e		pigz@2.8
foiizhd		zstd@1.5.7
yzaocbs	    xz@5.6.3

xxxc56n gettext@0.23.1
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18
lguldtj	    libxml2@2.13.5
f4qiprw		pkgconf@2.5.1
zk6kesh		zlib-ng@2.2.4
ncdxq3j	    ncurses@6.5-20250705
e3ajmyq	    tar@1.35
zjrnsfo		pigz@2.8
foiizhd		zstd@1.5.7
yzaocbs	    xz@5.6.3

4hos372 hwloc@2.12.2
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
txbwcin	    libpciaccess@0.17
hwxnwvm		util-macros@1.20.1
5trxrsw	    libxml2@2.13.5
qtepnkr		libiconv@1.18
yzaocbs		xz@5.6.3
qlavhjb		zlib-ng@2.0.7  cflags=-O3
ncdxq3j	    ncurses@6.5-20250705
f4qiprw	    pkgconf@2.5.1

pmdeyoy hwloc@2.12.2
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
txbwcin	    libpciaccess@0.17
hwxnwvm		util-macros@1.20.1
lguldtj	    libxml2@2.13.5
qtepnkr		libiconv@1.18
yzaocbs		xz@5.6.3
zk6kesh		zlib-ng@2.2.4
ncdxq3j	    ncurses@6.5-20250705
f4qiprw	    pkgconf@2.5.1

hnmy4fw krb5@1.21.3
n7yzkyl	    bison@3.8.2
lxvpwti		m4@1.4.20
bs5ujst		    libsigsegv@2.14
ntccuj2	    compiler-wrapper@1.0
cih4xrz	    diffutils@3.12
qtepnkr		libiconv@1.18
irvryts	    findutils@4.10.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
cakgj4n	    gettext@0.23.1
x7t4naj		bzip2@1.0.8
5trxrsw		libxml2@2.13.5
ncdxq3j		ncurses@6.5-20250705
lfgvgva		tar@1.35
kaz756e		    pigz@2.8
foiizhd		    zstd@1.5.7
yzaocbs		xz@5.6.3
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
hdzcfgi	    libedit@3.1-20240808
gv7wpik	    openssl@3.6.0
etqlnw5		ca-certificates-mozilla@2025-08-12
qlavhjb		zlib-ng@2.0.7  cflags=-O3
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
f4qiprw	    pkgconf@2.5.1

zgro4tw libffi@3.5.2
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

lxvpwti m4@1.4.20
ntccuj2	    compiler-wrapper@1.0
cih4xrz	    diffutils@3.12
qtepnkr		libiconv@1.18
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
bs5ujst	    libsigsegv@2.14

ncdxq3j ncurses@6.5-20250705
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
f4qiprw	    pkgconf@2.5.1

ft5kpbd nghttp2@1.48.0
ntccuj2	    compiler-wrapper@1.0
cih4xrz	    diffutils@3.12
qtepnkr		libiconv@1.18
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
f4qiprw	    pkgconf@2.5.1

cxdcxo5 openssh@9.9p1
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
hnmy4fw	    krb5@1.21.3
n7yzkyl		bison@3.8.2
lxvpwti		    m4@1.4.20
bs5ujst			libsigsegv@2.14
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
irvryts		findutils@4.10.0
cakgj4n		gettext@0.23.1
x7t4naj		    bzip2@1.0.8
5trxrsw		    libxml2@2.13.5
lfgvgva		    tar@1.35
kaz756e			pigz@2.8
foiizhd			zstd@1.5.7
yzaocbs		    xz@5.6.3
62kt5y4		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
aq7qwy6		    gdbm@1.25
c6d2zlj			readline@8.3
f4qiprw		pkgconf@2.5.1
hdzcfgi	    libedit@3.1-20240808
yiij42p	    libxcrypt@4.4.38
ncdxq3j	    ncurses@6.5-20250705
gv7wpik	    openssl@3.6.0
etqlnw5		ca-certificates-mozilla@2025-08-12
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

gv7wpik openssl@3.6.0
etqlnw5	    ca-certificates-mozilla@2025-08-12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

oa4vrqq openssl@3.6.0
etqlnw5	    ca-certificates-mozilla@2025-08-12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
cvuukni	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
zk6kesh	    zlib-ng@2.2.4

pazbuxs python@3.14.0
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
ntccuj2	    compiler-wrapper@1.0
7yr5v6w	    expat@2.7.3
ucrhsyw		libbsd@0.12.2
gth3ii5		    libmd@1.1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
aq7qwy6	    gdbm@1.25
xxxc56n	    gettext@0.23.1
qtepnkr		libiconv@1.18
lguldtj		libxml2@2.13.5
e3ajmyq		tar@1.35
zjrnsfo		    pigz@2.8
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
zgro4tw	    libffi@3.5.2
ncdxq3j	    ncurses@6.5-20250705
oa4vrqq	    openssl@3.6.0
etqlnw5		ca-certificates-mozilla@2025-08-12
cvuukni		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
f4qiprw	    pkgconf@2.5.1
c6d2zlj	    readline@8.3
a4zeurp	    sqlite@3.50.4
n45otd3	    util-linux-uuid@2.41
yzaocbs	    xz@5.6.3
zk6kesh	    zlib-ng@2.2.4
foiizhd	    zstd@1.5.7

x74vmgr tcl@8.6.17
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

tsq4fjj tcl@8.6.17
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
zk6kesh	    zlib-ng@2.2.4

qlavhjb zlib-ng@2.0.7  cflags=-O3
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

zk6kesh zlib-ng@2.2.4
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

foiizhd zstd@1.5.7
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
ufbescp gmake@4.4.1
ntccuj2	    compiler-wrapper@1.0
ntkvysy	    gcc@10.5.0
ahapkrs	    gcc-runtime@10.5.0
qg7qyaz	    glibc@2.35


-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
pzmnwzm automake@1.16.5
fgsf5ij	    autoconf@2.72
lxvpwti		m4@1.4.20
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
bs5ujst		    libsigsegv@2.14
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
qlavhjb		zlib-ng@2.0.7  cflags=-O3

6ib4pvm automake@1.16.5
r3ant5t	    autoconf@2.72
lxvpwti		m4@1.4.20
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
bs5ujst		    libsigsegv@2.14
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
cvuukni	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
zk6kesh		zlib-ng@2.2.4

x7t4naj bzip2@1.0.8
ntccuj2	    compiler-wrapper@1.0
cih4xrz	    diffutils@3.12
qtepnkr		libiconv@1.18
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

cih4xrz diffutils@3.12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18

irvryts findutils@4.10.0
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
cakgj4n	    gettext@0.23.1
x7t4naj		bzip2@1.0.8
cih4xrz		    diffutils@3.12
qtepnkr		libiconv@1.18
5trxrsw		libxml2@2.13.5
f4qiprw		    pkgconf@2.5.1
qlavhjb		    zlib-ng@2.0.7  cflags=-O3
ncdxq3j		ncurses@6.5-20250705
lfgvgva		tar@1.35
kaz756e		    pigz@2.8
foiizhd		    zstd@1.5.7
yzaocbs		xz@5.6.3
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

aq7qwy6 gdbm@1.25
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
c6d2zlj	    readline@8.3
ncdxq3j		ncurses@6.5-20250705
f4qiprw		    pkgconf@2.5.1

vsq3oi3 gmake@4.4.1
ntccuj2	    compiler-wrapper@1.0
rpw3buk	    gcc@11.4.0
qmbrryi	    gcc-runtime@11.4.0
vjnqll7	    glibc@2.35

4obn7cg gmake@4.4.1
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35

7mm6knn hdf5@1.14.6
ivvor7v	    cmake@3.31.9
isdtvvd		curl@8.15.0
txa2olx		    libssh2@1.11.1
yzaocbs			xz@5.6.3
bz3ghzh		    mbedtls@2.28.9
ft5kpbd		    nghttp2@1.48.0
cih4xrz			diffutils@3.12
qtepnkr			    libiconv@1.18
gv7wpik		    openssl@3.6.0
etqlnw5			ca-certificates-mozilla@2025-08-12
62kt5y4		    perl@5.42.0
vdgigsw			berkeley-db@18.1.40
x7t4naj			bzip2@1.0.8
aq7qwy6			gdbm@1.25
c6d2zlj			    readline@8.3
ncdxq3j		ncurses@6.5-20250705
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
f4qiprw	    pkgconf@2.5.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

vllfzb7 hdf5@1.14.6
ivvor7v	    cmake@3.31.9
isdtvvd		curl@8.15.0
txa2olx		    libssh2@1.11.1
yzaocbs			xz@5.6.3
bz3ghzh		    mbedtls@2.28.9
ft5kpbd		    nghttp2@1.48.0
cih4xrz			diffutils@3.12
gv7wpik		    openssl@3.6.0
etqlnw5			ca-certificates-mozilla@2025-08-12
ncdxq3j		ncurses@6.5-20250705
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
tqxbnvo	    openmpi@5.0.8
fgsf5ij		autoconf@2.72
lxvpwti		    m4@1.4.20
bs5ujst			libsigsegv@2.14
pzmnwzm		automake@1.16.5
4hos372		hwloc@2.12.2
txbwcin		    libpciaccess@0.17
hwxnwvm			util-macros@1.20.1
5trxrsw		    libxml2@2.13.5
qtepnkr			libiconv@1.18
lprginh		libevent@2.1.12
yt7ajy4		libtool@2.4.7
irvryts		    findutils@4.10.0
cakgj4n			gettext@0.23.1
lfgvgva			    tar@1.35
kaz756e				pigz@2.8
foiizhd				zstd@1.5.7
yzbm5q6		numactl@2.0.18
cxdcxo5		openssh@9.9p1
hnmy4fw		    krb5@1.21.3
n7yzkyl			bison@3.8.2
hdzcfgi		    libedit@3.1-20240808
yiij42p		    libxcrypt@4.4.38
62kt5y4		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
x7t4naj		    bzip2@1.0.8
aq7qwy6		    gdbm@1.25
c6d2zlj			readline@8.3
yqlblh6		pmix@6.0.0
buin62m		prrte@4.0.0
gmhq65u		    flex@2.6.3
f4qiprw	    pkgconf@2.5.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

gdk3ghc hdf5@1.14.6
dmmnd4u	    cmake@3.31.9
jtps3jq		curl@8.15.0
ft5kpbd		    nghttp2@1.48.0
cih4xrz			diffutils@3.12
oa4vrqq		    openssl@3.6.0
etqlnw5			ca-certificates-mozilla@2025-08-12
cvuukni		    perl@5.42.0
vdgigsw			berkeley-db@18.1.40
x7t4naj			bzip2@1.0.8
aq7qwy6			gdbm@1.25
ncdxq3j		ncurses@6.5-20250705
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
amwozyi	    mpich@4.3.2
irvryts		findutils@4.10.0
cakgj4n		    gettext@0.23.1
5trxrsw			libxml2@2.13.5
qlavhjb			    zlib-ng@2.0.7  cflags=-O3
lfgvgva			tar@1.35
kaz756e			    pigz@2.8
pmdeyoy		hwloc@2.12.2
n2l4cks		libfabric@2.3.1
txbwcin		libpciaccess@0.17
hwxnwvm		    util-macros@1.20.1
lguldtj		libxml2@2.13.5
qtepnkr		    libiconv@1.18
yzaocbs		    xz@5.6.3
zuutzfx		yaksa@0.4
r3ant5t		    autoconf@2.72
6ib4pvm		    automake@1.16.5
yt7ajy4		    libtool@2.4.7
lxvpwti		    m4@1.4.20
bs5ujst			libsigsegv@2.14
pazbuxs		    python@3.14.0
7yr5v6w			expat@2.7.3
ucrhsyw			    libbsd@0.12.2
gth3ii5				libmd@1.1.0
xxxc56n			gettext@0.23.1
e3ajmyq			    tar@1.35
zjrnsfo				pigz@2.8
zgro4tw			libffi@3.5.2
c6d2zlj			readline@8.3
a4zeurp			sqlite@3.50.4
n45otd3			util-linux-uuid@2.41
foiizhd			zstd@1.5.7
f4qiprw	    pkgconf@2.5.1
zk6kesh	    zlib-ng@2.2.4

ucrhsyw libbsd@0.12.2
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
gth3ii5	    libmd@1.1.0

hdzcfgi libedit@3.1-20240808
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ncdxq3j	    ncurses@6.5-20250705
f4qiprw	    pkgconf@2.5.1

lprginh libevent@2.1.12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
gv7wpik	    openssl@3.6.0
etqlnw5		ca-certificates-mozilla@2025-08-12
62kt5y4		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
x7t4naj		    bzip2@1.0.8
cih4xrz			diffutils@3.12
qtepnkr			    libiconv@1.18
aq7qwy6		    gdbm@1.25
c6d2zlj			readline@8.3
ncdxq3j			    ncurses@6.5-20250705
f4qiprw				pkgconf@2.5.1
qlavhjb		zlib-ng@2.0.7  cflags=-O3

n2l4cks libfabric@2.3.1
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

qtepnkr libiconv@1.18
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

gth3ii5 libmd@1.1.0
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

txbwcin libpciaccess@0.17
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
f4qiprw	    pkgconf@2.5.1
hwxnwvm	    util-macros@1.20.1

bs5ujst libsigsegv@2.14
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

txa2olx libssh2@1.11.1
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
bz3ghzh	    mbedtls@2.28.9
yzaocbs	    xz@5.6.3
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

yt7ajy4 libtool@2.4.7
ntccuj2	    compiler-wrapper@1.0
irvryts	    findutils@4.10.0
cakgj4n		gettext@0.23.1
x7t4naj		    bzip2@1.0.8
qtepnkr		    libiconv@1.18
5trxrsw		    libxml2@2.13.5
f4qiprw			pkgconf@2.5.1
qlavhjb			zlib-ng@2.0.7  cflags=-O3
ncdxq3j		    ncurses@6.5-20250705
lfgvgva		    tar@1.35
kaz756e			pigz@2.8
foiizhd			zstd@1.5.7
yzaocbs		    xz@5.6.3
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
lxvpwti	    m4@1.4.20
cih4xrz		diffutils@3.12
bs5ujst		libsigsegv@2.14

yiij42p libxcrypt@4.4.38
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
cih4xrz		    diffutils@3.12
qtepnkr			libiconv@1.18
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
qlavhjb		zlib-ng@2.0.7  cflags=-O3

5trxrsw libxml2@2.13.5
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18
f4qiprw	    pkgconf@2.5.1
yzaocbs	    xz@5.6.3
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

lguldtj libxml2@2.13.5
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18
f4qiprw	    pkgconf@2.5.1
yzaocbs	    xz@5.6.3
zk6kesh	    zlib-ng@2.2.4

bz3ghzh mbedtls@2.28.9
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

yzbm5q6 numactl@2.0.18
fgsf5ij	    autoconf@2.72
62kt5y4		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
x7t4naj		    bzip2@1.0.8
aq7qwy6		    gdbm@1.25
c6d2zlj			readline@8.3
qlavhjb		    zlib-ng@2.0.7  cflags=-O3
pzmnwzm	    automake@1.16.5
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
yt7ajy4	    libtool@2.4.7
irvryts		findutils@4.10.0
cakgj4n		    gettext@0.23.1
5trxrsw			libxml2@2.13.5
f4qiprw			    pkgconf@2.5.1
ncdxq3j			ncurses@6.5-20250705
lfgvgva			tar@1.35
kaz756e			    pigz@2.8
foiizhd			    zstd@1.5.7
yzaocbs			xz@5.6.3
lxvpwti	    m4@1.4.20
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
bs5ujst		libsigsegv@2.14

62kt5y4 perl@5.42.0
vdgigsw	    berkeley-db@18.1.40
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
aq7qwy6	    gdbm@1.25
c6d2zlj		readline@8.3
ncdxq3j		    ncurses@6.5-20250705
f4qiprw			pkgconf@2.5.1
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

cvuukni perl@5.42.0
vdgigsw	    berkeley-db@18.1.40
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
aq7qwy6	    gdbm@1.25
c6d2zlj		readline@8.3
ncdxq3j		    ncurses@6.5-20250705
f4qiprw			pkgconf@2.5.1
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
zk6kesh	    zlib-ng@2.2.4

kaz756e pigz@2.8
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

zjrnsfo pigz@2.8
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
zk6kesh	    zlib-ng@2.2.4

f4qiprw pkgconf@2.5.1
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

yqlblh6 pmix@6.0.0
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
4hos372	    hwloc@2.12.2
txbwcin		libpciaccess@0.17
hwxnwvm		    util-macros@1.20.1
5trxrsw		libxml2@2.13.5
qtepnkr		    libiconv@1.18
yzaocbs		    xz@5.6.3
ncdxq3j		ncurses@6.5-20250705
lprginh	    libevent@2.1.12
gv7wpik		openssl@3.6.0
etqlnw5		    ca-certificates-mozilla@2025-08-12
62kt5y4		    perl@5.42.0
vdgigsw			berkeley-db@18.1.40
x7t4naj			bzip2@1.0.8
aq7qwy6			gdbm@1.25
c6d2zlj			    readline@8.3
yt7ajy4	    libtool@2.4.7
irvryts		findutils@4.10.0
cakgj4n		    gettext@0.23.1
lfgvgva			tar@1.35
kaz756e			    pigz@2.8
foiizhd			    zstd@1.5.7
lxvpwti		m4@1.4.20
cih4xrz		    diffutils@3.12
bs5ujst		    libsigsegv@2.14
f4qiprw	    pkgconf@2.5.1
qlavhjb	    zlib-ng@2.0.7  cflags=-O3

buin62m prrte@4.0.0
fgsf5ij	    autoconf@2.72
pzmnwzm	    automake@1.16.5
ntccuj2	    compiler-wrapper@1.0
gmhq65u	    flex@2.6.3
n7yzkyl		bison@3.8.2
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
irvryts		findutils@4.10.0
cakgj4n		    gettext@0.23.1
lfgvgva			tar@1.35
kaz756e			    pigz@2.8
foiizhd			    zstd@1.5.7
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
4hos372	    hwloc@2.12.2
txbwcin		libpciaccess@0.17
hwxnwvm		    util-macros@1.20.1
5trxrsw		libxml2@2.13.5
yzaocbs		    xz@5.6.3
ncdxq3j		ncurses@6.5-20250705
lprginh	    libevent@2.1.12
gv7wpik		openssl@3.6.0
etqlnw5		    ca-certificates-mozilla@2025-08-12
yt7ajy4	    libtool@2.4.7
lxvpwti	    m4@1.4.20
bs5ujst		libsigsegv@2.14
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
qlavhjb		zlib-ng@2.0.7  cflags=-O3
f4qiprw	    pkgconf@2.5.1
yqlblh6	    pmix@6.0.0

c6d2zlj readline@8.3
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
ncdxq3j	    ncurses@6.5-20250705
f4qiprw		pkgconf@2.5.1

a4zeurp sqlite@3.50.4
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
c6d2zlj	    readline@8.3
ncdxq3j		ncurses@6.5-20250705
f4qiprw		    pkgconf@2.5.1
zk6kesh	    zlib-ng@2.2.4

lfgvgva tar@1.35
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18
kaz756e	    pigz@2.8
qlavhjb		zlib-ng@2.0.7  cflags=-O3
yzaocbs	    xz@5.6.3
foiizhd	    zstd@1.5.7

e3ajmyq tar@1.35
x7t4naj	    bzip2@1.0.8
cih4xrz		diffutils@3.12
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
qtepnkr	    libiconv@1.18
zjrnsfo	    pigz@2.8
zk6kesh		zlib-ng@2.2.4
yzaocbs	    xz@5.6.3
foiizhd	    zstd@1.5.7

n45otd3 util-linux-uuid@2.41
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
f4qiprw	    pkgconf@2.5.1

yzaocbs xz@5.6.3
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1

zuutzfx yaksa@0.4
r3ant5t	    autoconf@2.72
cvuukni		perl@5.42.0
vdgigsw		    berkeley-db@18.1.40
6ib4pvm	    automake@1.16.5
ntccuj2	    compiler-wrapper@1.0
ml7cem5	    gcc@11.4.0
nokfxva	    gcc-runtime@11.4.0
qg7qyaz	    glibc@2.35
4obn7cg	    gmake@4.4.1
yt7ajy4	    libtool@2.4.7
irvryts		findutils@4.10.0
cakgj4n		    gettext@0.23.1
5trxrsw			libxml2@2.13.5
qlavhjb			    zlib-ng@2.0.7  cflags=-O3
lfgvgva			tar@1.35
kaz756e			    pigz@2.8
lxvpwti	    m4@1.4.20
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
bs5ujst		libsigsegv@2.14
pazbuxs	    python@3.14.0
x7t4naj		bzip2@1.0.8
7yr5v6w		expat@2.7.3
ucrhsyw		    libbsd@0.12.2
gth3ii5			libmd@1.1.0
aq7qwy6		gdbm@1.25
xxxc56n		gettext@0.23.1
lguldtj		    libxml2@2.13.5
e3ajmyq		    tar@1.35
zjrnsfo			pigz@2.8
zgro4tw		libffi@3.5.2
ncdxq3j		ncurses@6.5-20250705
oa4vrqq		openssl@3.6.0
etqlnw5		    ca-certificates-mozilla@2025-08-12
f4qiprw		pkgconf@2.5.1
c6d2zlj		readline@8.3
a4zeurp		sqlite@3.50.4
n45otd3		util-linux-uuid@2.41
yzaocbs		xz@5.6.3
zk6kesh		zlib-ng@2.2.4
foiizhd		zstd@1.5.7


-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
fgsf5ij autoconf@2.72
4obn7cg	    gmake@4.4.1
ntccuj2		compiler-wrapper@1.0
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qg7qyaz		glibc@2.35
lxvpwti	    m4@1.4.20
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
bs5ujst		libsigsegv@2.14
62kt5y4	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
qlavhjb		zlib-ng@2.0.7  cflags=-O3

r3ant5t autoconf@2.72
4obn7cg	    gmake@4.4.1
ntccuj2		compiler-wrapper@1.0
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qg7qyaz		glibc@2.35
lxvpwti	    m4@1.4.20
cih4xrz		diffutils@3.12
qtepnkr		    libiconv@1.18
bs5ujst		libsigsegv@2.14
cvuukni	    perl@5.42.0
vdgigsw		berkeley-db@18.1.40
x7t4naj		bzip2@1.0.8
aq7qwy6		gdbm@1.25
c6d2zlj		    readline@8.3
ncdxq3j			ncurses@6.5-20250705
f4qiprw			    pkgconf@2.5.1
zk6kesh		zlib-ng@2.2.4

etqlnw5 ca-certificates-mozilla@2025-08-12

ntccuj2 compiler-wrapper@1.0

ntkvysy gcc@10.5.0

ml7cem5 gcc@11.4.0

ahapkrs gcc-runtime@10.5.0
ntkvysy	    gcc@10.5.0
qg7qyaz	    glibc@2.35

qmbrryi gcc-runtime@11.4.0
rpw3buk	    gcc@11.4.0
vjnqll7	    glibc@2.35

nokfxva gcc-runtime@11.4.0
ml7cem5	    gcc@11.4.0
qg7qyaz	    glibc@2.35

qg7qyaz glibc@2.35

qr2e4rd llvm@14.0.0

hwxnwvm util-macros@1.20.1
4obn7cg	    gmake@4.4.1
ntccuj2		compiler-wrapper@1.0
ml7cem5		gcc@11.4.0
nokfxva		gcc-runtime@11.4.0
qg7qyaz		glibc@2.35

==> 87 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-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-yiij42powrfh2mwjebwiqxmkvinutofr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-yzbm5q6nblzcjccy7kddijqdnkgkxvtp
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-txbwcin227323qmxmg4opnj4r4tvenz4
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mbedtls-2.28.9-bz3ghzheol2ecbi3vpldgbb3yd7yblle
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-kaz756eya6nj3ardls4b6aiaclkaux7i
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-hdzcfgipukcqxsw7hjkksstbbz5otx3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq
==> Fetching file:///mirror/blobs/sha256/d9/d966a88895b095541c290ecfce5555fdfdb74d87d83bef2e08f25cec5c7cbd2f
    [100%]   23.97 MB @	 451.2 GB/s
==> Extracting openblas-0.3.30-qz3ay7bveep7fy2v7vcln2zxc5ajfjxt from binary cache
==> openblas: Successfully installed openblas-0.3.30-qz3ay7bveep7fy2v7vcln2zxc5ajfjxt
  Search: 0.00s.  Fetch: 0.20s.	 Install: 0.64s.  Extract: 0.58s.  Relocate: 0.04s.  Total: 0.84s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.30-qz3ay7bveep7fy2v7vcln2zxc5ajfjxt
==> Installing openblas-0.3.30-qz3ay7bveep7fy2v7vcln2zxc5ajfjxt [18/36]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-gv7wpik32unrnickoxbgm5iqza572w6s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libssh2-1.11.1-txa2olxuoxfkv7jdjrdw27djcf6fa5sz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-lprginh6npwjirdhmghjqjckaa7ukrri
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.12.2-4hos3725nynk2bsskofvtcmk6pmtcjg4
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-isdtvvdziidtozwacfgtdcv3cukd7uuz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-6.0.0-yqlblh6p4u6vwmfhtffyrnxyqrliw2jm
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-ivvor7vdsqvplv65yyfragoxppyfi33t
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-hnmy4fwwly5s4xifp5roodj6opppwwiu
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/prrte-4.0.0-buin62mintd2cczzj6vsvai45vhpgg6w
==> Fetching file:///mirror/blobs/sha256/51/516c893799325a240194084e2c9ca9e5c4bfd9c246f9262c3f6169f8531e8ca6
    [100%]   61.03 MB @	 877.2 MB/s
==> Extracting kokkos-4.5.01-k2pkvic65lggk6lukma2humh6t2axbo6 from binary cache
==> kokkos: Successfully installed kokkos-4.5.01-k2pkvic65lggk6lukma2humh6t2axbo6
  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-k2pkvic65lggk6lukma2humh6t2axbo6
==> Installing kokkos-4.5.01-k2pkvic65lggk6lukma2humh6t2axbo6 [32/36]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-cxdcxo5pdxc2nk7domxigdqiygg4757e
==> Fetching file:///mirror/blobs/sha256/4e/4e747077084932d0b9e2f79313978109211fedfe1f695d5d4e5ad6681ec10278
    [100%]   61.16 MB @	 401.0 GB/s
==> Extracting kokkos-kernels-4.5.01-qknxuyj5vbyheego7mbhhwqrooi7kght from binary cache
==> kokkos-kernels: Successfully installed kokkos-kernels-4.5.01-qknxuyj5vbyheego7mbhhwqrooi7kght
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.19s.  Extract: 0.16s.  Relocate: 0.01s.  Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-kernels-4.5.01-qknxuyj5vbyheego7mbhhwqrooi7kght
==> Installing kokkos-kernels-4.5.01-qknxuyj5vbyheego7mbhhwqrooi7kght [34/36]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-tqxbnvoiw3nzds4xypcualamx3cvisln
==> Fetching file:///mirror/blobs/sha256/e8/e8e9738ee974efbf1676f64752e74a7548f6d7a2ef89385f32170c76234007e2
    [100%]   38.92 MB @	 441.4 GB/s
==> Extracting trilinos-16.1.0-tj433utqwna4zgloncl5jwlabsqgghcv from binary cache
==> trilinos: Successfully installed trilinos-16.1.0-tj433utqwna4zgloncl5jwlabsqgghcv
  Search: 0.00s.  Fetch: 0.06s.	 Install: 1.53s.  Extract: 1.35s.  Relocate: 0.14s.  Total: 1.59s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-tj433utqwna4zgloncl5jwlabsqgghcv
==> Installing trilinos-16.1.0-tj433utqwna4zgloncl5jwlabsqgghcv [36/36]

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-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.4-zuutzfx4dbcn7j3tgnyrw6gt4scz2dpt
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.5.1-f4qiprwjcd2q3fp63uzgp47f3kw66r5h
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-zk6keshnphcta4rwsmvvexg5e25uqnbd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.30-qz3ay7bveep7fy2v7vcln2zxc5ajfjxt
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-4.5.01-k2pkvic65lggk6lukma2humh6t2axbo6
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.48.0-ft5kpbdiz6kctcooz4ksam37pskskehg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.6.0-oa4vrqqj43a7pvuq7pyjgnnd3tesfmwk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-kernels-4.5.01-qknxuyj5vbyheego7mbhhwqrooi7kght
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-txbwcin227323qmxmg4opnj4r4tvenz4
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.3.1-n2l4ckstgt5elcr2mcrhvxmmixyatazg
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.15.0-jtps3jq4asjl72kuklwdbg7cfwkgts5d
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-lguldtjks3wogzgqmuuoen2om3tywxr6
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.9-dmmnd4uqwksrryl6pb4sqaxxo5foevft
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.12.2-pmdeyoykxzmvfiruq4gpn4mifwgck6ml
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.2-amwozyio5q6wv3famb2mkqz3z7l5z5pd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-gdk3ghc3gh5rpxoztushxjuvto5prlqd
==> Fetching file:///mirror/blobs/sha256/c7/c7ed19feafe0f0046e4f0689facd006014ff8e8744548b4cb1e39b5a9c1fb19e
    [100%]   39.02 MB @	 391.3 GB/s
==> Extracting trilinos-16.1.0-k3ozjlurkcq33qpoqses4strvmxtexpe from binary cache
==> trilinos: Successfully installed trilinos-16.1.0-k3ozjlurkcq33qpoqses4strvmxtexpe
  Search: 0.00s.  Fetch: 0.22s.	 Install: 1.55s.  Extract: 1.38s.  Relocate: 0.14s.  Total: 1.77s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-k3ozjlurkcq33qpoqses4strvmxtexpe
==> Installing trilinos-16.1.0-k3ozjlurkcq33qpoqses4strvmxtexpe [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.9
	curl@8.15.0
	    libssh2@1.11.1
	    mbedtls@2.28.9
	    nghttp2@1.48.0
		diffutils@3.12
	    openssl@3.6.0
		ca-certificates-mozilla@2025-08-12
	ncurses@6.5-20250705
	zlib-ng@2.0.7
    compiler-wrapper@1.0
    gcc@11.4.0
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    hwloc@2.12.2
	libpciaccess@0.17
	    util-macros@1.20.1
	libxml2@2.13.5
	    libiconv@1.18
	    xz@5.6.3
	pkgconf@2.5.1
    kokkos@4.5.01
    kokkos-kernels@4.5.01
    openblas@0.3.30
    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.42.0
	    berkeley-db@18.1.40
	    bzip2@1.0.8
	    gdbm@1.25
		readline@8.3
	pmix@6.0.0
	prrte@4.0.0
	    flex@2.6.3

trilinos@16.1.0
    cmake@3.31.9
	curl@8.15.0
	    nghttp2@1.48.0
		diffutils@3.12
	    openssl@3.6.0
		ca-certificates-mozilla@2025-08-12
	    perl@5.42.0
		berkeley-db@18.1.40
		bzip2@1.0.8
		gdbm@1.25
	ncurses@6.5-20250705
	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.5.1
    hwloc@2.12.2
	libpciaccess@0.17
	    util-macros@1.20.1
	libxml2@2.13.5
	    libiconv@1.18
	    xz@5.6.3
    kokkos@4.5.01
	cmake@3.31.9
	    curl@8.15.0
		libssh2@1.11.1
		mbedtls@2.28.9
		openssl@3.6.0
		perl@5.42.0
	    zlib-ng@2.0.7
    kokkos-kernels@4.5.01
    mpich@4.3.2
	findutils@4.10.0
	    gettext@0.23.1
		libxml2@2.13.5
		tar@1.35
		    pigz@2.8
	libfabric@2.3.1
	yaksa@0.4
	    autoconf@2.72
	    automake@1.16.5
	    libtool@2.4.7
	    m4@1.4.20
		libsigsegv@2.14
	    python@3.14.0
		expat@2.7.3
		    libbsd@0.12.2
			libmd@1.1.0
		gettext@0.23.1
		    tar@1.35
			pigz@2.8
		libffi@3.5.2
		readline@8.3
		sqlite@3.50.4
		util-linux-uuid@2.41
		zstd@1.5.7
    openblas@0.3.30

==> 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/tj433ut
|\
| |\
| | |\
| | | |\
| | | | |\
| | | | | |\
| | | | | | |\
| | | | | | | |\
| | | | | | | | |\
| | | | | | | | | |\
| | o | | | | | | | | kokkos-kernels@4.5.01/qknxuyj
| | |\| | | | | | | |
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|/ / / / / /
| | |/| | | | | | | |
| | | |\ \ \ \ \ \ \ \
| | | | |_|_|/ / / / /
| | | |/| | | | | | |
| | | | |\ \ \ \ \ \ \
| | | | | |_|_|/ / / /
| | | | |/| | | | | |
| | | | | |\ \ \ \ \ \
| | | | | | |_|_|/ / /
| | | | | |/| | | | |
| | | | | | |\ \ \ \ \
| | | | | | | |_|_|/ /
| | | | | | |/| | | |
| | | | | | | | |/ /
| | | | | | | |/| |
| o | | | | | | | | openblas@0.3.30/qz3ay7b
| |\| | | | | | | |
| |\ \ \ \ \ \ \ \ \
| | |_|/ / / / / / /
| |/| | | | | | | |
| | |\ \ \ \ \ \ \ \
| | | |_|/ / / / / /
| | |/| | | | | | |
| | | |\ \ \ \ \ \ \
| | | | |_|/ / / / /
| | | |/| | | | | |
| | | | |/ / / / /
o | | | | | | | | openmpi@5.0.8/tqxbnvo
|\| | | | | | | |
|\ \ \ \ \ \ \ \ \
| |\ \ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|_|_|_|_|/
| | | | | | | | | |/| | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|_|_|/ / /
| | | | | | | | | | |/| | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / /
| | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | |\ \ \ \ \ \
| | | | | | | | | | | | | |_|/ / / /
| | | | | | | | | | | | |/| | | | |
| | | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | | |_|/ / /
| | | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | | |\ \ \ \
| | | | | | | | | | | | | | | | | | o kokkos@4.5.01/k2pkvic
| | | | | | | | | | | |_|_|_|_|_|_|/|
| | | | | | | | | | |/| |_|_|_|_|_|/|
| | | | | | | | | | | |/| |_|_|_|_|/|
| | | | | | | | | | | | |/| |_|_|_|/|
| | | | | | | | | | | | | |/| | | |/|
| | | | | | | | | | | | | | | | |/|/
| | | | | | o | | | | | | | | | | | numactl@2.0.18/yzbm5q6
| | | | | | |\| | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|/ / / / / / / /
| | | | | | | |/| | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|_|_|_|_|_|/ /
| | | | | | | | |/| | | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|/ / / / / /
| | | | | | | | | |/| | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|_|/ / / / /
| | | | | | | | | | |/| | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|_|_|/ / / /
| | | | | | | | | | | |/| | | | | | |
| | | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | | |_|_|_|/ / /
| | | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | | |_|/ / /
| | | | | | | | | | | | | |/| | | |
| | | | | o | | | | | | | | | | | | openssh@9.9p1/cxdcxo5
| |_|_|_|/| | | | | | | | | | | | |
|/| | | | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / / / / / / / /
| | | | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / / / / / / /
| | | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |_|/ / / / / / / / /
| | | | | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | |_|/ / / / / / / /
| | | | | | | | | | | | | |/| | | | | | | | |
| | | | | | | | | | | | | | |/ / / / / / / /
| o | | | | | | | | | | | | | | | | | | | | prrte@4.0.0/buin62m
| |\| | | | | | | | | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|/ / / / / / / / / / / / / / / / / / /
| |/| | | | | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|/ / / / / / / / / / / / / / / / / /
| | |/| | | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|_|_|_|_|_|_|/ / / / / / /
| | | |/| | | | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|_|_|_|_|_|_|_|_|/ / / /
| | | | |/| | | | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|_|_|_|_|_|_|_|_|_|/ / /
| | | | | |/| | | | | | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|_|_|_|_|_|_|/ /
| | | | | | |/| | | | | | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|_|_|_|/ / / / / / / /
| | | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|_|_|_|/ / / / / / /
| | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|_|_|_|/ / / / / /
| | | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|_|_|_|_|/ / / / /
| | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |_|_|_|_|_|_|/ / / /
| | | | | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | |_|_|_|_|_|_|/ / /
| | | | | | | | | | | | | |/| | | | | | | | |
| | | | | | | | | | | | | | | |_|_|_|_|/ / /
| | | | | | | | | | | | | | |/| | | | | | |
| | | | | | | | | | | | | | | | | | | | | o cmake@3.31.9/ivvor7v
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| | | | | | | |_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | | | | | | | |/| | |_|_|_|_|_|_|_|/|
| | | | | | | | | | | | |/| | | | | |_|_|/|
| | | | | | | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | | | | | | | | o | krb5@1.21.3/hnmy4fw
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| |
| |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| |
| | |/| | | | | |_|_|_|_|_|_|_|_|_|_|_|/| |
| | | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/| |
| | | | | | | | |/| |_|_|_|_|_|_|_|_|_|/| |
| | | | | | | | | |/| |_|_|_|_|_|_|_|_|/| |
| | | | | | | | | | |/| | |_|_|_|_|_|_|/| |
| | | | | | | | | | | | |/| | | | |_|_|/| |
| | | | | | | | | | | | | | | | |/| | |/| |
| | | | | | | | | | | | | | | | | | | | |\ \
| | | | | | | | | | | | | | | | | | | | | |\ \
| | | | | | | | | | | | | | | | | | | | | | |\ \
| | | | | | | | | | | | | | | | | | o | | | | | | libxcrypt@4.4.38/yiij42p
| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| | | | | | |
| | |/| | | | | |_|_|_|_|_|_|_|_|_|/| | | | | | |
| | | | | | | |/| |_|_|_|_|_|_|_|_|/| | | | | | |
| | | | | | | | |/| |_|_|_|_|_|_|_|/| | | | | | |
| | | | | | | | | |/| |_|_|_|_|_|_|/| | | | | | |
| | | | | | | | | | |/| | |_|_|_|_|/ / / / / / /
| | | | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | o | | | | | | | | | | automake@1.16.5/pzmnwzm
| | | |_|_|_|_|_|_|_|_|_|/| | | | | | | | | | |
| | |/| | | | | |_|_|_|_|/| | | | | | | | | | |
| | | | | | | |/| |_|_|_|/| | | | | | | | | | |
| | | | | | | | |/| |_|_|/| | | | | | | | | | |
| | | | | | | | | |/| |_|/| | | | | | | | | | |
| | | | | | | | | | |/| |/| | | | | | | | | | |
| | | | | | | | | | | | | |/ / / / / / / / / /
| | | | | | | | | | | o | | | | | | | | | | | flex@2.6.3/gmhq65u
| | | | |_|_|_|_|_|_|/| | | | | | | | | | | |
| | | |/| | | | |_|_|/| | | | | | | | | | | |
| | | | | | | |/| |_|/| | | | | | | | | | | |
| | | | | | | | |/| |/| | | | | | | | | | | |
| | | | | | | | | |/|/| | | | | | | | | | | |
| | | | | | | | | | | |\| | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|_|_|_|_|_|_|/ / / /
| | | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |_|_|_|_|_|_|_|/ / /
| | | | | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | | |_|_|_|_|_|/ / /
| | | | | | | | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | | o | | | | | pmix@6.0.0/yqlblh6
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| | | | | |
|/| |_|_|_|_|_|_|_|_|_|_|_|_|_|/| | | | | |
| |/| | | |_|_|_|_|_|_|_|_|_|_|/| | | | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | | | | |
| | | | | |/| |_|_|_|_|_|_|_|_|/| | | | | |
| | | | | | |/| |_|_|_|_|_|_|_|/| | | | | |
| | | | | | | |/| |_|_|_|_|_|_|/| | | | | |
| | | | | | | | |/| |_|_|_|_|_|/| | | | | |
| | | | | | | | | |/| |_|_|_|_|/| | | | | |
| | | | | | | | | | |/| | | | |/ / / / / /
| | | | | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | | | | | | | | o curl@8.15.0/isdtvvd
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | |/| | | | | |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | | | | | | |/| |_|_|_|_|_|_|_|_|/|
| | | | | | | | | | |/| | | | |_|_|_|_|/|
| | | | | | | | | | | | | | |/| | |_|_|/|
| | | | | | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | o | | | | libedit@3.1-20240808/hdzcfgi
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| | | | |
| |/| | | | | | |_|_|_|_|_|_|_|_|_|/| | | | |
| | | | | | | |/| |_|_|_|_|_|_|_|_|/| | | | |
| | | | | | | | |/| |_|_|_|_|_|_|_|/| | | | |
| | | | | | | | | |/| |_|_|_|_|_|_|/| | | | |
| | | | | | | | | | |/| | | | |_|_|/| | | | |
| | | | | | | | | | | | | | |/| | |/ / / / /
| | | | | | | | | | | | | | | o | | | | | | autoconf@2.72/fgsf5ij
| | | |_|_|_|_|_|_|_|_|_|_|_|/| | | | | | |
| | |/| |_|_|_|_|_|_|_|_|_|_|/| | | | | | |
| | | |/| | | | |_|_|_|_|_|_|/ / / / / / /
| | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | | o | | | | | | | bison@3.8.2/n7yzkyl
| | | | |_|_|_|_|_|_|_|_|/| | | | | | | |
| | | |/| | | | |_|_|_|_|/| | | | | | | |
| | | | | | | |/| |_|_|_|/| | | | | | | |
| | | | | | | | |/| |_|_|/| | | | | | | |
| | | | | | | | | |/| |_|/| | | | | | | |
| | | | | | | | | | |/| |/| | | | | | | |
| | | | | | | | | | | | | |/ / / / / / /
| | | | | | o | | | | | | | | | | | | | hwloc@2.12.2/4hos372
| | |_|_|_|/| | | | | | | | | | | | | |
| |/| | | | | | | | | | | | | | | | | |
| | | | | | |\| | | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|_|/ / / / /
| | | | | | |/| | | | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|/ / / / / / / / / / /
| | | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / / / / / / /
| | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / / / / / /
| | | | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | |_|/ / / / / / /
| | | | | | | | | | | | |/| | | | | | | |
| | | | | o | | | | | | | | | | | | | | | libevent@2.1.12/lprginh
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|_|_|_|_|_|_|/ / / / /
| | | | | |/| | | | | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|/ / / / / / /
| | | | | | |/| | | | | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|/ / / / / / / / / /
| | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|/ / / / / / / / /
| | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|/ / / / / / / /
| | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | |_|/ / / / / / / /
| | | | | | | | | | |/| | | | | | | | |
| | | | o | | | | | | | | | | | | | | | libtool@2.4.7/yt7ajy4
| | | |/| | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / / / / / / /
| | | | |/| | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|/ / / / / / / / / / / /
| | | | | | |/| | | | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|/ / / / / / / / / / /
| | | | | | | |/| | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|_|_|/ / / / / /
| | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | |/ / / / / / / / / /
| | | | | | | | | | | | | | | | | | o libssh2@1.11.1/txa2olx
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| | | | |_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| | |_|_|_|_|_|_|_|/|
| | | | | | | | | |/| | | | | | | |/|
| | | | | | | | | | | | | | | | o | | nghttp2@1.48.0/ft5kpbd
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|/| | |
| |/| | | |_|_|_|_|_|_|_|_|_|_|/| | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | |
| | | | | |/| |_|_|_|_|_|_|_|_|/| | |
| | | | | | |/| |_|_|_|_|_|_|_|/| | |
| | | | | | | |/| | |_|_|_|_|_|/| | |
| | | | | | | | | |/| | | | | |/ / /
| | | | | | | | | | | | | | |/| | |
| | | | | | | | | | | | | o | | | | libpciaccess@0.17/txbwcin
| | |_|_|_|_|_|_|_|_|_|_|/| | | | |
| |/| | | |_|_|_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|_|_|/| | | | |
| | | | | |/| |_|_|_|_|_|/| | | | |
| | | | | | |/| |_|_|_|_|/| | | | |
| | | | | | | |/| | |_|_|/| | | | |
| | | | | | | | | |/| | | | | | | |
| | | | | | | | | | o | | | | | | | openssl@3.6.0/gv7wpik
| |_|_|_|_|_|_|_|_|/| | | | | | | |
|/| | |_|_|_|_|_|_|/| | | | | | | |
| | |/| | |_|_|_|_|/| | | | | | | |
| | | | |/| |_|_|_|/| | | | | | | |
| | | | | |/| |_|_|/| | | | | | | |
| | | | | | |/| |_|/| | | | | | | |
| | | | | | | |/| |/| | | | | | | |
| | | | | | | | o | | | | | | | | | findutils@4.10.0/irvryts
| | | | | |_|_|/| | | | | | | | | |
| | | | |/| |_|/| | | | | | | | | |
| | | | | |/| |/| | | | | | | | | |
| | | | | | |/|/| | | | | | | | | |
| | | | | | | | |\| | | | | | | | |
| | | | | | | | | |_|_|_|_|_|/ / /
| | | | | | | | |/| | | | | | | |
| | | o | | | | | | | | | | | | | m4@1.4.20/lxvpwti
| | | |\| | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / / / / /
| | | | |/| | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / / / / /
| | | | | |/| | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|/ / / / / / / / / /
| | | | | | |/| | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|_|_|_|_|/ / /
| | | | | | | |/| | | | | | | | | |
| | | | | | | | | |/ / / / / / / /
| | | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | o | mbedtls@2.28.9/bz3ghzh
| | | | | |_|_|_|_|_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|_|_|_|_|/| |
| | | | | |/| |_|_|_|_|_|_|_|/| |
| | | | | | |/| | |_|_|_|_|_|/| |
| | | | | | | | |/| |_|_|_|_|/ /
| | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | | o | util-macros@1.20.1/hwxnwvm
| | | | | | | | | | |_|_|_|/ /
| | | | | | | | | |/| | | | |
| | | | | | | | | | | o | | | ca-certificates-mozilla@2025-08-12/etqlnw5
| | | | | | | | | | |  / / /
| | o | | | | | | | | | | | perl@5.42.0/62kt5y4
| |/| | | | | | | | | | | |
|/| | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|/ / / / /
| | |/| | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / / /
| | | |/| | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / /
| | | | | |/| | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |_|/ / / / / / /
| | | | | | |/| | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | |_|_|/ / / / /
| | | | | | | |/| | | | | | |
| | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | o | | | gettext@0.23.1/cakgj4n
| | | |_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|/| | | |
| | | |/| | |_|_|_|_|_|/| | | |
| | | | | |/| |_|_|_|_|/| | | |
| | | | | | |/| |_|_|_|/| | | |
| | | | | | | |/| |_|_|/| | | |
| | | | | | | | |/| | | | | | |
| | | | | | | | | | | | |\| | |
| | | | | | | | | | | | |\ \ \ \
| | | | | | | | | | | | | |_|_|/
| | | | | | | | | | | | |/| | |
| | | | | | | | | | | | | |\ \ \
| | | | | | | | | | | | | | |\ \ \
| | | | | | | | | | | | | | | |_|/
| | | | | | | | | | | | | | |/| |
| | | | | | | | | | o | | | | | | libsigsegv@2.14/bs5ujst
| | | |_|_|_|_|_|_|/| | | | | | |
| | |/| |_|_|_|_|_|/| | | | | | |
| | | |/| | |_|_|_|/| | | | | | |
| | | | | |/| |_|_|/| | | | | | |
| | | | | | |/| |_|/ / / / / / /
| | | | | | | |/| | | | | | | |
| | | | | | | | | o | | | | | | berkeley-db@18.1.40/vdgigsw
| | | |_|_|_|_|_|/| | | | | | |
| | |/| |_|_|_|_|/| | | | | | |
| | | |/| | |_|_|/| | | | | | |
| | | | | |/| |_|/| | | | | | |
| | | | | | |/| |/ / / / / / /
| | | | | | | |/| | | | | | |
| | | | o | | | | | | | | | | gdbm@1.25/aq7qwy6
| | | |/| | | | | | | | | | |
| | |/|/| | | | | | | | | | |
| | | | |\| | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / / /
| | | | | |/| | | | | | | | | |
| | | | | | |/ / / / / / / / /
| | | | | | | | | | | | o | | libxml2@2.13.5/5trxrsw
| |_|_|_|_|_|_|_|_|_|_|/| | |
|/| |_|_|_|_|_|_|_|_|_|/| | |
| |/| |_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|/| | |
| | | |/| | |_|_|_|_|_|/| | |
| | | | | |/| |_|_|_|_|/| | |
| | | | | | |/| |_|_|_|/| | |
| | | | | | | |/| | | |/| | |
| | | | | | | | | | |/| | | |
| | | | | | | | | | | | |/ /
| | | | | | | | | | | o | | tar@1.35/lfgvgva
| | | |_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|/| | |
| | | |/| | |_|_|_|_|/| | |
| | | | | |/| |_|_|_|/| | |
| | | | | | |/| |_|_|/| | |
| | | | | | | |/| |_|/| | |
| | | | | | | | |/| |/| | |
| | | | | | | | | | | |\| |
| | | | | | | | | | | |\ \ \
| | | | o | | | | | | | | | | readline@8.3/c6d2zlj
| | | |/| | | | | | | | | | |
| | |/|/| | | | | | | | | | |
| | | | |\| | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|_|_|_|_|/
| | | | |/| | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|/ / / / / / /
| | | | | |/| | | | | | | | |
| | | | | | |/ / / / / / / /
| | | | | | | | o | | | | | bzip2@1.0.8/x7t4naj
| | | |_|_|_|_|/| | | | | |
| | |/| |_|_|_|/| | | | | |
| | | |/| | |_|/| | | | | |
| | | | | |/| |/| | | | | |
| | | | | | |/|/| | | | | |
| | | | | | | | |/ / / / /
| | | | | | | | | | | o | pigz@2.8/kaz756e
| |_|_|_|_|_|_|_|_|_|/| |
|/| | |_|_|_|_|_|_|_|/| |
| | |/| |_|_|_|_|_|_|/| |
| | | |/| | |_|_|_|_|/| |
| | | | | |/| |_|_|_|/| |
| | | | | | |/| |_|_|/ /
| | | | | | | |/| | | |
| | | | | | | | | o | | xz@5.6.3/yzaocbs
| | | |_|_|_|_|_|/| | |
| | |/| |_|_|_|_|/| | |
| | | |/| | |_|_|/| | |
| | | | | |/| |_|/| | |
| | | | | | |/| |/ / /
| | | | | | | |/| | |
| | | | | | | | | o | zstd@1.5.7/foiizhd
| | | |_|_|_|_|_|/| |
| | |/| |_|_|_|_|/| |
| | | |/| | |_|_|/| |
| | | | | |/| |_|/| |
| | | | | | |/| |/ /
| | | | | | | |/| |
| | | | o | | | | | ncurses@6.5-20250705/ncdxq3j
| | |_|/| | | | | |
| |/| |/| | | | | |
| | |/|/| | | | | |
| | | | |\| | | | |
| | | | |\ \ \ \ \ \
| | | | | |_|_|/ / /
| | | | |/| | | | |
| | | | | |/ / / /
| | | | | | | o | diffutils@3.12/cih4xrz
| | | |_|_|_|/| |
| | |/| |_|_|/| |
| | | |/| |_|/| |
| | | | |/| |/| |
| | | | | |/|/| |
| | | | | | | |/
o | | | | | | | zlib-ng@2.0.7/qlavhjb
|\ \ \ \ \ \ \ \
| |_|/ / / / / /
|/| | | | | | |
| |\ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | | | |
| | |\ \ \ \ \ \
| | | |_|_|_|/ /
| | |/| | | | |
| | | |\ \ \ \ \
| | | | |_|/ / /
| | | |/| | | |
| | | | |/ / /
| | | | | o | pkgconf@2.5.1/f4qiprw
| |_|_|_|/| |
|/| |_|_|/| |
| |/| |_|/| |
| | |/| |/| |
| | | |/|/ /
| | | | | o libiconv@1.18/qtepnkr
| |_|_|_|/|
|/| |_|_|/|
| |/| |_|/|
| | |/| |/|
| | | |/|/
o | | | | gmake@4.4.1/4obn7cg
|\| | | |
|\ \ \ \ \
| |_|/ / /
|/| | | |
| |\ \ \ \
| | |_|/ /
| |/| | |
| | |/ /
| | o | compiler-wrapper@1.0/ntccuj2
| |  /
o | | gcc-runtime@11.4.0/nokfxva
|\| |
| |/
|/|
| o gcc@11.4.0/ml7cem5
|
o glibc@2.35/qg7qyaz

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.17
    compiler-wrapper@1.0
    glibc@2.35
    gmake@4.4.1
	gcc@11.4.0
	gcc-runtime@11.4.0
    llvm@14.0.0
    zlib-ng@2.0.7


-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
tcl@8.6.17
    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.17
    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 platform=linux os=ubuntu22.04 target=x86_64_v3/updxeye
$ spack find -lf zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
um7p6tr zlib-ng@2.0.7  ct2r7xm zlib-ng@2.2.4

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
qlavhjb zlib-ng@2.0.7  cflags=-O3  zk6kesh 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/um7
==> Refusing to uninstall the following specs
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
    um7p6tr zlib-ng@2.0.7

==> The following dependents are still installed:
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
    ibbzvxt tcl@8.6.17

==> 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/um7
==> Successfully uninstalled tcl@8.6.17 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3/ibbzvxt
==> Successfully uninstalled zlib-ng@2.0.7+compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3/um7p6tr

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 ------
    tj433ut trilinos@16.1.0  k3ozjlu 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 /tj4
y
    -- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
    tj433ut 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-dist~teko~tempus~test~thyra+tpetra~trilinoscouplings~wrapper~x11~zoltan~zoltan2 build_system=cmake build_type=Release cxxstd=17 generator=make gotype=long_long platform=linux os=ubuntu22.04 target=x86_64_v3/tj433ut

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-k3ozjlurkcq33qpoqses4strvmxtexpe

-- 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-ct2r7xmldphegkos5g43flc6lm2nltcd

-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
tcl@8.6.17     /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.17-x74vmgrwo7h4ka3z3idhnde7xnuof3aq
tcl@8.6.17     /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.17-tsq4fjjw2p7oq6xiondqh232336zyrf4
zlib-ng@2.0.7  /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw

-- 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-vsq3oi374trwzuwcxzutihi2zbxrhosh
hdf5@1.14.6  /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-7mm6knnnjxquabuuhme4sjpe6d6vfawh
hdf5@1.14.6  /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-vllfzb7aaz52qw5k2rkqq64glpglw5gv
hdf5@1.14.6  /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-gdk3ghc3gh5rpxoztushxjuvto5prlqd
==> 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-ntccuj2fi3y7asqifeq3i4iylrbxakw2
[+] /usr (external glibc-2.35-qg7qyazcn2fwrck5vgr3mxq3i4uxkhlo)
[+] /usr (external gcc-11.4.0-ml7cem5pfeoluzbhb7jsiisemvoauaz5)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-nokfxvaa4aklxfhoymvz6hlvbqw3kwnh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-foiizhdg2mc4jdjtuddksbzvr64roxea
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-irvrytslmleivpkraggqq5brluhluert
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4obn7cgqfwoxyvmnpeedud63bsjhoqma
==> Fetching file:///mirror/blobs/sha256/78/78bdc9d57126ca9978f6f134fcd63b65f193826176545252fe02e4bb1ad8e780
    [100%]  694.36 KB @	 826.2 MB/s
==> Extracting autoconf-archive-2023.02.20-7p7gq7uzoaurflydkojv6kvjyue777zs from binary cache
==> autoconf-archive: Successfully installed autoconf-archive-2023.02.20-7p7gq7uzoaurflydkojv6kvjyue777zs
  Search: 0.00s.  Fetch: 0.17s.	 Install: 0.15s.  Extract: 0.13s.  Relocate: 0.00s.  Total: 0.32s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-archive-2023.02.20-7p7gq7uzoaurflydkojv6kvjyue777zs
==> Installing autoconf-archive-2023.02.20-7p7gq7uzoaurflydkojv6kvjyue777zs [8/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-yt7ajy4c3zwh2ks6dawvycaxrydjibel
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-qlavhjbsgqyboovfvsultjdwzz5nvthw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-bs5ujst3rrdcbj3r726bekzjfdddck4w
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-x7t4najic2jb46srjiebkrf55utda3nl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-qtepnkrdvqazp3jmfnheapckbemejrhq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-20250705-ncdxq3juvboefpavgmovg5rb5bx76ohz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-vdgigswy4fvttrivbedl4cp7bl72esma
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-yzaocbs7geczi5d7qyvmqwrxi4r7dvph
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-kaz756eya6nj3ardls4b6aiaclkaux7i
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-lxvpwtivihagmvso5cxgs3b7olqmac2g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.12-cih4xrzw7ysoceclj2x33hdgo23nuvmk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-c6d2zljdklrjdya4xy236brmpdonc2xo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-5trxrsws5dig3bf63uc4xzcbsywsqtjo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-lfgvgvawnpdxxz7prdfn4vsfgtwruxjc
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.25-aq7qwy6yezwhtwdrsyqen65rmjmlth27
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-cakgj4ntlncc4zsgty5z6sa7f7mwvlt7
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.42.0-62kt5y4kl7uhwljviixr3m4dyf5vre7t
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-pzmnwzmdyfj2g64cb6fycltaeiz2edau
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-fgsf5ijzhnbaj2fqngm57aoe6civ72uz
==> Fetching file:///mirror/blobs/sha256/e0/e01036e697dbfdc8fc3ce8a2c4162aaed2ade7cd28f519516941167f7e2029ab
    [100%]   63.04 MB @	 401.2 GB/s
==> Extracting texinfo-7.2-k6ygirswvbp5fb5ijcgwyfck6hax5xix from binary cache
==> texinfo: Successfully installed texinfo-7.2-k6ygirswvbp5fb5ijcgwyfck6hax5xix
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.21s.  Extract: 0.16s.  Relocate: 0.03s.  Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/texinfo-7.2-k6ygirswvbp5fb5ijcgwyfck6hax5xix
==> Installing texinfo-7.2-k6ygirswvbp5fb5ijcgwyfck6hax5xix [28/33]
==> Fetching file:///mirror/blobs/sha256/b5/b57252a0c7495982ba160d400ea7d010773dd2f00b63561f7303add6c412d22f
    [100%]  910.58 KB @	 950.5 MB/s
==> Extracting gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu from binary cache
==> gmp: Successfully installed gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu
==> Installing gmp-6.3.0-mj4re3lp3bqk56rx5yblhufkzpmppdsu [29/33]
==> Fetching file:///mirror/blobs/sha256/1d/1d04af1bb1c8c72898e3699705f3baa628cecdc5926864a15f59875812267be3
    [100%]   62.71 MB @	 381.2 GB/s
==> Extracting mpfr-4.2.1-m3nwaltjkwzqahxlfylauzm5nxkuk2ud from binary cache
==> mpfr: Successfully installed mpfr-4.2.1-m3nwaltjkwzqahxlfylauzm5nxkuk2ud
  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-m3nwaltjkwzqahxlfylauzm5nxkuk2ud
==> Installing mpfr-4.2.1-m3nwaltjkwzqahxlfylauzm5nxkuk2ud [30/33]
==> Fetching file:///mirror/blobs/sha256/94/94b6854379dc5c2a979fbb57e93a339ce21c8be52a24596eef886dfa741f973f
    [100%]   62.37 MB @	 391.2 GB/s
==> Extracting gawk-5.3.1-irhvzcha2sysowm6prf7zkvjitpykaxd from binary cache
==> gawk: Successfully installed gawk-5.3.1-irhvzcha2sysowm6prf7zkvjitpykaxd
  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-irhvzcha2sysowm6prf7zkvjitpykaxd
==> Installing gawk-5.3.1-irhvzcha2sysowm6prf7zkvjitpykaxd [31/33]
==> Fetching file:///mirror/blobs/sha256/79/79a434126cb4944739f23d9450686d25c92f2a51b162f06e451bd0f1f4ce94e2
    [100%]  635.39 KB @	 835.2 MB/s
==> Extracting mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog from binary cache
==> mpc: Successfully installed mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.26s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog
==> Installing mpc-1.3.1-sczvrkuwv7wbcfnejrzrwt5yzbuk5hog [32/33]
==> Fetching file:///mirror/blobs/sha256/1f/1fc94cabbbd6e9c052ea3a10d368fcbd30d3b2c4f18da478323a5e354cec9596
    [100%]  651.91 MB @	 451.4 GB/s
==> Extracting gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc from binary cache
==> Wrote new spec file to /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc/lib/gcc/x86_64-pc-linux-gnu/12.3.0/specs
==> gcc: Successfully installed gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc
  Search: 0.00s.  Fetch: 0.94s.	 Install: 12.50s.  Extract: 11.10s.  Relocate: 1.35s.  Total: 13.44s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc
==> Installing gcc-12.3.0-fmnvqo44pcnyj4dpc6kng6rhp5uwdrwc [33/33]
$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e]  gcc@11.4.0	 [e]  gcc@10.5.0  [+]  gcc@12.3.0

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

Now gcc@12 is immediately available to use.

$ spack spec zziplib %gcc@12
 -   zziplib@0.13.78~ipo build_system=cmake build_type=Release generator=make platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	 ^cmake@3.31.9~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
 -	     ^curl@8.15.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+]		 ^nghttp2@1.48.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -		 ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+]	 ^compiler-wrapper@1.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
 -	 ^coreutils@9.7~gprefix build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
[+]	 ^gcc@12.3.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]	     ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]	     ^gawk@5.3.1~nls build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^libsigsegv@2.14 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[e]	     ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu22.04 target=x86_64_v3
[+]	     ^gcc-runtime@11.4.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[+]	     ^gmp@6.3.0+cxx build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]		 ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+]		 ^automake@1.16.5 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^m4@1.4.20+sigsegv build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]	     ^libtool@2.4.7 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]	     ^mpc@1.3.1 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]	     ^mpfr@4.2.1 build_system=autotools libs:=shared,static patches:=3ec29a6 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^autoconf-archive@2023.02.20 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+]	     ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]		 ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]	     ^texinfo@7.2~xs build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]		 ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]		     ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		     ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]			 ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		     ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]		 ^ncurses@6.5-20250705~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]	     ^zlib-ng@2.0.7 cflags=-O3 +compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
[+]	     ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
 -	 ^gcc-runtime@12.3.0 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
[e]	 ^glibc@2.35 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3
[+]	 ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
[+]	 ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	 ^python@3.14.0+bz2+ctypes+dbm~debug+libxml2+lzma~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib+zstd build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
 -	     ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -		 ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^expat@2.7.3+libbsd build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
 -		 ^libbsd@0.12.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -		     ^libmd@1.1.0 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^gdbm@1.25 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
 -		 ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -		 ^libxml2@2.13.5~http+pic~python+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -		 ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -		     ^pigz@2.8 build_system=makefile platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^libffi@3.5.2 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
 -	     ^openssl@3.6.0~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
[+]		 ^ca-certificates-mozilla@2025-08-12 build_system=generic platform=linux os=ubuntu22.04 target=x86_64_v3
 -	     ^readline@8.3 build_system=autotools patches:=21f0a03 platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^sqlite@3.50.4+column_metadata+fts+rtree build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^util-linux-uuid@2.41 build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^xz@5.6.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	     ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0
 -	 ^unzip@6.0 build_system=makefile patches:=179330d,24582ff,251d575,3371314,44599c8,47e9def,4e5a081,59c0983,64f6498,74bc961,7d8e5c7,81ca46c,881d2ed,aced0f2,b6f64d7,b7a14c3,c9a863e,ee9e260,f6f6236,f88b9d4,fde8f9d platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@11.4.0
 -	 ^zip@3.0 build_system=makefile patches:=14dc880,3bc30ba,5068e7c,51f48db,66ab4ce,a92fc4e,a95ed93,b930b69,eb83fc8,f7d0bc4,fa8312c platform=linux os=ubuntu22.04 target=x86_64_v3 %c=gcc@12.3.0
 -	 ^zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@12.3.0

For the rest 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 --------------
    fmnvqo4 gcc@12.3.0

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

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