Basic Installation Tutorial

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

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

Installing Spack

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

$ git clone --depth=2 --branch=releases/v0.23 https://github.com/spack/spack.git ~/spack
Cloning into '/home/spack5/spack'...
remote: Enumerating objects: 20970, done.K
remote: Counting objects: 100% (20970/20970), done.K
remote: Compressing objects: 100% (11467/11467), done.K
Receiving objects: 100% (20970/20970), 14.78 MiB | 23.43 MiB/s, done.
remote: Total 20970 (delta 1785), reused 14006 (delta 1489), pack-reused 0 (from 0)K
Resolving deltas: 100% (1785/1785), 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
3dtk				lrslib						py-flit-scm				      r-assertthat
3proxy				lrzip						py-flufl-lock				      r-automap
7zip				lsd						py-fluiddyn				      r-backports
abacus				lsf						py-fluidfft				      r-bamsignals
abduco				lshw						py-fluidfft-builder			      r-base64

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-eventlet			     py-munkres					  py-pyupgrade
py-4suite-xml				  py-evodiff			     py-murmurhash				  py-pyusb
py-a2wsgi				  py-exarl			     py-mutagen					  py-pyutilib
py-abcpy				  py-exceptiongroup		     py-mx					  py-pyuwsgi
py-abipy				  py-execnet			     py-mxfold2					  py-pyvcf

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
==> Fetching https://ghcr.io/v2/spack/bootstrap-buildcache-v1/blobs/sha256:8d2764eefa443c29c7c9120079e3bbe7576bbc496b15843ad18d18892338a5ba
==> Fetching https://ghcr.io/v2/spack/bootstrap-buildcache-v1/blobs/sha256:a4abec667660307ad5cff0a616d6651e187cc7b1386fd8cd4b6b288a01614076
==> Installing "clingo-bootstrap@=spack%gcc@=10.2.1~docs+ipo+optimized+python+static_libstdcpp build_system=cmake build_type=Release generator=make patches=bebb819,ec99431 arch=linux-centos7-x86_64" from a buildcache
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
==> Installing gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2 [2/3]
==> No binary for gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2 found: installing from source
==> No patches needed for gcc-runtime
==> gcc-runtime: Executing phase: 'install'
==> gcc-runtime: Successfully installed gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
  Stage: 0.00s.	 Install: 0.05s.  Post-install: 0.04s.	Total: 0.12s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
==> Installing gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom [3/3]
==> No binary for gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
==> No patches needed for gmake
==> gmake: Executing phase: 'install'
==> gmake: Successfully installed gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
  Stage: 0.10s.	 Install: 11.58s.  Post-install: 0.01s.	 Total: 11.72s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom

We see Spack installed gmake, gcc-runtime, and glibc. The glibc and gcc-runtime packages are automatically tracked by Spack to manage consistency requirements among compiler runtimes. They do not represent separate software builds from source, but are records of the system’s 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.

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’ve 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 cache was signed with.

$ spack mirror add tutorial /mirror
$ spack buildcache keys --install --trust
gpg: key F85815B32355CB19: public key "e4s-uo-spack-01" imported
gpg: Total number processed: 1
gpg:		   imported: 1
gpg: inserting ownertrust of 6
gpg: key A8E0CA3C1C2ADA2F: 5 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: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:	1  signed:   0	trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: inserting ownertrust of 6
gpg: key BC86F6FB94429164: public key "Spack CI Key <maintainers@spack.io>" imported
gpg: Total number processed: 1
gpg:		   imported: 1
gpg: inserting ownertrust of 6

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

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

$ spack install zlib-ng %clang
[+] /usr (external glibc-2.35-xvsfmyvk5j33hkz4jhb7vwwsxz4ynras)
==> Installing gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p [2/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/gmake-4.4.1/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p.spack
==> Extracting gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p from binary cache
==> gmake: Successfully installed gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.06s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.21s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p
==> Installing zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o [3/3]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.2.1/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o.spack
==> Extracting zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o

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.1	 2.1.7	2.1.6  2.1.5  2.1.4  2.0.7  2.0.0
==> Remote versions (not yet checksummed):
  2.2.2	 2.2.0	2.1.8  2.1.3  2.1.2

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

$ spack install zlib-ng@2.0.7
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
==> Installing zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja [4/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja.spack
==> Extracting zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.21s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja
$ spack install zlib-ng %gcc@10
[+] /usr (external glibc-2.35-tcngwuvjectyn7o74ymmyeqhll2enure)
==> Installing gcc-runtime-10.5.0-g7dc4oue6rp33tvie6pbl4imqusxbmkq [2/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-gcc-runtime-10.5.0-g7dc4oue6rp33tvie6pbl4imqusxbmkq.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/gcc-runtime-10.5.0/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-gcc-runtime-10.5.0-g7dc4oue6rp33tvie6pbl4imqusxbmkq.spack
==> Extracting gcc-runtime-10.5.0-g7dc4oue6rp33tvie6pbl4imqusxbmkq from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-10.5.0-g7dc4oue6rp33tvie6pbl4imqusxbmkq
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.40s.  Extract: 0.37s.  Relocate: 0.03s.  Total: 0.56s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/gcc-runtime-10.5.0-g7dc4oue6rp33tvie6pbl4imqusxbmkq
==> Installing gmake-4.4.1-he2qdcb6bg6z2wj5y3qmk2opp6t2ohve [3/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-gmake-4.4.1-he2qdcb6bg6z2wj5y3qmk2opp6t2ohve.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/gmake-4.4.1/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-gmake-4.4.1-he2qdcb6bg6z2wj5y3qmk2opp6t2ohve.spack
==> Extracting gmake-4.4.1-he2qdcb6bg6z2wj5y3qmk2opp6t2ohve from binary cache
==> gmake: Successfully installed gmake-4.4.1-he2qdcb6bg6z2wj5y3qmk2opp6t2ohve
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/gmake-4.4.1-he2qdcb6bg6z2wj5y3qmk2opp6t2ohve
==> Installing zlib-ng-2.2.1-aiapvpptueslsb2iq3beakkxfdou5zq7 [4/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-zlib-ng-2.2.1-aiapvpptueslsb2iq3beakkxfdou5zq7.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/zlib-ng-2.2.1/linux-ubuntu22.04-x86_64_v3-gcc-10.5.0-zlib-ng-2.2.1-aiapvpptueslsb2iq3beakkxfdou5zq7.spack
==> Extracting zlib-ng-2.2.1-aiapvpptueslsb2iq3beakkxfdou5zq7 from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.1-aiapvpptueslsb2iq3beakkxfdou5zq7
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-10.5.0/zlib-ng-2.2.1-aiapvpptueslsb2iq3beakkxfdou5zq7

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
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
==> Installing zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz [4/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz.spack
==> Extracting zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.21s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz

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

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

-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
gcc-runtime@10.5.0  glibc@2.35	gmake@4.4.1  zlib-ng@2.2.1

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
gcc-runtime@11.4.0  glibc@2.35	gmake@4.4.1  zlib-ng@2.0.7  zlib-ng@2.0.7
==> 12 installed packages
$ spack find -lf
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
xvsfmyv glibc@2.35%clang  gcbcod5 gmake@4.4.1%clang  jjykcjt zlib-ng@2.2.1%clang

-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
g7dc4ou gcc-runtime@10.5.0%gcc	tcngwuv glibc@2.35%gcc	he2qdcb gmake@4.4.1%gcc	 aiapvpp zlib-ng@2.2.1%gcc

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
hshzy76 gcc-runtime@11.4.0%gcc	a7drdl4 glibc@2.35%gcc	srkzfjr gmake@4.4.1%gcc	 ocxrmff zlib-ng@2.0.7%gcc  umrbkwv zlib-ng@2.0.7%gcc  cflags=-O3
==> 12 installed packages

Spack generates a unique hash for each spec we define. 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
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
==> Installing zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i [4/5]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i.spack
==> Extracting zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.21s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
==> Installing tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt [5/5]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt.spack
==> Extracting tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt from binary cache
==> tcl: Successfully installed tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 1.18s.  Extract: 1.10s.  Relocate: 0.08s.  Total: 1.20s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt

When we need to specify dependencies explicitly, we use the ^ sigil in the spec syntax. The syntax is recursive, meaning that anything we can specify for the top-level package can also be specified for a dependency using ^. This allows us to precisely control the configuration of both packages and their dependencies.

$ spack install tcl ^zlib-ng@2.0.7 %clang
[+] /usr (external glibc-2.35-xvsfmyvk5j33hkz4jhb7vwwsxz4ynras)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/gmake-4.4.1-gcbcod5uiky74ebvkj2y3kapw6cved7p
==> Installing zlib-ng-2.0.7-ju7mdbpjqss4lxbndpjjl4qv67vqt77m [3/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.0.7-ju7mdbpjqss4lxbndpjjl4qv67vqt77m.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.0.7/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-zlib-ng-2.0.7-ju7mdbpjqss4lxbndpjjl4qv67vqt77m.spack
==> Extracting zlib-ng-2.0.7-ju7mdbpjqss4lxbndpjjl4qv67vqt77m from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-ju7mdbpjqss4lxbndpjjl4qv67vqt77m
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.21s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.0.7-ju7mdbpjqss4lxbndpjjl4qv67vqt77m
==> Installing tcl-8.6.12-lvfqvn3qzfvd3q2wzugrz3gbjnzk4uz2 [4/4]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-tcl-8.6.12-lvfqvn3qzfvd3q2wzugrz3gbjnzk4uz2.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/tcl-8.6.12/linux-ubuntu22.04-x86_64_v3-clang-14.0.0-tcl-8.6.12-lvfqvn3qzfvd3q2wzugrz3gbjnzk4uz2.spack
==> Extracting tcl-8.6.12-lvfqvn3qzfvd3q2wzugrz3gbjnzk4uz2 from binary cache
==> tcl: Successfully installed tcl-8.6.12-lvfqvn3qzfvd3q2wzugrz3gbjnzk4uz2
  Search: 0.00s.  Fetch: 0.01s.	 Install: 1.18s.  Extract: 1.11s.  Relocate: 0.07s.  Total: 1.20s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/tcl-8.6.12-lvfqvn3qzfvd3q2wzugrz3gbjnzk4uz2

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 ^/umr
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
==> Installing tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo [5/5]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo.spack
==> Extracting tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo from binary cache
==> tcl: Successfully installed tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo
  Search: 0.00s.  Fetch: 0.15s.	 Install: 1.22s.  Extract: 1.13s.  Relocate: 0.08s.  Total: 1.38s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo

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

$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
xvsfmyv glibc@2.35%clang

gcbcod5 gmake@4.4.1%clang
xvsfmyv	    glibc@2.35%clang

lvfqvn3 tcl@8.6.12%clang
xvsfmyv	    glibc@2.35%clang
gcbcod5	    gmake@4.4.1%clang
ju7mdbp	    zlib-ng@2.0.7%clang

ju7mdbp zlib-ng@2.0.7%clang
xvsfmyv	    glibc@2.35%clang
gcbcod5	    gmake@4.4.1%clang

jjykcjt zlib-ng@2.2.1%clang
xvsfmyv	    glibc@2.35%clang
gcbcod5	    gmake@4.4.1%clang


-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
g7dc4ou gcc-runtime@10.5.0%gcc
tcngwuv	    glibc@2.35%gcc

tcngwuv glibc@2.35%gcc

he2qdcb gmake@4.4.1%gcc
g7dc4ou	    gcc-runtime@10.5.0%gcc
tcngwuv	    glibc@2.35%gcc

aiapvpp zlib-ng@2.2.1%gcc
g7dc4ou	    gcc-runtime@10.5.0%gcc
tcngwuv	    glibc@2.35%gcc
he2qdcb	    gmake@4.4.1%gcc


-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
hshzy76 gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc

a7drdl4 glibc@2.35%gcc

srkzfjr gmake@4.4.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc

imrm45j tcl@8.6.12%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
umrbkwv	    zlib-ng@2.0.7%gcc  cflags=-O3

w4gwr4e tcl@8.6.12%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

ocxrmff zlib-ng@2.0.7%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

umrbkwv zlib-ng@2.0.7%gcc  cflags=-O3
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

fhud6vq zlib-ng@2.2.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

==> 17 installed packages

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

$ spack install hdf5
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
==> Installing ca-certificates-mozilla-2023-05-30-t2brqssuwbaeid47trzbdpe7d3gxw7q5 [3/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ca-certificates-mozilla-2023-05-30-t2brqssuwbaeid47trzbdpe7d3gxw7q5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ca-certificates-mozilla-2023-05-30/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ca-certificates-mozilla-2023-05-30-t2brqssuwbaeid47trzbdpe7d3gxw7q5.spack
==> Extracting ca-certificates-mozilla-2023-05-30-t2brqssuwbaeid47trzbdpe7d3gxw7q5 from binary cache
==> ca-certificates-mozilla: Successfully installed ca-certificates-mozilla-2023-05-30-t2brqssuwbaeid47trzbdpe7d3gxw7q5
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.05s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.20s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ca-certificates-mozilla-2023-05-30-t2brqssuwbaeid47trzbdpe7d3gxw7q5
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
==> Installing zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup [5/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup.spack
==> Extracting zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup from binary cache
==> zstd: Successfully installed zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup
==> Installing libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6 [6/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6.spack
==> Extracting libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6 from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6
==> Installing util-macros-1.20.1-vdnwjqe534xoqfnj7cfcxomeqv47mufq [7/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-macros-1.20.1-vdnwjqe534xoqfnj7cfcxomeqv47mufq.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-macros-1.20.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-macros-1.20.1-vdnwjqe534xoqfnj7cfcxomeqv47mufq.spack
==> Extracting util-macros-1.20.1-vdnwjqe534xoqfnj7cfcxomeqv47mufq from binary cache
==> util-macros: Successfully installed util-macros-1.20.1-vdnwjqe534xoqfnj7cfcxomeqv47mufq
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.02s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-macros-1.20.1-vdnwjqe534xoqfnj7cfcxomeqv47mufq
==> Installing xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k [8/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k.spack
==> Extracting xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k from binary cache
==> xz: Successfully installed xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.13s.  Extract: 0.12s.  Relocate: 0.01s.  Total: 0.14s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
==> Installing libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj [10/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj.spack
==> Extracting libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj from binary cache
==> libiconv: Successfully installed libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.10s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj
==> Installing berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc [11/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc.spack
==> Extracting berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.15s.  Extract: 0.13s.  Relocate: 0.02s.  Total: 0.16s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc
==> Installing pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t [12/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t.spack
==> Extracting pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t from binary cache
==> pkgconf: Successfully installed pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t
==> Installing findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm [13/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm.spack
==> Extracting findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm from binary cache
==> findutils: Successfully installed findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.07s.  Relocate: 0.01s.  Total: 0.09s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm
==> Installing pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy [14/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy.spack
==> Extracting pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy from binary cache
==> pigz: Successfully installed pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.03s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy
==> Installing diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4 [15/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.10/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4.spack
==> Extracting diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4 from binary cache
==> diffutils: Successfully installed diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4
==> Installing ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm [16/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm.spack
==> Extracting ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm from binary cache
==> ncurses: Successfully installed ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.62s.  Extract: 0.60s.  Relocate: 0.02s.  Total: 0.63s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
==> Installing libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow [17/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.13.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow.spack
==> Extracting libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow from binary cache
==> libxml2: Successfully installed libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.15s.  Extract: 0.12s.  Relocate: 0.02s.  Total: 0.16s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow
==> Installing libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i [18/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i.spack
==> Extracting libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i
==> Installing bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto [19/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto.spack
==> Extracting bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto
==> Installing nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt [20/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.63.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt.spack
==> Extracting nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt from binary cache
==> nghttp2: Successfully installed nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt
==> Installing m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md [21/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md.spack
==> Extracting m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md from binary cache
==> m4: Successfully installed m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md
==> Installing libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d [22/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libedit-3.1-20240808/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d.spack
==> Extracting libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d from binary cache
==> libedit: Successfully installed libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.07s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d
==> Installing readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7 [23/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7.spack
==> Extracting readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7 from binary cache
==> readline: Successfully installed readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.06s.  Relocate: 0.01s.  Total: 0.09s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7
==> Installing hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk [24/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.11.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk.spack
==> Extracting hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk from binary cache
==> hwloc: Successfully installed hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.24s.  Extract: 0.20s.  Relocate: 0.03s.  Total: 0.25s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk
==> Installing tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb [25/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb.spack
==> Extracting tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb from binary cache
==> tar: Successfully installed tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.13s.  Extract: 0.10s.  Relocate: 0.02s.  Total: 0.14s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb
==> Installing bison-3.8.2-sllhx5naxinbqkellh37xn6q3tgi5dh4 [26/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bison-3.8.2-sllhx5naxinbqkellh37xn6q3tgi5dh4.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bison-3.8.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-bison-3.8.2-sllhx5naxinbqkellh37xn6q3tgi5dh4.spack
==> Extracting bison-3.8.2-sllhx5naxinbqkellh37xn6q3tgi5dh4 from binary cache
==> bison: Successfully installed bison-3.8.2-sllhx5naxinbqkellh37xn6q3tgi5dh4
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.13s.  Extract: 0.11s.  Relocate: 0.01s.  Total: 0.14s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bison-3.8.2-sllhx5naxinbqkellh37xn6q3tgi5dh4
==> Installing libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms [27/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms.spack
==> Extracting libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms from binary cache
==> libtool: Successfully installed libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.09s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms
==> Installing gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n [28/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n.spack
==> Extracting gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n from binary cache
==> gdbm: Successfully installed gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.05s.  Relocate: 0.02s.  Total: 0.08s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n
==> Installing gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e [29/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e.spack
==> Extracting gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e from binary cache
==> gettext: Successfully installed gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.72s.  Extract: 0.66s.  Relocate: 0.05s.  Total: 0.73s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e
==> Installing perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi [30/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.40.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi.spack
==> Extracting perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi from binary cache
==> perl: Successfully installed perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi
  Search: 0.00s.  Fetch: 0.03s.	 Install: 1.00s.  Extract: 0.85s.  Relocate: 0.14s.  Total: 1.04s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi
==> Installing libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6 [31/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6.spack
==> Extracting libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6 from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.04s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6
==> Installing openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw [32/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.4.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw.spack
==> Extracting openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw from binary cache
==> openssl: Successfully installed openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.32s.  Extract: 0.29s.  Relocate: 0.02s.  Total: 0.33s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw
==> Installing autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw [33/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.72/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw.spack
==> Extracting autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw from binary cache
==> autoconf: Successfully installed autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.06s.  Relocate: 0.02s.  Total: 0.10s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw
==> Installing krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb [34/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/krb5-1.21.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb.spack
==> Extracting krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb from binary cache
==> krb5: Successfully installed krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.17s.  Extract: 0.11s.  Relocate: 0.05s.  Total: 0.18s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb
==> Installing curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo [35/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.10.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo.spack
==> Extracting curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo from binary cache
==> curl: Successfully installed curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.16s.  Extract: 0.13s.  Relocate: 0.02s.  Total: 0.17s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo
==> Installing libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma [36/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libevent-2.1.12/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma.spack
==> Extracting libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma from binary cache
==> libevent: Successfully installed libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.14s.  Extract: 0.11s.  Relocate: 0.02s.  Total: 0.15s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma
==> Installing automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko [37/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko.spack
==> Extracting automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko from binary cache
==> automake: Successfully installed automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.09s.  Extract: 0.05s.  Relocate: 0.03s.  Total: 0.10s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko
==> Installing openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn [38/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssh-9.9p1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn.spack
==> Extracting openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn from binary cache
==> openssh: Successfully installed openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.18s.  Extract: 0.12s.  Relocate: 0.04s.  Total: 0.19s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn
==> Installing cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj [39/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.30.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj.spack
==> Extracting cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj from binary cache
==> cmake: Successfully installed cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj
  Search: 0.00s.  Fetch: 0.02s.	 Install: 1.54s.  Extract: 1.43s.  Relocate: 0.10s.  Total: 1.57s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj
==> Installing pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z [40/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pmix-5.0.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z.spack
==> Extracting pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z from binary cache
==> pmix: Successfully installed pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.30s.  Extract: 0.24s.  Relocate: 0.04s.  Total: 0.31s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z
==> Installing numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp [41/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/numactl-2.0.18/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp.spack
==> Extracting numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp from binary cache
==> numactl: Successfully installed numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.01s.  Total: 0.06s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp
==> Installing openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea [42/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openmpi-5.0.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea.spack
==> Extracting openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea from binary cache
==> openmpi: Successfully installed openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea
  Search: 0.00s.  Fetch: 0.02s.	 Install: 1.09s.  Extract: 1.02s.  Relocate: 0.05s.  Total: 1.10s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea
==> Installing hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt [43/43]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt.spack
==> Extracting hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt from binary cache
==> hdf5: Successfully installed hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.32s.  Extract: 0.24s.  Relocate: 0.05s.  Total: 0.33s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt

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-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj
==> Installing hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par [11/11]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par.spack
==> Extracting hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par from binary cache
==> hdf5: Successfully installed hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.29s.  Extract: 0.25s.  Relocate: 0.02s.  Total: 0.45s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par

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.

$ spack install hdf5+hl+mpi ^mpich
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw
==> Installing libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz [17/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libfabric-1.22.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz.spack
==> Extracting libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz from binary cache
==> libfabric: Successfully installed libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.12s.  Extract: 0.10s.  Relocate: 0.01s.  Total: 0.27s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy
==> Installing libmd-1.0.4-qcfzttdxovswz34pjuvrsjnuwsvrbhko [19/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libmd-1.0.4-qcfzttdxovswz34pjuvrsjnuwsvrbhko.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libmd-1.0.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libmd-1.0.4-qcfzttdxovswz34pjuvrsjnuwsvrbhko.spack
==> Extracting libmd-1.0.4-qcfzttdxovswz34pjuvrsjnuwsvrbhko from binary cache
==> libmd: Successfully installed libmd-1.0.4-qcfzttdxovswz34pjuvrsjnuwsvrbhko
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.04s.  Extract: 0.02s.  Relocate: 0.01s.  Total: 0.05s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libmd-1.0.4-qcfzttdxovswz34pjuvrsjnuwsvrbhko
==> Installing libffi-3.4.6-ltl5sqyu2fuckascuwdlxebbmp3k5spp [20/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libffi-3.4.6-ltl5sqyu2fuckascuwdlxebbmp3k5spp.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libffi-3.4.6/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libffi-3.4.6-ltl5sqyu2fuckascuwdlxebbmp3k5spp.spack
==> Extracting libffi-3.4.6-ltl5sqyu2fuckascuwdlxebbmp3k5spp from binary cache
==> libffi: Successfully installed libffi-3.4.6-ltl5sqyu2fuckascuwdlxebbmp3k5spp
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.03s.  Extract: 0.01s.  Relocate: 0.01s.  Total: 0.04s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libffi-3.4.6-ltl5sqyu2fuckascuwdlxebbmp3k5spp
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup
==> Installing libbsd-0.12.2-hwya6i63fvxczwxqtfz3ujel55as7dlp [25/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libbsd-0.12.2-hwya6i63fvxczwxqtfz3ujel55as7dlp.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libbsd-0.12.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-libbsd-0.12.2-hwya6i63fvxczwxqtfz3ujel55as7dlp.spack
==> Extracting libbsd-0.12.2-hwya6i63fvxczwxqtfz3ujel55as7dlp from binary cache
==> libbsd: Successfully installed libbsd-0.12.2-hwya6i63fvxczwxqtfz3ujel55as7dlp
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.08s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.09s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libbsd-0.12.2-hwya6i63fvxczwxqtfz3ujel55as7dlp
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n
==> Installing sqlite-3.46.0-ogdosm6dqmim5545dvloiyn5nvydhfra [27/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-sqlite-3.46.0-ogdosm6dqmim5545dvloiyn5nvydhfra.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/sqlite-3.46.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-sqlite-3.46.0-ogdosm6dqmim5545dvloiyn5nvydhfra.spack
==> Extracting sqlite-3.46.0-ogdosm6dqmim5545dvloiyn5nvydhfra from binary cache
==> sqlite: Successfully installed sqlite-3.46.0-ogdosm6dqmim5545dvloiyn5nvydhfra
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.41s.  Extract: 0.38s.  Relocate: 0.03s.  Total: 0.43s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/sqlite-3.46.0-ogdosm6dqmim5545dvloiyn5nvydhfra
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk
==> Installing util-linux-uuid-2.40.2-xesify5chxevm2nzm4bad4s2jquildlm [30/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-linux-uuid-2.40.2-xesify5chxevm2nzm4bad4s2jquildlm.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-linux-uuid-2.40.2/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-util-linux-uuid-2.40.2-xesify5chxevm2nzm4bad4s2jquildlm.spack
==> Extracting util-linux-uuid-2.40.2-xesify5chxevm2nzm4bad4s2jquildlm from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.40.2-xesify5chxevm2nzm4bad4s2jquildlm
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.17s.  Extract: 0.15s.  Relocate: 0.01s.  Total: 0.18s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/util-linux-uuid-2.40.2-xesify5chxevm2nzm4bad4s2jquildlm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb
==> Installing expat-2.6.4-hj6jtyrxtqabnjznbntx6oeclctubpxq [32/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-expat-2.6.4-hj6jtyrxtqabnjznbntx6oeclctubpxq.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/expat-2.6.4/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-expat-2.6.4-hj6jtyrxtqabnjznbntx6oeclctubpxq.spack
==> Extracting expat-2.6.4-hj6jtyrxtqabnjznbntx6oeclctubpxq from binary cache
==> expat: Successfully installed expat-2.6.4-hj6jtyrxtqabnjznbntx6oeclctubpxq
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.07s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/expat-2.6.4-hj6jtyrxtqabnjznbntx6oeclctubpxq
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw
==> Installing python-3.13.0-gfyestlsaoooymkt6udvyevswwc3hrpl [37/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-python-3.13.0-gfyestlsaoooymkt6udvyevswwc3hrpl.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/python-3.13.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-python-3.13.0-gfyestlsaoooymkt6udvyevswwc3hrpl.spack
==> Extracting python-3.13.0-gfyestlsaoooymkt6udvyevswwc3hrpl from binary cache
==> python: Successfully installed python-3.13.0-gfyestlsaoooymkt6udvyevswwc3hrpl
  Search: 0.00s.  Fetch: 0.06s.	 Install: 4.30s.  Extract: 4.14s.  Relocate: 0.15s.  Total: 4.37s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/python-3.13.0-gfyestlsaoooymkt6udvyevswwc3hrpl
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko
==> Installing yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn [39/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/yaksa-0.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn.spack
==> Extracting yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn from binary cache
==> yaksa: Successfully installed yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn
  Search: 0.00s.  Fetch: 0.02s.	 Install: 0.79s.  Extract: 0.73s.  Relocate: 0.04s.  Total: 0.81s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn
==> Installing mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5 [40/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpich-4.2.3/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5.spack
==> Extracting mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5 from binary cache
==> mpich: Successfully installed mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 1.05s.  Extract: 0.98s.  Relocate: 0.04s.  Total: 1.06s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5
==> Installing hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph [41/41]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph.spack
==> Extracting hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph from binary cache
==> hdf5: Successfully installed hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.32s.  Extract: 0.24s.  Relocate: 0.05s.  Total: 0.33s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph

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

$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
xvsfmyv glibc@2.35%clang

gcbcod5 gmake@4.4.1%clang
xvsfmyv	    glibc@2.35%clang

lvfqvn3 tcl@8.6.12%clang
xvsfmyv	    glibc@2.35%clang
gcbcod5	    gmake@4.4.1%clang
ju7mdbp	    zlib-ng@2.0.7%clang

ju7mdbp zlib-ng@2.0.7%clang
xvsfmyv	    glibc@2.35%clang
gcbcod5	    gmake@4.4.1%clang

jjykcjt zlib-ng@2.2.1%clang
xvsfmyv	    glibc@2.35%clang
gcbcod5	    gmake@4.4.1%clang


-- linux-ubuntu22.04-x86_64_v3 / gcc@10.5.0 ---------------------
g7dc4ou gcc-runtime@10.5.0%gcc
tcngwuv	    glibc@2.35%gcc

tcngwuv glibc@2.35%gcc

he2qdcb gmake@4.4.1%gcc
g7dc4ou	    gcc-runtime@10.5.0%gcc
tcngwuv	    glibc@2.35%gcc

aiapvpp zlib-ng@2.2.1%gcc
g7dc4ou	    gcc-runtime@10.5.0%gcc
tcngwuv	    glibc@2.35%gcc
he2qdcb	    gmake@4.4.1%gcc


-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
vgucajy autoconf@2.72%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
qaspjyq	    m4@1.4.19%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
ea6qziv		libsigsegv@2.14%gcc
cwpt5ec	    perl@5.40.0%gcc
cexlioh		berkeley-db@18.1.40%gcc
ewqc7cx		bzip2@1.0.8%gcc
jj2atvs		gdbm@1.23%gcc
aylebxv		    readline@8.2%gcc
rvg7j6b			ncurses@6.5%gcc
oplsmxr			    pkgconf@2.2.0%gcc
fhud6vq		zlib-ng@2.2.1%gcc

awgfaon automake@1.16.5%gcc
vgucajy	    autoconf@2.72%gcc
qaspjyq		m4@1.4.19%gcc
lljulvx		    diffutils@3.10%gcc
bsga3no			libiconv@1.17%gcc
ea6qziv		    libsigsegv@2.14%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
cwpt5ec	    perl@5.40.0%gcc
cexlioh		berkeley-db@18.1.40%gcc
ewqc7cx		bzip2@1.0.8%gcc
jj2atvs		gdbm@1.23%gcc
aylebxv		    readline@8.2%gcc
rvg7j6b			ncurses@6.5%gcc
oplsmxr			    pkgconf@2.2.0%gcc
fhud6vq		zlib-ng@2.2.1%gcc

cexlioh berkeley-db@18.1.40%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

sllhx5n bison@3.8.2%gcc
lljulvx	    diffutils@3.10%gcc
bsga3no		libiconv@1.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
qaspjyq	    m4@1.4.19%gcc
ea6qziv		libsigsegv@2.14%gcc

ewqc7cx bzip2@1.0.8%gcc
lljulvx	    diffutils@3.10%gcc
bsga3no		libiconv@1.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

t2brqss ca-certificates-mozilla@2023-05-30%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc

d2nwbxl cmake@3.30.5%gcc
fpywomo	    curl@8.10.1%gcc
t2qkug7		nghttp2@1.63.0%gcc
lljulvx		    diffutils@3.10%gcc
bsga3no			libiconv@1.17%gcc
5gigqgw		openssl@3.4.0%gcc
t2brqss		    ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec		    perl@5.40.0%gcc
cexlioh			berkeley-db@18.1.40%gcc
ewqc7cx			bzip2@1.0.8%gcc
jj2atvs			gdbm@1.23%gcc
aylebxv			    readline@8.2%gcc
oplsmxr		pkgconf@2.2.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
rvg7j6b	    ncurses@6.5%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

fpywomo curl@8.10.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
t2qkug7	    nghttp2@1.63.0%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
5gigqgw	    openssl@3.4.0%gcc
t2brqss		ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
ewqc7cx		    bzip2@1.0.8%gcc
jj2atvs		    gdbm@1.23%gcc
aylebxv			readline@8.2%gcc
rvg7j6b			    ncurses@6.5%gcc
oplsmxr	    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

lljulvx diffutils@3.10%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
bsga3no	    libiconv@1.17%gcc

hj6jtyr expat@2.6.4%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
hwya6i6	    libbsd@0.12.2%gcc
qcfzttd		libmd@1.0.4%gcc

2sbkhch findutils@4.9.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

hshzy76 gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc

jj2atvs gdbm@1.23%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
aylebxv	    readline@8.2%gcc
rvg7j6b		ncurses@6.5%gcc
oplsmxr		    pkgconf@2.2.0%gcc

bexdfw2 gettext@0.22.5%gcc
ewqc7cx	    bzip2@1.0.8%gcc
lljulvx		diffutils@3.10%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
bsga3no	    libiconv@1.17%gcc
wozcmyn	    libxml2@2.13.4%gcc
oplsmxr		pkgconf@2.2.0%gcc
fhud6vq		zlib-ng@2.2.1%gcc
rvg7j6b	    ncurses@6.5%gcc
mmv6i4n	    tar@1.34%gcc
pcwnu2w		pigz@2.8%gcc
t7h6imj		zstd@1.5.6%gcc
2fvrfr6	    xz@5.4.6%gcc

a7drdl4 glibc@2.35%gcc

srkzfjr gmake@4.4.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc

ckoh67f hdf5@1.14.5%gcc
d2nwbxl	    cmake@3.30.5%gcc
fpywomo		curl@8.10.1%gcc
t2qkug7		    nghttp2@1.63.0%gcc
lljulvx			diffutils@3.10%gcc
bsga3no			    libiconv@1.17%gcc
5gigqgw		    openssl@3.4.0%gcc
t2brqss			ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec			perl@5.40.0%gcc
cexlioh			    berkeley-db@18.1.40%gcc
ewqc7cx			    bzip2@1.0.8%gcc
jj2atvs			    gdbm@1.23%gcc
aylebxv				readline@8.2%gcc
rvg7j6b		ncurses@6.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
oplsmxr	    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

6ddnwva hdf5@1.14.5%gcc
d2nwbxl	    cmake@3.30.5%gcc
fpywomo		curl@8.10.1%gcc
t2qkug7		    nghttp2@1.63.0%gcc
lljulvx			diffutils@3.10%gcc
5gigqgw		    openssl@3.4.0%gcc
t2brqss			ca-certificates-mozilla@2023-05-30%gcc
rvg7j6b		ncurses@6.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
jvwxvxe	    openmpi@5.0.5%gcc
vgucajy		autoconf@2.72%gcc
qaspjyq		    m4@1.4.19%gcc
ea6qziv			libsigsegv@2.14%gcc
awgfaon		automake@1.16.5%gcc
fwtuzgp		hwloc@2.11.1%gcc
omw5cc4		    libpciaccess@0.17%gcc
vdnwjqe			util-macros@1.20.1%gcc
wozcmyn		    libxml2@2.13.4%gcc
bsga3no			libiconv@1.17%gcc
2fvrfr6			xz@5.4.6%gcc
xbwxobi		libevent@2.1.12%gcc
tt3byem		libtool@2.4.7%gcc
2sbkhch		    findutils@4.9.0%gcc
euqyy3h		numactl@2.0.18%gcc
wz7w27t		openssh@9.9p1%gcc
pq3as37		    krb5@1.21.3%gcc
sllhx5n			bison@3.8.2%gcc
bexdfw2			gettext@0.22.5%gcc
mmv6i4n			    tar@1.34%gcc
pcwnu2w				pigz@2.8%gcc
t7h6imj				zstd@1.5.6%gcc
nhrbcom		    libedit@3.1-20240808%gcc
v64tnmr		    libxcrypt@4.4.35%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
ewqc7cx		    bzip2@1.0.8%gcc
jj2atvs		    gdbm@1.23%gcc
aylebxv			readline@8.2%gcc
5wqqmsw		pmix@5.0.3%gcc
oplsmxr	    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

tgtmflo hdf5@1.14.5%gcc
d2nwbxl	    cmake@3.30.5%gcc
fpywomo		curl@8.10.1%gcc
t2qkug7		    nghttp2@1.63.0%gcc
lljulvx			diffutils@3.10%gcc
5gigqgw		    openssl@3.4.0%gcc
t2brqss			ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec			perl@5.40.0%gcc
cexlioh			    berkeley-db@18.1.40%gcc
rvg7j6b		ncurses@6.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
cqazuix	    mpich@4.2.3%gcc
2sbkhch		findutils@4.9.0%gcc
fwtuzgp		hwloc@2.11.1%gcc
lr77ky6		libfabric@1.22.0%gcc
omw5cc4		libpciaccess@0.17%gcc
vdnwjqe		    util-macros@1.20.1%gcc
wozcmyn		libxml2@2.13.4%gcc
bsga3no		    libiconv@1.17%gcc
2fvrfr6		    xz@5.4.6%gcc
eogugqp		yaksa@0.3%gcc
vgucajy		    autoconf@2.72%gcc
awgfaon		    automake@1.16.5%gcc
tt3byem		    libtool@2.4.7%gcc
qaspjyq		    m4@1.4.19%gcc
ea6qziv			libsigsegv@2.14%gcc
gfyestl		    python@3.13.0%gcc
ewqc7cx			bzip2@1.0.8%gcc
hj6jtyr			expat@2.6.4%gcc
hwya6i6			    libbsd@0.12.2%gcc
qcfzttd				libmd@1.0.4%gcc
jj2atvs			gdbm@1.23%gcc
bexdfw2			gettext@0.22.5%gcc
mmv6i4n			    tar@1.34%gcc
pcwnu2w				pigz@2.8%gcc
t7h6imj				zstd@1.5.6%gcc
ltl5sqy			libffi@3.4.6%gcc
aylebxv			readline@8.2%gcc
ogdosm6			sqlite@3.46.0%gcc
xesify5			util-linux-uuid@2.40.2%gcc
oplsmxr	    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

fwtuzgp hwloc@2.11.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
omw5cc4	    libpciaccess@0.17%gcc
vdnwjqe		util-macros@1.20.1%gcc
wozcmyn	    libxml2@2.13.4%gcc
bsga3no		libiconv@1.17%gcc
2fvrfr6		xz@5.4.6%gcc
fhud6vq		zlib-ng@2.2.1%gcc
rvg7j6b	    ncurses@6.5%gcc
oplsmxr	    pkgconf@2.2.0%gcc

pq3as37 krb5@1.21.3%gcc
sllhx5n	    bison@3.8.2%gcc
qaspjyq		m4@1.4.19%gcc
ea6qziv		    libsigsegv@2.14%gcc
lljulvx	    diffutils@3.10%gcc
bsga3no		libiconv@1.17%gcc
2sbkhch	    findutils@4.9.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
bexdfw2	    gettext@0.22.5%gcc
ewqc7cx		bzip2@1.0.8%gcc
wozcmyn		libxml2@2.13.4%gcc
rvg7j6b		ncurses@6.5%gcc
mmv6i4n		tar@1.34%gcc
pcwnu2w		    pigz@2.8%gcc
t7h6imj		    zstd@1.5.6%gcc
2fvrfr6		xz@5.4.6%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
5gigqgw	    openssl@3.4.0%gcc
t2brqss		ca-certificates-mozilla@2023-05-30%gcc
fhud6vq		zlib-ng@2.2.1%gcc
cwpt5ec	    perl@5.40.0%gcc
cexlioh		berkeley-db@18.1.40%gcc
jj2atvs		gdbm@1.23%gcc
aylebxv		    readline@8.2%gcc
oplsmxr	    pkgconf@2.2.0%gcc

hwya6i6 libbsd@0.12.2%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
qcfzttd	    libmd@1.0.4%gcc

nhrbcom libedit@3.1-20240808%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
rvg7j6b	    ncurses@6.5%gcc
oplsmxr	    pkgconf@2.2.0%gcc

xbwxobi libevent@2.1.12%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
5gigqgw	    openssl@3.4.0%gcc
t2brqss		ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
ewqc7cx		    bzip2@1.0.8%gcc
lljulvx			diffutils@3.10%gcc
bsga3no			    libiconv@1.17%gcc
jj2atvs		    gdbm@1.23%gcc
aylebxv			readline@8.2%gcc
rvg7j6b			    ncurses@6.5%gcc
oplsmxr				pkgconf@2.2.0%gcc
fhud6vq		zlib-ng@2.2.1%gcc

lr77ky6 libfabric@1.22.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

ltl5sqy libffi@3.4.6%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

bsga3no libiconv@1.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

qcfzttd libmd@1.0.4%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

omw5cc4 libpciaccess@0.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
oplsmxr	    pkgconf@2.2.0%gcc
vdnwjqe	    util-macros@1.20.1%gcc

ea6qziv libsigsegv@2.14%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

tt3byem libtool@2.4.7%gcc
2sbkhch	    findutils@4.9.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
qaspjyq	    m4@1.4.19%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
ea6qziv		libsigsegv@2.14%gcc

v64tnmr libxcrypt@4.4.35%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
cwpt5ec	    perl@5.40.0%gcc
cexlioh		berkeley-db@18.1.40%gcc
ewqc7cx		bzip2@1.0.8%gcc
lljulvx		    diffutils@3.10%gcc
bsga3no			libiconv@1.17%gcc
jj2atvs		gdbm@1.23%gcc
aylebxv		    readline@8.2%gcc
rvg7j6b			ncurses@6.5%gcc
oplsmxr			    pkgconf@2.2.0%gcc
fhud6vq		zlib-ng@2.2.1%gcc

wozcmyn libxml2@2.13.4%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
bsga3no	    libiconv@1.17%gcc
oplsmxr	    pkgconf@2.2.0%gcc
2fvrfr6	    xz@5.4.6%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

qaspjyq m4@1.4.19%gcc
lljulvx	    diffutils@3.10%gcc
bsga3no		libiconv@1.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
ea6qziv	    libsigsegv@2.14%gcc

cqazuix mpich@4.2.3%gcc
2sbkhch	    findutils@4.9.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fwtuzgp	    hwloc@2.11.1%gcc
rvg7j6b		ncurses@6.5%gcc
lr77ky6	    libfabric@1.22.0%gcc
omw5cc4	    libpciaccess@0.17%gcc
vdnwjqe		util-macros@1.20.1%gcc
wozcmyn	    libxml2@2.13.4%gcc
bsga3no		libiconv@1.17%gcc
2fvrfr6		xz@5.4.6%gcc
fhud6vq		zlib-ng@2.2.1%gcc
oplsmxr	    pkgconf@2.2.0%gcc
eogugqp	    yaksa@0.3%gcc
vgucajy		autoconf@2.72%gcc
cwpt5ec		    perl@5.40.0%gcc
cexlioh			berkeley-db@18.1.40%gcc
awgfaon		automake@1.16.5%gcc
tt3byem		libtool@2.4.7%gcc
qaspjyq		m4@1.4.19%gcc
lljulvx		    diffutils@3.10%gcc
ea6qziv		    libsigsegv@2.14%gcc
gfyestl		python@3.13.0%gcc
ewqc7cx		    bzip2@1.0.8%gcc
hj6jtyr		    expat@2.6.4%gcc
hwya6i6			libbsd@0.12.2%gcc
qcfzttd			    libmd@1.0.4%gcc
jj2atvs		    gdbm@1.23%gcc
bexdfw2		    gettext@0.22.5%gcc
mmv6i4n			tar@1.34%gcc
pcwnu2w			    pigz@2.8%gcc
t7h6imj			    zstd@1.5.6%gcc
ltl5sqy		    libffi@3.4.6%gcc
5gigqgw		    openssl@3.4.0%gcc
t2brqss			ca-certificates-mozilla@2023-05-30%gcc
aylebxv		    readline@8.2%gcc
ogdosm6		    sqlite@3.46.0%gcc
xesify5		    util-linux-uuid@2.40.2%gcc

rvg7j6b ncurses@6.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
oplsmxr	    pkgconf@2.2.0%gcc

t2qkug7 nghttp2@1.63.0%gcc
lljulvx	    diffutils@3.10%gcc
bsga3no		libiconv@1.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
oplsmxr	    pkgconf@2.2.0%gcc

euqyy3h numactl@2.0.18%gcc
vgucajy	    autoconf@2.72%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
ewqc7cx		    bzip2@1.0.8%gcc
jj2atvs		    gdbm@1.23%gcc
aylebxv			readline@8.2%gcc
rvg7j6b			    ncurses@6.5%gcc
oplsmxr				pkgconf@2.2.0%gcc
fhud6vq		    zlib-ng@2.2.1%gcc
awgfaon	    automake@1.16.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
tt3byem	    libtool@2.4.7%gcc
2sbkhch		findutils@4.9.0%gcc
qaspjyq	    m4@1.4.19%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
ea6qziv		libsigsegv@2.14%gcc

jvwxvxe openmpi@5.0.5%gcc
vgucajy	    autoconf@2.72%gcc
qaspjyq		m4@1.4.19%gcc
lljulvx		    diffutils@3.10%gcc
ea6qziv		    libsigsegv@2.14%gcc
awgfaon	    automake@1.16.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fwtuzgp	    hwloc@2.11.1%gcc
omw5cc4		libpciaccess@0.17%gcc
vdnwjqe		    util-macros@1.20.1%gcc
wozcmyn		libxml2@2.13.4%gcc
bsga3no		    libiconv@1.17%gcc
2fvrfr6		    xz@5.4.6%gcc
rvg7j6b		ncurses@6.5%gcc
xbwxobi	    libevent@2.1.12%gcc
5gigqgw		openssl@3.4.0%gcc
t2brqss		    ca-certificates-mozilla@2023-05-30%gcc
tt3byem	    libtool@2.4.7%gcc
2sbkhch		findutils@4.9.0%gcc
euqyy3h	    numactl@2.0.18%gcc
wz7w27t	    openssh@9.9p1%gcc
pq3as37		krb5@1.21.3%gcc
sllhx5n		    bison@3.8.2%gcc
bexdfw2		    gettext@0.22.5%gcc
mmv6i4n			tar@1.34%gcc
pcwnu2w			    pigz@2.8%gcc
t7h6imj			    zstd@1.5.6%gcc
nhrbcom		libedit@3.1-20240808%gcc
v64tnmr		libxcrypt@4.4.35%gcc
cwpt5ec	    perl@5.40.0%gcc
cexlioh		berkeley-db@18.1.40%gcc
ewqc7cx		bzip2@1.0.8%gcc
jj2atvs		gdbm@1.23%gcc
aylebxv		    readline@8.2%gcc
oplsmxr	    pkgconf@2.2.0%gcc
5wqqmsw	    pmix@5.0.3%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

wz7w27t openssh@9.9p1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
pq3as37	    krb5@1.21.3%gcc
sllhx5n		bison@3.8.2%gcc
qaspjyq		    m4@1.4.19%gcc
ea6qziv			libsigsegv@2.14%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
2sbkhch		findutils@4.9.0%gcc
bexdfw2		gettext@0.22.5%gcc
ewqc7cx		    bzip2@1.0.8%gcc
wozcmyn		    libxml2@2.13.4%gcc
mmv6i4n		    tar@1.34%gcc
pcwnu2w			pigz@2.8%gcc
t7h6imj			zstd@1.5.6%gcc
2fvrfr6		    xz@5.4.6%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
jj2atvs		    gdbm@1.23%gcc
aylebxv			readline@8.2%gcc
oplsmxr		pkgconf@2.2.0%gcc
nhrbcom	    libedit@3.1-20240808%gcc
v64tnmr	    libxcrypt@4.4.35%gcc
rvg7j6b	    ncurses@6.5%gcc
5gigqgw	    openssl@3.4.0%gcc
t2brqss		ca-certificates-mozilla@2023-05-30%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

5gigqgw openssl@3.4.0%gcc
t2brqss	    ca-certificates-mozilla@2023-05-30%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
cwpt5ec	    perl@5.40.0%gcc
cexlioh		berkeley-db@18.1.40%gcc
ewqc7cx		bzip2@1.0.8%gcc
lljulvx		    diffutils@3.10%gcc
bsga3no			libiconv@1.17%gcc
jj2atvs		gdbm@1.23%gcc
aylebxv		    readline@8.2%gcc
rvg7j6b			ncurses@6.5%gcc
oplsmxr			    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

cwpt5ec perl@5.40.0%gcc
cexlioh	    berkeley-db@18.1.40%gcc
ewqc7cx	    bzip2@1.0.8%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
jj2atvs	    gdbm@1.23%gcc
aylebxv		readline@8.2%gcc
rvg7j6b		    ncurses@6.5%gcc
oplsmxr			pkgconf@2.2.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

pcwnu2w pigz@2.8%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

oplsmxr pkgconf@2.2.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

5wqqmsw pmix@5.0.3%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fwtuzgp	    hwloc@2.11.1%gcc
omw5cc4		libpciaccess@0.17%gcc
vdnwjqe		    util-macros@1.20.1%gcc
wozcmyn		libxml2@2.13.4%gcc
bsga3no		    libiconv@1.17%gcc
2fvrfr6		    xz@5.4.6%gcc
rvg7j6b		ncurses@6.5%gcc
xbwxobi	    libevent@2.1.12%gcc
5gigqgw		openssl@3.4.0%gcc
t2brqss		    ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec		    perl@5.40.0%gcc
cexlioh			berkeley-db@18.1.40%gcc
ewqc7cx			bzip2@1.0.8%gcc
lljulvx			    diffutils@3.10%gcc
jj2atvs			gdbm@1.23%gcc
aylebxv			    readline@8.2%gcc
oplsmxr	    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

gfyestl python@3.13.0%gcc
ewqc7cx	    bzip2@1.0.8%gcc
lljulvx		diffutils@3.10%gcc
hj6jtyr	    expat@2.6.4%gcc
hwya6i6		libbsd@0.12.2%gcc
qcfzttd		    libmd@1.0.4%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
jj2atvs	    gdbm@1.23%gcc
bexdfw2	    gettext@0.22.5%gcc
bsga3no		libiconv@1.17%gcc
wozcmyn		libxml2@2.13.4%gcc
mmv6i4n		tar@1.34%gcc
pcwnu2w		    pigz@2.8%gcc
t7h6imj		    zstd@1.5.6%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
ltl5sqy	    libffi@3.4.6%gcc
rvg7j6b	    ncurses@6.5%gcc
5gigqgw	    openssl@3.4.0%gcc
t2brqss		ca-certificates-mozilla@2023-05-30%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
oplsmxr	    pkgconf@2.2.0%gcc
aylebxv	    readline@8.2%gcc
ogdosm6	    sqlite@3.46.0%gcc
xesify5	    util-linux-uuid@2.40.2%gcc
2fvrfr6	    xz@5.4.6%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

aylebxv readline@8.2%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
rvg7j6b	    ncurses@6.5%gcc
oplsmxr		pkgconf@2.2.0%gcc

ogdosm6 sqlite@3.46.0%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
aylebxv	    readline@8.2%gcc
rvg7j6b		ncurses@6.5%gcc
oplsmxr		    pkgconf@2.2.0%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

mmv6i4n tar@1.34%gcc
ewqc7cx	    bzip2@1.0.8%gcc
lljulvx		diffutils@3.10%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
bsga3no	    libiconv@1.17%gcc
pcwnu2w	    pigz@2.8%gcc
fhud6vq		zlib-ng@2.2.1%gcc
2fvrfr6	    xz@5.4.6%gcc
t7h6imj	    zstd@1.5.6%gcc

imrm45j tcl@8.6.12%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
umrbkwv	    zlib-ng@2.0.7%gcc  cflags=-O3

w4gwr4e tcl@8.6.12%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
fhud6vq	    zlib-ng@2.2.1%gcc

xesify5 util-linux-uuid@2.40.2%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
oplsmxr	    pkgconf@2.2.0%gcc

vdnwjqe util-macros@1.20.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

2fvrfr6 xz@5.4.6%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

eogugqp yaksa@0.3%gcc
vgucajy	    autoconf@2.72%gcc
cwpt5ec		perl@5.40.0%gcc
cexlioh		    berkeley-db@18.1.40%gcc
awgfaon	    automake@1.16.5%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc
tt3byem	    libtool@2.4.7%gcc
2sbkhch		findutils@4.9.0%gcc
qaspjyq	    m4@1.4.19%gcc
lljulvx		diffutils@3.10%gcc
bsga3no		    libiconv@1.17%gcc
ea6qziv		libsigsegv@2.14%gcc
gfyestl	    python@3.13.0%gcc
ewqc7cx		bzip2@1.0.8%gcc
hj6jtyr		expat@2.6.4%gcc
hwya6i6		    libbsd@0.12.2%gcc
qcfzttd			libmd@1.0.4%gcc
jj2atvs		gdbm@1.23%gcc
bexdfw2		gettext@0.22.5%gcc
wozcmyn		    libxml2@2.13.4%gcc
mmv6i4n		    tar@1.34%gcc
pcwnu2w			pigz@2.8%gcc
t7h6imj			zstd@1.5.6%gcc
ltl5sqy		libffi@3.4.6%gcc
rvg7j6b		ncurses@6.5%gcc
5gigqgw		openssl@3.4.0%gcc
t2brqss		    ca-certificates-mozilla@2023-05-30%gcc
oplsmxr		pkgconf@2.2.0%gcc
aylebxv		readline@8.2%gcc
ogdosm6		sqlite@3.46.0%gcc
xesify5		util-linux-uuid@2.40.2%gcc
2fvrfr6		xz@5.4.6%gcc
fhud6vq		zlib-ng@2.2.1%gcc

ocxrmff zlib-ng@2.0.7%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

umrbkwv zlib-ng@2.0.7%gcc  cflags=-O3
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

fhud6vq zlib-ng@2.2.1%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

t7h6imj zstd@1.5.6%gcc
hshzy76	    gcc-runtime@11.4.0%gcc
a7drdl4	    glibc@2.35%gcc
srkzfjr	    gmake@4.4.1%gcc

==> 68 installed packages

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

$ spack graph hdf5+hl+mpi ^mpich
o hdf5@1.14.5/tgtmflo
|\
| |\
| | |\
| | | |\
| | | | |\
| | | | | |\
| | o | | | | mpich@4.2.3/cqazuix
| |/| | | | |
| | |\| | | |
| | |\ \ \ \ \
| | | |\ \ \ \ \
| | | | |\ \ \ \ \
| | | | | |\ \ \ \ \
| | | | | | |\ \ \ \ \
| | | | | | | |\ \ \ \ \
| | | | | | | | |_|/ / /
| | | | | | | |/| | | |
| | | | | | | | |\ \ \ \
| | | | | | | | | |_|/ /
| | | | | | | | |/| | |
| | o | | | | | | | | | yaksa@0.3/eogugqp
| | |\ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|_|_|_|/ /
| | | | | |/| | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|/ / / /
| | | | | | |/| | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|_|/ / /
| | | | | | | |/| | | | | | |
| | | | | | | | |\ \ \ \ \ \ \
| | o | | | | | | | | | | | | | python@3.13.0/gfyestl
| |/| | | | | | | | | | | | | |
|/|/| | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|/ / / / / / / / / / /
| | | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|/ / / / / / / / / /
| | | | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | |_|_|/ / / / / / / / /
| | | | | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | o | | | | | | | | | | | | | | | | | | | | | | util-linux-uuid@2.40.2/xesify5
| | |/| | | | | | | | | | | | | | | | | | | | | | |
| |/| | | | | | | | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|/ / / / / / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|/ / / / / / / / / / / / / / / /
| | | | |/| | | | | | | | | | | | | | | | | | | | |
| | | | | | |_|_|_|_|_|/ / / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | | | | |
| | | | | | o | | | | | | | | | | | | | | | | | | sqlite@3.46.0/ogdosm6
| |_|_|_|_|/| | | | | | | | | | | | | | | | | | |
|/| | | |_|/| | | | | | | | | | | | | | | | | | |
| | | |/| |/| | | | | | | | | | | | | | | | | | |
| | | | |/|/| | | | | | | | | | | | | | | | | | |
| | | | | | |/ / / / / / / / / / / / / / / / / /
| | | | | | | | | o | | | | | | | | | | | | | | libffi@3.4.6/ltl5sqy
| | | | |_|_|_|_|/| | | | | | | | | | | | | | |
| | | |/| |_|_|_|/| | | | | | | | | | | | | | |
| | | | |/| |_|_|/ / / / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | | |
| | | | | | | | | o | | | | | | | | | | | | | gettext@0.22.5/bexdfw2
| | | |_|_|_|_|_|/| | | | | | | | | | | | | |
| | |/| |_|_|_|_|/| | | | | | | | | | | | | |
| | | |/| |_|_|_|/| | | | | | | | | | | | | |
| | | | |/| |_|_|/| | | | | | | | | | | | | |
| | | | | |/| | |/| | | | | | | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|_|_|_|_|_|/ / / / / /
| | | | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |_|/ / / / / / / / / /
| | | | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | o | | | | | | | | | | | | | | tar@1.34/mmv6i4n
| | | |_|_|_|_|_|/| | | | | | | | | | | | | | |
| | |/| |_|_|_|_|/| | | | | | | | | | | | | | |
| | | |/| |_|_|_|/| | | | | | | | | | | | | | |
| | | | |/| |_|_|/| | | | | | | | | | | | | | |
| | | | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / / / / / / / / / /
| | | | | | | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | | | | | |/ / / / / / / / / / / / /
| | | | | | | | | o | | | | | | | | | | | | | | | zstd@1.5.6/t7h6imj
| | | | |_|_|_|_|/| | | | | | | | | | | | | | | |
| | | |/| |_|_|_|/| | | | | | | | | | | | | | | |
| | | | |/| |_|_|/ / / / / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | | o | | | | | | | | | | | | | | pigz@2.8/pcwnu2w
| |_|_|_|_|_|_|_|/| | | | | | | | | | | | | | |
|/| | | |_|_|_|_|/| | | | | | | | | | | | | | |
| | | |/| |_|_|_|/| | | | | | | | | | | | | | |
| | | | |/| |_|_|/ / / / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | o | | | | | | | | | expat@2.6.4/hj6jtyr
| | | | |_|_|_|_|_|_|_|_|/| | | | | | | | | |
| | | |/| |_|_|_|_|_|_|_|/| | | | | | | | | |
| | | | |/| |_|_|_|_|_|_|/| | | | | | | | | |
| | | | | |/| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | o | | | | | | | | | libbsd@0.12.2/hwya6i6
| | | | |_|_|_|_|_|_|_|_|/| | | | | | | | | |
| | | |/| |_|_|_|_|_|_|_|/| | | | | | | | | |
| | | | |/| |_|_|_|_|_|_|/| | | | | | | | | |
| | | | | |/| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | o | | | | | | | | | libmd@1.0.4/qcfzttd
| | | | |_|_|_|_|_|_|_|_|/| | | | | | | | | |
| | | |/| |_|_|_|_|_|_|_|/| | | | | | | | | |
| | | | |/| |_|_|_|_|_|_|/ / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | o | | | | | | | libtool@2.4.7/tt3byem
| | | | |_|_|_|_|_|_|_|_|_|/| | | | | | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | | | | | |
| | | | |/| |_|_|_|_|_|_|_|/| | | | | | | |
| | | | | |/| | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | |_|_|_|_|/ /
| | | | | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | | | o | | | | | automake@1.16.5/awgfaon
| | | | |_|_|_|_|_|_|_|_|_|_|/| | | | | |
| | | |/| |_|_|_|_|_|_|_|_|_|/| | | | | |
| | | | |/| |_|_|_|_|_|_|_|_|/| | | | | |
| | | | | |/| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |\| | | | |
| | | | | | | | | | | | | | | | o | | | | autoconf@2.72/vgucajy
| | | | |_|_|_|_|_|_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | | | |
| | | | | |/| | | | | | | | |_|/| | | | |
| | | | | | | | | | | | | |/| |/ / / / /
| | | | | | | | | | | | | o | | | | | | m4@1.4.19/qaspjyq
| | | | |_|_|_|_|_|_|_|_|/| | | | | | |
| | | |/| |_|_|_|_|_|_|_|/| | | | | | |
| | | | |/| |_|_|_|_|_|_|/| | | | | | |
| | | | | |/| | | | | | | | | | | | | |
| | | | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | | o | | | | | | | libsigsegv@2.14/ea6qziv
| | | | |_|_|_|_|_|_|_|_|/| | | | | | | |
| | | |/| |_|_|_|_|_|_|_|/| | | | | | | |
| | | | |/| |_|_|_|_|_|_|/ / / / / / / /
| | | | | |/| | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | o | | libfabric@1.22.0/lr77ky6
| | | | |_|_|_|_|_|_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|/| | |
| | | | |/| |_|_|_|_|_|_|_|_|_|_|/ / /
| | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | o | hwloc@2.11.1/fwtuzgp
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| |
| |/| | |_|_|_|_|_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|_|_|_|_|_|_|/| |
| | | | | |/| | | |_|_|_|_|_|_|_|/| |
| | | | | | | | |/| | | |_|_|_|_|/| |
| | | | | | | | | | | |/| | | | |/ /
| | | | | | | | | | | o | | | | | | libxml2@2.13.4/wozcmyn
| |_|_|_|_|_|_|_|_|_|/| | | | | | |
|/| |_|_|_|_|_|_|_|_|/| | | | | | |
| |/| |_|_|_|_|_|_|_|/| | | | | | |
| | |/| |_|_|_|_|_|_|/| | | | | | |
| | | |/| |_|_|_|_|_|/| | | | | | |
| | | | |/| |_|_|_|_|/| | | | | | |
| | | | | |/| | | | |/ / / / / / /
| | | | | | | | | |/| | | | | | |
| | o | | | | | | | | | | | | | | xz@5.4.6/2fvrfr6
| | |\| | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|/ / / / / / / / / / / / /
| | |/| | | | | | | | | | | | | |
| | | |/ / / / / / / / / / / / /
| | | | | | | | | | | | | | o | libpciaccess@0.17/omw5cc4
| | |_|_|_|_|_|_|_|_|_|_|_|/| |
| |/| |_|_|_|_|_|_|_|_|_|_|/| |
| | |/| |_|_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|_|/| |
| | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | | o | util-macros@1.20.1/vdnwjqe
| | | |_|_|_|_|_|_|_|_|_|_|/| |
| | |/| |_|_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|_|/ /
| | | | |/| | | | | | | | | |
| | | | | | | | | | | | o | | findutils@4.9.0/2sbkhch
| | | |_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|/ / /
| | | | |/| | | | | | | | |
| | | | | | | | | | | | | o cmake@3.30.5/d2nwbxl
| |_|_|_|_|_|_|_|_|_|_|_|/|
|/| | |_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|/|
| | | | |/| | | |_|_|_|_|/|
| | | | | | | |/| | | | | |
| | | | | | | | | | | | | o curl@8.10.1/fpywomo
| |_|_|_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|/|
| | | | |/| | |_|_|_|_|_|/|
| | | | | | |/| | | | | | |
| | | | | | o | | | | | | | openssl@3.4.0/5gigqgw
| |_|_|_|_|/| | | | | | | |
|/| | |_|_|/| | | | | | | |
| | |/| |_|/| | | | | | | |
| | | |/| |/| | | | | | | |
| | | | |/| | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|/ /
| | | | | | |/| | | | | | |
| | | | | | o | | | | | | | perl@5.40.0/cwpt5ec
| |_|_|_|_|/| | | | | | | |
|/| | |_|_|/| | | | | | | |
| | |/| |_|/| | | | | | | |
| | | |/| |/| | | | | | | |
| | | | |/| | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|/ / /
| | | | | | |/| | | | | | |
| | | | | | | |\ \ \ \ \ \ \
| | | | | | | | |_|_|_|/ / /
| | | | | | | |/| | | | | |
o | | | | | | | | | | | | | zlib-ng@2.2.1/fhud6vq
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| |_|_|_|/ / / / / / / / / /
|/| | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|/ / / / / / / / / / /
| |/| | | | | | | | | | | |
| | |/ / / / / / / / / / /
| | | | | o | | | | | | | gdbm@1.23/jj2atvs
| |_|_|_|/| | | | | | | |
|/| |_|_|/| | | | | | | |
| |/| |_|/| | | | | | | |
| | |/| |/ / / / / / / /
| | | | o | | | | | | | readline@8.2/aylebxv
| |_|_|/| | | | | | | |
|/| |_|/| | | | | | | |
| |/| |/| | | | | | | |
| | |/| | | | | | | | |
| | | | | |_|_|/ / / /
| | | | |/| | | | | |
| | | | o | | | | | | ncurses@6.5/rvg7j6b
| |_|_|/| | | | | | |
|/| |_|/| | | | | | |
| |/| |/| | | | | | |
| | |/|/ / / / / / /
| | | | o | | | | | bzip2@1.0.8/ewqc7cx
| |_|_|/| | | | | |
|/| |_|/| | | | | |
| |/| |/| | | | | |
| | |/| | | | | | |
| | | | | |_|_|/ /
| | | | |/| | | |
| | | | | o | | | berkeley-db@18.1.40/cexlioh
| |_|_|_|/| | | |
|/| |_|_|/| | | |
| |/| |_|/ / / /
| | |/| | | | |
| | | | | o | | ca-certificates-mozilla@2023-05-30/t2brqss
| | |_|_|/| | |
| |/| |_|/ / /
| | |/| | | |
| | | | | | o nghttp2@1.63.0/t2qkug7
| |_|_|_|_|/|
|/| |_|_|_|/|
| |/| |_|_|/|
| | |/| |_|/|
| | | |/| |/
| | | | |/|
| | | o | | pkgconf@2.2.0/oplsmxr
| |_|/| | |
|/| |/| | |
| |/|/ / /
| | | o | diffutils@3.10/lljulvx
| |_|/| |
|/| |/| |
| |/|/| |
| | | |/
| | | o libiconv@1.17/bsga3no
| |_|/|
|/| |/|
| |/|/
o | | gmake@4.4.1/srkzfjr
|\| |
| |/
|/|
o | gcc-runtime@11.4.0/hshzy76
|/
o glibc@2.35/a7drdl4

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-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxcrypt-4.4.35-v64tnmrjg7o5beyhae6x42vqlcxzdon6
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt
==> Installing openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm [11/30]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openblas-0.3.28/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm.spack
==> Extracting openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm from binary cache
==> openblas: Successfully installed openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm
  Search: 0.00s.  Fetch: 0.16s.	 Install: 1.03s.  Extract: 0.97s.  Relocate: 0.05s.  Total: 1.20s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/numactl-2.0.18-euqyy3hu6d7yiuf67q6xgmiwtlgfkanp
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libedit-3.1-20240808-nhrbcomj5lgnql2itckj7py3hi6wuz5d
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libevent-2.1.12-xbwxobi4cjizcuch7ukmi4igoosktbma
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pmix-5.0.3-5wqqmswtibbhuilr356mzviq4flzdc3z
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/krb5-1.21.3-pq3as37xnogsfkivav3r6phgtsuwhjlb
==> Installing kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw [27/30]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/kokkos-4.3.01/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw.spack
==> Extracting kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw from binary cache
==> kokkos: Successfully installed kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.16s.  Extract: 0.13s.  Relocate: 0.01s.  Total: 0.17s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssh-9.9p1-wz7w27t54u5lcphpvtwvv43vmhwmqwkn
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openmpi-5.0.5-jvwxvxe7dgexcutl2wtjaibbrnpys3ea
==> Installing trilinos-16.0.0-ney6hmmpufagz63vykeffmatlnyihzlq [30/30]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-16.0.0-ney6hmmpufagz63vykeffmatlnyihzlq.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-16.0.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-16.0.0-ney6hmmpufagz63vykeffmatlnyihzlq.spack
==> Extracting trilinos-16.0.0-ney6hmmpufagz63vykeffmatlnyihzlq from binary cache
==> trilinos: Successfully installed trilinos-16.0.0-ney6hmmpufagz63vykeffmatlnyihzlq
  Search: 0.00s.  Fetch: 0.03s.	 Install: 2.67s.  Extract: 2.24s.  Relocate: 0.40s.  Total: 2.70s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-16.0.0-ney6hmmpufagz63vykeffmatlnyihzlq

Now we’re starting to see the power of Spack. Trilinos in its default configuration has 23 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-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/nghttp2-1.63.0-t2qkug7u7irxunnirgisvdu4mdoerrxt
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/kokkos-4.3.01-nxt5zthcpfy5k52tm7ia2g64avvziltw
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libpciaccess-0.17-omw5cc44g5qrphf7aqyjpdpmw2b3tr4i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pkgconf-2.2.0-oplsmxryrcg6ackisqtpszdarzch6a6t
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/yaksa-0.3-eogugqp4p6rmv7uuuyc222ae6327j2cn
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libfabric-1.22.0-lr77ky6sw7xcwn6nz6i3zs4gwun5rshz
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openblas-0.3.28-w2fghghowf7wdz5fyl6sjqfdp232uksm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/openssl-3.4.0-5gigqgwld4jgaxb46pzeavxuicamdgvw
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/curl-8.10.1-fpywomo74ruadasuelzpvql7zj6rufeo
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hwloc-2.11.1-fwtuzgpmp2dy3udiekh6nwnbcld22kmk
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/cmake-3.30.5-d2nwbxlz2qe2hqu7yy4v6vlgiz6qihwj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpich-4.2.3-cqazuix44irmawg3ifmyqvnaeb2t5vi5
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph
==> Installing trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e [22/22]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-16.0.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e.spack
==> Extracting trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e from binary cache
==> trilinos: Successfully installed trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e
  Search: 0.00s.  Fetch: 0.17s.	 Install: 2.68s.  Extract: 2.27s.  Relocate: 0.39s.  Total: 2.86s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e

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

$ spack find -d trilinos
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
trilinos@16.0.0
    cmake@3.30.5
	curl@8.10.1
	    nghttp2@1.63.0
		diffutils@3.10
	    openssl@3.4.0
		ca-certificates-mozilla@2023-05-30
	ncurses@6.5
	zlib-ng@2.2.1
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    hwloc@2.11.1
	libpciaccess@0.17
	    util-macros@1.20.1
	libxml2@2.13.4
	    libiconv@1.17
	    xz@5.4.6
	pkgconf@2.2.0
    kokkos@4.3.01
    openblas@0.3.28
    openmpi@5.0.5
	autoconf@2.72
	    m4@1.4.19
		libsigsegv@2.14
	automake@1.16.5
	libevent@2.1.12
	libtool@2.4.7
	    findutils@4.9.0
	numactl@2.0.18
	openssh@9.9p1
	    krb5@1.21.3
		bison@3.8.2
		gettext@0.22.5
		    tar@1.34
			pigz@2.8
			zstd@1.5.6
	    libedit@3.1-20240808
	    libxcrypt@4.4.35
	perl@5.40.0
	    berkeley-db@18.1.40
	    bzip2@1.0.8
	    gdbm@1.23
		readline@8.2
	pmix@5.0.3

trilinos@16.0.0
    cmake@3.30.5
	curl@8.10.1
	    nghttp2@1.63.0
		diffutils@3.10
	    openssl@3.4.0
		ca-certificates-mozilla@2023-05-30
		perl@5.40.0
		    berkeley-db@18.1.40
	ncurses@6.5
	zlib-ng@2.2.1
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    hdf5@1.14.5
	pkgconf@2.2.0
    hwloc@2.11.1
	libpciaccess@0.17
	    util-macros@1.20.1
	libxml2@2.13.4
	    libiconv@1.17
	    xz@5.4.6
    kokkos@4.3.01
    mpich@4.2.3
	findutils@4.9.0
	libfabric@1.22.0
	yaksa@0.3
	    autoconf@2.72
	    automake@1.16.5
	    libtool@2.4.7
	    m4@1.4.19
		libsigsegv@2.14
	    python@3.13.0
		bzip2@1.0.8
		expat@2.6.4
		    libbsd@0.12.2
			libmd@1.0.4
		gdbm@1.23
		gettext@0.22.5
		    tar@1.34
			pigz@2.8
			zstd@1.5.6
		libffi@3.4.6
		readline@8.2
		sqlite@3.46.0
		util-linux-uuid@2.40.2
    openblas@0.3.28

==> 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.0.0/ney6hmm
|\
| |\
| | |\
| | | |\
| | | | |\
| | | | | |\
| | | | | | |\
o | | | | | | | openmpi@5.0.5/jvwxvxe
|\ \ \ \ \ \ \ \
| |\ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | |_|_|/ / / / /
| | | | | | | | |/| | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | |_|_|/ / / /
| | | | | | | | | |/| | | | | |
| | | | | | | | | | |\ \ \ \ \ \
| | | | | | | | | | | |_|_|/ / /
| | | | | | | | | | |/| | | | |
| | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | |_|_|/ /
| | | | | | | | | | | |/| | | |
| | | | | | | | | | | | |\ \ \ \
| o | | | | | | | | | | | | | | | pmix@5.0.3/5wqqmsw
|/| | | | | | | | | | | | | | | |
| |\| | | | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|/ / / / / / / / / /
| |/| | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|/ / / / / / / / /
| | |/| | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|/ / / / / / / /
| | | |/| | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|/ / / / / / /
| | | | |/| | | | | | | | | | | |
| | | | | | |_|_|_|/ / / / / / /
| | | | | |/| | | | | | | | | |
| | | | | | | | o | | | | | | | openssh@9.9p1/wz7w27t
| |_|_|_|_|_|_|/| | | | | | | |
|/| | | |_|_|_|/| | | | | | | |
| | | |/| |_|_|/| | | | | | | |
| | | | |/| |_|/| | | | | | | |
| | | | | |/| | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | o | | | | | | | | | libxcrypt@4.4.35/v64tnmr
| | | | |_|_|_|_|_|/| | | | | | | | | |
| | | |/| |_|_|_|_|/| | | | | | | | | |
| | | | |/| |_|_|_|/| | | | | | | | | |
| | | | | |/| | |_|/ / / / / / / / / /
| | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | o | | | | | | | | libedit@3.1-20240808/nhrbcom
| | | | |_|_|_|_|_|/| | | | | | | | |
| | | |/| |_|_|_|_|/| | | | | | | | |
| | | | |/| |_|_|_|/| | | | | | | | |
| | | | | |/| |_|_|/| | | | | | | | |
| | | | | | |/| | |/ / / / / / / / /
| | | | | | | | | | o | | | | | | | krb5@1.21.3/pq3as37
| | | | |_|_|_|_|_|/| | | | | | | |
| | | |/| |_|_|_|_|/| | | | | | | |
| | | | |/| |_|_|_|/| | | | | | | |
| | | | | |/| |_|_|/| | | | | | | |
| | | | | | |/| |_|/| | | | | | | |
| | | | | | | |/| |/| | | | | | | |
| | | | | | | | |/| | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | o | | | | | | | | | | gettext@0.22.5/bexdfw2
| | | | |_|_|_|_|_|/| | | | | | | | | | |
| | | |/| |_|_|_|_|/| | | | | | | | | | |
| | | | |/| |_|_|_|/| | | | | | | | | | |
| | | | | |/| | | |/| | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | o | | | | | | | | | | | | | tar@1.34/mmv6i4n
| | | | |_|_|_|_|_|_|/| | | | | | | | | | | | | |
| | | |/| |_|_|_|_|_|/| | | | | | | | | | | | | |
| | | | |/| |_|_|_|_|/| | | | | | | | | | | | | |
| | | | | |/| | | | |/| | | | | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | | |_|/ / / / / / / / / / / /
| | | | | | | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | | | |/ / / / / / / / / / / /
| | | | | | | | | | | o | | | | | | | | | | | | | | zstd@1.5.6/t7h6imj
| | | | |_|_|_|_|_|_|/| | | | | | | | | | | | | | |
| | | |/| |_|_|_|_|_|/| | | | | | | | | | | | | | |
| | | | |/| |_|_|_|_|/ / / / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | o | | | | | | | | | | | | | pigz@2.8/pcwnu2w
| |_|_|_|_|_|_|_|_|_|/| | | | | | | | | | | | | |
|/| | | |_|_|_|_|_|_|/| | | | | | | | | | | | | |
| | | |/| |_|_|_|_|_|/| | | | | | | | | | | | | |
| | | | |/| |_|_|_|_|/ / / / / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | o | | | | | | | bison@3.8.2/sllhx5n
| | | | |_|_|_|_|_|_|_|_|_|_|_|/| | | | | | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | | | | | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | | | | | | |
| | | | | |/| | | | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | | | o | | | | | | numactl@2.0.18/euqyy3h
| | | | |_|_|_|_|_|_|_|_|_|_|_|_|/| | | | | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|/| | | | | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|_|/| | | | | | |
| | | | | |/| | | | | | | | | | |/| | | | | | |
| | | | | | | | | | | | | | | | | |\| | | | | |
| | | | | | | | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | | | | | | | |_|/ / / / /
| | | | | | | | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | | | | | | |/ / / / /
| | | | | | | | | | | | | | | | | | | o | | | libtool@2.4.7/tt3byem
| | | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | | | | |/| | | | | | | | | |_|_|_|/| | | |
| | | | | | | | | | | | | | |/| | |_|/ / / /
| | | | | | | | | | | | | | | | |/| | | | |
| | | | | | | | | | | | | | o | | | | | | | findutils@4.9.0/2sbkhch
| | | | |_|_|_|_|_|_|_|_|_|/| | | | | | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | | | | | |
| | | | |/| |_|_|_|_|_|_|_|/ / / / / / / /
| | | | | |/| | | | | | | | | | | | | | |
| o | | | | | | | | | | | | | | | | | | | libevent@2.1.12/xbwxobi
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|/ / / / / / / / / / / / /
| |/| | | | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|/ / / / / / / / / / / / / / / / /
| | |/| | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | |/ / / / / / / / / / / / / / / /
| | | | | | | | | | | | | | | o | | | | automake@1.16.5/awgfaon
| | | |_|_|_|_|_|_|_|_|_|_|_|/| | | | |
| | |/| |_|_|_|_|_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|_|_|_|_|/| | | | |
| | | | |/| | | |_|_|_|_|_|_|/| | | | |
| | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | | |/ / / /
| | | | | | | | | | | | | | | o | | | autoconf@2.72/vgucajy
| | | |_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | | |/| | | |_|_|_|_|_|_|/| | | |
| | | | | | | |/| | | | | | |/ / / /
| | | | | | | | | | | | | | o | | | m4@1.4.19/qaspjyq
| | | |_|_|_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | |
| | | | |/| | | | | | | | |/| | | |
| | | | | | | | | | | | | | o | | | libsigsegv@2.14/ea6qziv
| | | |_|_|_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|/ / / /
| | | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | o | | openblas@0.3.28/w2fghgh
| | | |_|_|_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|_|_|/ / /
| | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | | o | kokkos@4.3.01/nxt5zth
| | | |_|_|_|_|_|_|_|_|_|_|/| |
| | |/| |_|_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|_|/| |
| | | | |/| | | | | | | | | | |
| | | | | | | | | | | | | | |/
| | | | | o | | | | | | | | | hwloc@2.11.1/fwtuzgp
| | | |_|/| | | | | | | | | |
| | |/| |/| | | | | | | | | |
| | | |/|/| | | | | | | | | |
| | | | | |\| | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|/ / / / / / /
| | | | | |/| | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|/ / /
| | | | | | |/| | | | | | | |
| | | | | | o | | | | | | | | libxml2@2.13.4/wozcmyn
| |_|_|_|_|/| | | | | | | | |
|/| | |_|_|/| | | | | | | | |
| | |/| |_|/| | | | | | | | |
| | | |/| |/| | | | | | | | |
| | | | |/| | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|/ / / / /
| | | | | | |/| | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | |_|/ / / / / /
| | | | | | | |/| | | | | | |
| | | | | | | | | |/ / / / /
| | | | | | | | |/| | | | |
| | | | | | o | | | | | | | xz@5.4.6/2fvrfr6
| | | |_|_|/| | | | | | | |
| | |/| |_|/| | | | | | | |
| | | |/| |/ / / / / / / /
| | | | |/| | | | | | | |
| | | | | | | | o | | | | libpciaccess@0.17/omw5cc4
| | | |_|_|_|_|/| | | | |
| | |/| |_|_|_|/| | | | |
| | | |/| |_|_|/| | | | |
| | | | |/| | |/| | | | |
| | | | | | |/| | | | | |
| | | | | | | | o | | | | util-macros@1.20.1/vdnwjqe
| | | |_|_|_|_|/| | | | |
| | |/| |_|_|_|/| | | | |
| | | |/| |_|_|/ / / / /
| | | | |/| | | | | | |
| | | | | | | | | | | o cmake@3.30.5/d2nwbxl
| |_|_|_|_|_|_|_|_|_|/|
|/| | |_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|/|
| | | | |/| |_|_|_|_|/|
| | | | | |/| | | | | |
| | | | | | | | | | | o curl@8.10.1/fpywomo
| |_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|/|
| | | | |/| | |_|_|_|/|
| | | | | | |/| | | | |
| o | | | | | | | | | | openssl@3.4.0/5gigqgw
|/| | | | | | | | | | |
| |\| | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|/ / / /
| |/| | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \
| | | |_|/ / / / / / / /
| | |/| | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / /
| | | |/| | | | | | | |
| o | | | | | | | | | | perl@5.40.0/cwpt5ec
|/| | | | | | | | | | |
| |\| | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|/ / / / / / /
| |/| | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / /
| | | |/| | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|/ / /
| | | | |/| | | | | | | |
o | | | | | | | | | | | | zlib-ng@2.2.1/fhud6vq
|\| | | | | | | | | | | |
|\ \ \ \ \ \ \ \ \ \ \ \ \
| |_|_|_|_|_|/ / / / / / /
|/| | | | | | | | | | | |
| | |/ / / / / / / / / /
| |/| | | | | | | | | |
| | | o | | | | | | | | gdbm@1.23/jj2atvs
| |_|/| | | | | | | | |
|/| |/| | | | | | | | |
| |/|/| | | | | | | | |
| | | o | | | | | | | | readline@8.2/aylebxv
| |_|/| | | | | | | | |
|/| |/| | | | | | | | |
| |/|/| | | | | | | | |
| | | | |_|_|/ / / / /
| | | |/| | | | | | |
| | | o | | | | | | | ncurses@6.5/rvg7j6b
| |_|/| | | | | | | |
|/| |/| | | | | | | |
| |/|/| | | | | | | |
| | | | |_|_|/ / / /
| | | |/| | | | | |
| | | | o | | | | | bzip2@1.0.8/ewqc7cx
| |_|_|/| | | | | |
|/| |_|/| | | | | |
| |/| |/| | | | | |
| | |/| | | | | | |
| | | | | |_|_|/ /
| | | | |/| | | |
| | | | | o | | | berkeley-db@18.1.40/cexlioh
| |_|_|_|/| | | |
|/| |_|_|/| | | |
| |/| |_|/ / / /
| | |/| | | | |
| | | | | o | | ca-certificates-mozilla@2023-05-30/t2brqss
| |_|_|_|/| | |
|/| |_|_|/ / /
| |/| | | | |
| | | | | | o nghttp2@1.63.0/t2qkug7
| |_|_|_|_|/|
|/| |_|_|_|/|
| |/| |_|_|/|
| | |/| |_|/|
| | | |/| |/
| | | | |/|
| | | o | | pkgconf@2.2.0/oplsmxr
| |_|/| | |
|/| |/| | |
| |/|/ / /
| | | o | diffutils@3.10/lljulvx
| |_|/| |
|/| |/| |
| |/|/| |
| | | |/
| | | o libiconv@1.17/bsga3no
| |_|/|
|/| |/|
| |/|/
| | o gmake@4.4.1/srkzfjr
| |/|
|/|/
| o gcc-runtime@11.4.0/hshzy76
|/
o glibc@2.35/a7drdl4

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

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

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

Uninstalling Packages

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

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


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

tcl@8.6.12
    gcc-runtime@11.4.0
    glibc@2.35
    gmake@4.4.1
    zlib-ng@2.2.1

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

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

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

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

$ spack uninstall -y zlib-ng %gcc@10
==> Successfully uninstalled zlib-ng@2.2.1%gcc@10.5.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/aiapvpp
$ spack find -lf zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
ju7mdbp zlib-ng@2.0.7%clang  jjykcjt zlib-ng@2.2.1%clang

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
ocxrmff zlib-ng@2.0.7%gcc  umrbkwv zlib-ng@2.0.7%gcc  cflags=-O3  fhud6vq zlib-ng@2.2.1%gcc
==> 5 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/ju7
==> Refusing to uninstall the following specs
    -- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
    ju7mdbp zlib-ng@2.0.7

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

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

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 / gcc@11.4.0 ---------------------
    ney6hmm trilinos@16.0.0  63sfm7p trilinos@16.0.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 /ney
y
    -- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
    ney6hmm trilinos@16.0.0

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

Advanced spack find Usage

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

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

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

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

$ spack find -px
-- linux-ubuntu22.04-x86_64_v3 / clang@14.0.0 -------------------
zlib-ng@2.2.1  /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/clang-14.0.0/zlib-ng-2.2.1-jjykcjtfyoezsckykaklun6a75bzd24o

-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
gmake@4.4.1	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
hdf5@1.14.5	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-ckoh67fpzb5gn7mti2xzruvlxd424par
hdf5@1.14.5	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-6ddnwvambfcyhhhs7ehog6gkftrkljnt
hdf5@1.14.5	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/hdf5-1.14.5-tgtmflo4s6hqenvkle7urqiz2w6rumph
tcl@8.6.12	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-imrm45j44xmboxdqpj7akq2lwkwza4vo
tcl@8.6.12	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tcl-8.6.12-w4gwr4ezmenbvt7u5zdyjdkfzapsz5lt
trilinos@16.0.0	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/trilinos-16.0.0-63sfm7p6vebucsnbmwfnx36hiyal7e3e
zlib-ng@2.0.7	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-ocxrmffc7qnibijshhygluei5qiycvja
zlib-ng@2.0.7	 /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.0.7-umrbkwvnydtpljzy4isoednibe4mwcvz
==> 10 installed packages

Customizing Compilers

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

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

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

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

$ spack install gcc@12
[+] /usr (external glibc-2.35-a7drdl4tlx4bu3mzhor75pskvd3pdot6)
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-runtime-11.4.0-hshzy762rns57ibvxiyi3qqvc4nehse2
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/bzip2-1.0.8-ewqc7cx44b63asa742p2asywp2k6rfto
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmake-4.4.1-srkzfjru5z55bl5gy24dbjsrvqwg5fom
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/berkeley-db-18.1.40-cexliohp6aqckxeq4bqy5wrmxzyrfzqc
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zlib-ng-2.2.1-fhud6vqkh7jaesckalgqg5xxml72in6i
==> Installing autoconf-archive-2023.02.20-6s34ic3cjaoon3tvofqo6dnphpkajulr [7/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-archive-2023.02.20-6s34ic3cjaoon3tvofqo6dnphpkajulr.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-archive-2023.02.20/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-autoconf-archive-2023.02.20-6s34ic3cjaoon3tvofqo6dnphpkajulr.spack
==> Extracting autoconf-archive-2023.02.20-6s34ic3cjaoon3tvofqo6dnphpkajulr from binary cache
==> autoconf-archive: Successfully installed autoconf-archive-2023.02.20-6s34ic3cjaoon3tvofqo6dnphpkajulr
  Search: 0.00s.  Fetch: 0.15s.	 Install: 0.16s.  Extract: 0.14s.  Relocate: 0.01s.  Total: 0.31s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-archive-2023.02.20-6s34ic3cjaoon3tvofqo6dnphpkajulr
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/xz-5.4.6-2fvrfr67ahyx5vqg6hyd3dachcl3nl2k
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libiconv-1.17-bsga3novxptycgb4bpv4mldtq3f5m7mj
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/findutils-4.9.0-2sbkhchnzzj4a43ykj5jkwctwjc6b7lm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/ncurses-6.5-rvg7j6bmergf3is4yoacm5sgsi7l4tvm
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libsigsegv-2.14-ea6qziv7obmf5fq3mxy42rhxptoiwfb6
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/zstd-1.5.6-t7h6imj35ruac562vr7snzvli2h2tzup
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/pigz-2.8-pcwnu2wfae7nfv5isb3kcl7otav2m5zy
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libxml2-2.13.4-wozcmyn2bivorr7geiwavaqeosmwmaow
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/diffutils-3.10-lljulvxt5hdzi6al6xrljyx6i4qyanu4
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/libtool-2.4.7-tt3byemiknxgeuaadpxrltepvic7xsms
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/readline-8.2-aylebxvheua4djgtfzzqi2ialcjt5mw7
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/tar-1.34-mmv6i4naeg746pk2xpypdpejwvypmegb
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/m4-1.4.19-qaspjyq5yqcso6yatgyhvm7j632ez7md
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gdbm-1.23-jj2atvsdprz6qvh2n43326zfxv42iw7n
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gettext-0.22.5-bexdfw2vfc64r6u72mqestm6olahfr6e
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/perl-5.40.0-cwpt5ec6gcal6ftcrrxcecnt74fdjfhi
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/autoconf-2.72-vgucajy3lkmspohhktsvmzgzttgzwqnw
==> Installing texinfo-7.1-ljsbwjcqdljqyti3tpb2xx5keapatoul [25/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-texinfo-7.1-ljsbwjcqdljqyti3tpb2xx5keapatoul.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/texinfo-7.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-texinfo-7.1-ljsbwjcqdljqyti3tpb2xx5keapatoul.spack
==> Extracting texinfo-7.1-ljsbwjcqdljqyti3tpb2xx5keapatoul from binary cache
==> texinfo: Successfully installed texinfo-7.1-ljsbwjcqdljqyti3tpb2xx5keapatoul
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.27s.  Extract: 0.21s.  Relocate: 0.05s.  Total: 0.29s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/texinfo-7.1-ljsbwjcqdljqyti3tpb2xx5keapatoul
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/automake-1.16.5-awgfaon3dsdj54pighglmrv7gnex7jko
==> Installing gmp-6.3.0-5webgyazi3rpemdmmhbip4glviaeet2l [27/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmp-6.3.0-5webgyazi3rpemdmmhbip4glviaeet2l.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.3.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gmp-6.3.0-5webgyazi3rpemdmmhbip4glviaeet2l.spack
==> Extracting gmp-6.3.0-5webgyazi3rpemdmmhbip4glviaeet2l from binary cache
==> gmp: Successfully installed gmp-6.3.0-5webgyazi3rpemdmmhbip4glviaeet2l
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.07s.  Extract: 0.05s.  Relocate: 0.01s.  Total: 0.08s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gmp-6.3.0-5webgyazi3rpemdmmhbip4glviaeet2l
==> Installing mpfr-4.2.1-mdfsfjykvyaknc5yzul4l25aip3rugoe [28/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpfr-4.2.1-mdfsfjykvyaknc5yzul4l25aip3rugoe.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpfr-4.2.1-mdfsfjykvyaknc5yzul4l25aip3rugoe.spack
==> Extracting mpfr-4.2.1-mdfsfjykvyaknc5yzul4l25aip3rugoe from binary cache
==> mpfr: Successfully installed mpfr-4.2.1-mdfsfjykvyaknc5yzul4l25aip3rugoe
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.15s.  Extract: 0.12s.  Relocate: 0.01s.  Total: 0.16s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpfr-4.2.1-mdfsfjykvyaknc5yzul4l25aip3rugoe
==> Installing gawk-5.3.1-x6mwj3lnzliwyh2vdqgibweodb3xdisw [29/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gawk-5.3.1-x6mwj3lnzliwyh2vdqgibweodb3xdisw.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gawk-5.3.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gawk-5.3.1-x6mwj3lnzliwyh2vdqgibweodb3xdisw.spack
==> Extracting gawk-5.3.1-x6mwj3lnzliwyh2vdqgibweodb3xdisw from binary cache
==> gawk: Successfully installed gawk-5.3.1-x6mwj3lnzliwyh2vdqgibweodb3xdisw
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.15s.  Extract: 0.10s.  Relocate: 0.03s.  Total: 0.15s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gawk-5.3.1-x6mwj3lnzliwyh2vdqgibweodb3xdisw
==> Installing mpc-1.3.1-qoauga4bfx37v3lynpeoi4rcy2nw2ek5 [30/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpc-1.3.1-qoauga4bfx37v3lynpeoi4rcy2nw2ek5.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpc-1.3.1/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-mpc-1.3.1-qoauga4bfx37v3lynpeoi4rcy2nw2ek5.spack
==> Extracting mpc-1.3.1-qoauga4bfx37v3lynpeoi4rcy2nw2ek5 from binary cache
==> mpc: Successfully installed mpc-1.3.1-qoauga4bfx37v3lynpeoi4rcy2nw2ek5
  Search: 0.00s.  Fetch: 0.01s.	 Install: 0.06s.  Extract: 0.03s.  Relocate: 0.02s.  Total: 0.07s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/mpc-1.3.1-qoauga4bfx37v3lynpeoi4rcy2nw2ek5
==> Installing gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q [31/31]
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q.spec.json.sig
==> Fetching file:///mirror/build_cache/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0/linux-ubuntu22.04-x86_64_v3-gcc-11.4.0-gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q.spack
==> Extracting gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q from binary cache
==> Wrote new spec file to /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q/lib/gcc/x86_64-pc-linux-gnu/12.3.0/specs
==> gcc: Successfully installed gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q
  Search: 0.00s.  Fetch: 0.40s.	 Install: 21.11s.  Extract: 19.73s.  Relocate: 1.34s.  Total: 21.52s
[+] /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q
$ spack find -p gcc
-- linux-ubuntu22.04-x86_64_v3 / gcc@11.4.0 ---------------------
gcc@12.3.0  /home/spack5/spack/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-11.4.0/gcc-12.3.0-jjgfqpdmihb2cq5ca7txia5oshruq56q
==> 1 installed package

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

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

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

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

Tip

Starting from Spack v1.0 it will be no longer necessary to add a Spack installed compilers to configuration, in order to use them.

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