Basic Installation Tutorial¶
This tutorial will provide a step-by-step guide for installing software with Spack.
We will begin by introducing the spack install command, highlighting the versatility of Spack’s spec syntax and the flexibility it offers users.
Next, we will demonstrate how to use the spack find command to view installed packages, as well as the spack uninstall command to remove them.
Additionally, we will discuss how Spack manages compilers, with a particular focus on using Spack-built compilers within the Spack environment. Throughout the tutorial, we will present complete command outputs; however, we will often emphasize only the most relevant sections or simply confirm successful execution. All examples and outputs are based on an Ubuntu 22.04 Docker image.
Installing Spack¶
Spack is ready to use immediately after installation. To get started, we simply clone the Spack repository and check out the latest release, v1.0.
$ git clone --depth=2 --branch=releases/v1.0 https://github.com/spack/spack.git ~/spack
Cloning into '/home/spack/spack'...
remote: Enumerating objects: 2294, done.K
remote: Counting objects: 100% (2294/2294), done.K
remote: Compressing objects: 100% (1547/1547), done.K
remote:nTotale2294 (delta2305),2reused 1263 (delta 235), pack-reused 0 (from 0)K
Receiving objects: 100% (2294/2294), 5.29 MiB | 13.06 MiB/s, done.
Resolving deltas: 100% (305/305), done.
$ cd ~/spack
Next, we’ll add Spack to our path.
Spack has some nice command line integration tools, so instead of simply prepending to our PATH variable, we’ll source the Spack setup script.
$ . share/spack/setup-env.sh
For this tutorial we’ll also pin the packages repository to 2025.07.0 to make use of the binary caches later on by running:
$ spack repo update builtin --tag v2025.07.0
remote: Enumerating objects: 22240, done.K
remote: Counting objects: 100% (22240/22240), done.K
remote: Compressing objects: 100% (11482/11482), done.K
remote: Total 22240 (delta 3188), reused 15856 (delta 2175), pack-reused 0 (from 0)K
Note: switching to 'v2025.07.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 4b8bb351 turn off all hipblaslt dependents
==> builtin: Updated sucessfully.
And now we’re good to go!
What is in Spack?¶
The spack list command shows available packages.
$ spack list
3dtk
3proxy
7zip
abacus
abduco
The spack list command can also take a query string.
Spack automatically adds wildcards to both ends of the string, or we can add our own wildcards for more advanced searches.
For example, let’s view all available Python packages.
$ spack list 'py-*'
py-3to2 py-multi-imbalance
py-4suite-xml py-multi-key-dict
py-a2wsgi py-multidict
py-abcpy py-multiecho
py-abipy py-multipledispatch
Installing Packages¶
Installing a package with Spack is very simple. To install a software package, type:
$ spack install <package_name>
Let’s go ahead and install gmake,
$ spack install gmake
==> Compilers have been configured automatically from PATH inspection
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
==> No binary for compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee found: installing from source
==> Installing compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee [3/5]
==> Fetching https://mirror.spack.io/_source-cache/archive/c6/c65a9d2b2d4eef67ab5cb0684d706bb9f005bb2be94f53d82683d7055bdb837c
[100%] 30.23 KB @ 44.7 MB/s
==> No patches needed for compiler-wrapper
==> compiler-wrapper: Executing phase: 'install'
==> compiler-wrapper: Successfully installed compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
Stage: 0.21s. Install: 0.00s. Post-install: 0.01s. Total: 0.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
==> No binary for gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr found: installing from source
==> Installing gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr [4/5]
==> No patches needed for gcc-runtime
==> gcc-runtime: Executing phase: 'install'
==> gcc-runtime: Successfully installed gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
Stage: 0.00s. Install: 0.05s. Post-install: 0.03s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
==> No binary for gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g found: installing from source
==> Installing gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g [5/5]
==> Fetching https://mirror.spack.io/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
[100%] 62.35 MB @ 44.6 MB/s
==> No patches needed for gmake
==> gmake: Executing phase: 'install'
==> gmake: Successfully installed gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
Stage: 0.29s. Install: 11.11s. Post-install: 0.01s. Total: 11.43s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
You will see Spack installed gmake, gcc, gcc-runtime, and glibc.
The glibc and gcc-runtime packages are automatically tracked by Spack to manage consistency requirements among compiler runtimes.
These do not represent separate software builds from source, but are records of the compiler runtime components Spack used for the install.
For the rest of this section, we’ll ignore these components and focus on the packages explicitly installed and their listed dependencies.
The gcc package was found on the system and Spack used it because gmake requires a compiler to build from source.
Compilers are handled somewhat specially in Spack; Spack searches the PATH environment variable for compilers automatically.
We can run spack compiler list or simply spack compilers to show all the compilers Spack found.
$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e] gcc@11.4.0 [e] gcc@10.5.0
-- llvm ubuntu22.04-x86_64 --------------------------------------
[e] llvm@14.0.0
All compilers that Spack found will be configured as external packages – we’ll talk more about externals in the “Spack Concepts” slides and in Configuration Tutorial later on.
Spack can install software either from source or from a binary cache. Packages in the binary cache are signed with GPG for security. For this tutorial we have prepared a binary cache so we don’t have to wait for slow compilation from source. To enable installation from the binary cache, we’ll need to configure Spack with the location of the cache and trust the GPG key that the binaries were signed with.
$ spack mirror add tutorial /mirror
$ spack buildcache keys --install --trust
==> Fetching file:///mirror/blobs/sha256/6b/6b5ff21385a794d73d6ddc75f6d83b3ae0df13ed5aa924c0cb186486782d0bdb
[100%] 56.00 B @ 368.2 KB/s
==> Fetching file:///mirror/blobs/sha256/e4/e483cfc4f0347deafe6cac7dee98a92056531d66efb863d745da7f6161ece414
[100%] 1.68 KB @ 12.4 MB/s
gpg: key 6CB926D3D65DAD54: public key "Spack Developers (GPG created for Spack) <spackbot@spack.io>" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: inserting ownertrust of 6
We’ll learn more about configuring Spack later in the tutorial, but for now we can install the rest of the packages in the tutorial from the cache using the same spack install command.
By default, this will install the binary cached version if it exists and fall back to installing the package from source if it does not.
Now that we understand how Spack handles installations, let’s explore how we can customize what gets installed.
Spack’s “spec” syntax is the interface by which we can request specific configurations of a package.
The % sigil is used to specify direct dependencies like a package’s compiler.
For example, we can install zlib (a commonly used compression library), but instead of building it with the GCC compiler as we did for gmake previously, we’ll install it with %clang to build it with the clang compiler.
$ spack install zlib-ng %clang
==> Fetching file:///mirror/blobs/sha256/c4/c4b11cd40034b34f52272a3f0fdcaf267f44f5548940861bfb4d1a2f5d09415f
[100%] 334.82 KB @ 594.1 MB/s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external llvm-14.0.0-oc4qy2fa3ev6uf3hrf5khutfgs6ogkup)
==> Fetching file:///mirror/blobs/sha256/16/1657d5838e6a75a98841136715f6be66608f9af950e292ccb2df9de5f395f069
[100%] 359.81 KB @ 528.2 MB/s
==> Extracting gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n from binary cache
==> gmake: Successfully installed gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
Search: 0.00s. Fetch: 0.11s. Install: 0.05s. Extract: 0.05s. Relocate: 0.01s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
==> Installing gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n [4/5]
==> Fetching file:///mirror/blobs/sha256/a0/a09307053c27c996ebdecea3325064ee7123b8880d87b0bb9117ce03289e5d36
[100%] 237.49 KB @ 558.4 MB/s
==> Extracting zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf
Search: 0.00s. Fetch: 0.01s. Install: 0.02s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf
==> Installing zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf [5/5]
Notice that this installation is located separately from the previous one. We’ll explore this concept in more detail later, but this separation is fundamental to how Spack supports multiple configurations and versions of software packages simultaneously.
Now that we’ve seen how Spack handles separate installations, let’s explore this capability by installing multiple versions of the same package.
Before we install additional versions, we can check the versions available to us using the spack versions command.
Let’s check what versions of zlib-ng are available, and then we’ll install a different version to demonstrate Spack’s flexibility in managing multiple package versions.
$ spack versions zlib-ng
==> Safe versions (already checksummed):
2.2.4 2.2.3 2.2.2 2.2.1 2.1.7 2.1.6 2.1.5 2.1.4 2.0.7 2.0.0
==> Remote versions (not yet checksummed):
2.2.0 2.1.8
The @ sigil is used to specify versions.
$ spack install zlib-ng@2.0.7
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external llvm-14.0.0-oc4qy2fa3ev6uf3hrf5khutfgs6ogkup)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
==> Fetching file:///mirror/blobs/sha256/5a/5ac9321182ab0e8b90eccfe3fdbadfa94a23eac2e0a499911d2b8153badb72ce
[100%] 194.02 KB @ 468.2 MB/s
==> Extracting zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a
Search: 0.00s. Fetch: 0.10s. Install: 0.05s. Extract: 0.04s. Relocate: 0.00s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a
==> Installing zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a [5/5]
The spec syntax is recursive – any syntax we can specify for the “root” package (zlib-ng) we can also use for a dependency.
$ spack install zlib-ng %gcc@10
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-10.5.0-7w652unbwycxl4x52tqudhxjhadil6u4)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
==> Fetching file:///mirror/blobs/sha256/2e/2e1b8995e1edc80a946186493b2c5e18e373db61def459ab70973e3453933b69
[100%] 10.25 MB @ 351.3 GB/s
==> Extracting gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg from binary cache
==> gcc-runtime: Successfully installed gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg
Search: 0.00s. Fetch: 0.12s. Install: 0.26s. Extract: 0.23s. Relocate: 0.03s. Total: 0.38s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg
==> Installing gcc-runtime-10.5.0-ekeebbieporufbv2ersvvhgqxsljzqpg [4/6]
==> Fetching file:///mirror/blobs/sha256/5a/5a7a3ccd2a2c708c1c5e36c7922fdda4f713b4ad7fabe7c2ff92f46511cad321
[100%] 450.24 KB @ 774.3 MB/s
==> Extracting gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj from binary cache
==> gmake: Successfully installed gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj
Search: 0.00s. Fetch: 0.01s. Install: 0.02s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj
==> Installing gmake-4.4.1-haeogmcedfgt33rxdkcybfkvordw63wj [5/6]
==> Fetching file:///mirror/blobs/sha256/28/282833d6d59698b39faca6aa1fec06696f88845407d7c07730c1bfe10429dcb3
[100%] 218.77 KB @ 533.5 MB/s
==> Extracting zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs
Search: 0.00s. Fetch: 0.01s. Install: 0.02s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs
==> Installing zlib-ng-2.2.4-f53jcgxh7rycwqrutjqsrmkoka4bnncs [6/6]
The spec syntax in Spack also supports compiler flags.
We can specify parameters such as cppflags, cflags, cxxflags, fflags, ldflags, and ldlibs.
If any of these values contain spaces, we’ll need to enclose them in quotes on the command line.
Spack’s compiler wrappers will automatically inject these flags into the appropriate compilation commands.
$ spack install zlib-ng@2.0.7 cflags=-O3
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/f3/f343656ca5368bad15c5c91d6d17c18e4e31185ebd8e85ab178b3d332272e803
[100%] 206.91 KB @ 555.2 MB/s
==> Extracting zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
Search: 0.00s. Fetch: 0.10s. Install: 0.06s. Extract: 0.04s. Relocate: 0.01s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
==> Installing zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh [6/6]
After installing packages, we can use the spack find command to query which packages are installed.
Notice that by default, some installed packages appear identical in the output.
To help distinguish between them, we can add the -l flag to display each package’s unique hash.
Additionally, if we include the -f flag, Spack will show any non-empty compiler flags that were used during installation.
$ spack find
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
zlib-ng@2.0.7 zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
zlib-ng@2.0.7
-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
compiler-wrapper@1.0 gcc@11.4.0 gcc-runtime@11.4.0 llvm@14.0.0
gcc@10.5.0 gcc-runtime@10.5.0 glibc@2.35
==> 14 installed packages
$ spack find -lf
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
bzi3xc7 zlib-ng@2.0.7 rdf7ff3 zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
f53jcgx zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
yq5p6pl zlib-ng@2.0.7 cflags=-O3
-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
4gp5ttd gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
haeogmc gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
5vb6e4b gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
rwnqbli compiler-wrapper@1.0 ekeebbi gcc-runtime@10.5.0 oc4qy2f llvm@14.0.0
7w652un gcc@10.5.0 3c5xh7d gcc-runtime@11.4.0
j7ykyvm gcc@11.4.0 epwvtix glibc@2.35
==> 14 installed packages
Spack generates a unique hash for each spec. This hash reflects the complete provenance of the package, so any change to the spec—such as compiler version, build options, or dependencies—will result in a different hash. Spack uses these hashes both to compare specs and to create unique installation directories for every possible configuration.
As we work with more complex packages that have multiple software dependencies, we will see that Spack efficiently reuses existing packages to satisfy dependency requirements. By default, Spack prioritizes reusing installations that already exist, whether they are stored locally or available from configured remote binary caches. This approach helps us avoid unnecessary rebuilds of common dependencies, which is especially valuable if we update Spack frequently.
$ spack install tcl
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/fc/fc1ab349576e0d5bdf21d78c0365dd76669b0d4acbd0d966e073a034c399bade
[100%] 217.94 KB @ 443.7 MB/s
==> Extracting zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x from binary cache
==> zlib-ng: Successfully installed zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
Search: 0.00s. Fetch: 0.11s. Install: 0.06s. Extract: 0.04s. Relocate: 0.01s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
==> Installing zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x [6/7]
==> Fetching file:///mirror/blobs/sha256/f8/f8ffb002ebad9cebd0c025273b43187e5a73c8aeea7f75c7c5c18b39ff23fd9c
[100%] 14.47 MB @ 411.3 GB/s
==> Extracting tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr from binary cache
==> tcl: Successfully installed tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr
Search: 0.00s. Fetch: 0.03s. Install: 0.96s. Extract: 0.90s. Relocate: 0.06s. Total: 0.99s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr
==> Installing tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr [7/7]
Sometimes it is simpler to specify dependencies without caring whether they are direct or transitive dependencies.
To do that, use the ^ sigil.
Note that a dependency specified by ^ is always applied to the root package, whereas a direct dependency specified by % is applied to either the root or any intervening dependency specified by ^.
$ spack install tcl ^zlib-ng@2.0.7 %clang
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external llvm-14.0.0-oc4qy2fa3ev6uf3hrf5khutfgs6ogkup)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-bzi3xc7brx6x3dsviwl3qfwomq4l6h4a
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-4gp5ttded7qxa26qdw4eohyaildrj54n
==> Fetching file:///mirror/blobs/sha256/60/602be72a4d94c72dd58f526d3fd68e39ff6a2fa1e4e90c4547e9aa97c799921e
[100%] 14.44 MB @ 311.3 GB/s
==> Extracting tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367 from binary cache
==> tcl: Successfully installed tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367
Search: 0.00s. Fetch: 0.12s. Install: 1.01s. Extract: 0.95s. Relocate: 0.06s. Total: 1.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367
==> Installing tcl-8.6.12-xm5va4zzospddozslhzpmdioj6gzd367 [6/6]
We can also refer to packages from the command line by their package hash.
Earlier, when we used the spack find -lf command, we saw that the hash for our optimized installation of zlib-ng (with cflags="-O3") began with umrbkwv.
Instead of typing out the entire spec, we can now build explicitly with that package by using the / sigil followed by its hash.
Similar to tools like Git, we do not need to enter the entire hash on the command line—just enough digits to uniquely identify the package. If the prefix we provide matches more than one installed package, Spack will report an error and prompt us to be more specific.
$ spack install tcl ^/yq5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
==> Fetching file:///mirror/blobs/sha256/e7/e771664772fc72bb564b7706e9d4d6448b2dd4647e8f85446f222e91ea0b8f25
[100%] 14.47 MB @ 321.3 GB/s
==> Extracting tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai from binary cache
==> tcl: Successfully installed tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai
Search: 0.00s. Fetch: 0.12s. Install: 1.01s. Extract: 0.94s. Relocate: 0.06s. Total: 1.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai
==> Installing tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai [7/7]
The spack find command can also take a -d flag, which can show dependency information.
Note that each package has a top-level entry, even if it also appears as a dependency.
$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
xm5va4z tcl@8.6.12
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
4gp5ttd gmake@4.4.1
oc4qy2f llvm@14.0.0
bzi3xc7 zlib-ng@2.0.7
bzi3xc7 zlib-ng@2.0.7
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
4gp5ttd gmake@4.4.1
oc4qy2f llvm@14.0.0
rdf7ff3 zlib-ng@2.2.4
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
4gp5ttd gmake@4.4.1
oc4qy2f llvm@14.0.0
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
f53jcgx zlib-ng@2.2.4
rwnqbli compiler-wrapper@1.0
7w652un gcc@10.5.0
ekeebbi gcc-runtime@10.5.0
epwvtix glibc@2.35
haeogmc gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
gbhibag tcl@8.6.12
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
yq5p6pl zlib-ng@2.0.7 cflags=-O3
6wkjgx5 tcl@8.6.12
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
g7ixtqy zlib-ng@2.2.4
yq5p6pl zlib-ng@2.0.7 cflags=-O3
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
g7ixtqy zlib-ng@2.2.4
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
4gp5ttd gmake@4.4.1
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
oc4qy2f llvm@14.0.0
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
haeogmc gmake@4.4.1
rwnqbli compiler-wrapper@1.0
7w652un gcc@10.5.0
ekeebbi gcc-runtime@10.5.0
epwvtix glibc@2.35
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
5vb6e4b gmake@4.4.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
rwnqbli compiler-wrapper@1.0
7w652un gcc@10.5.0
j7ykyvm gcc@11.4.0
ekeebbi gcc-runtime@10.5.0
7w652un gcc@10.5.0
epwvtix glibc@2.35
3c5xh7d gcc-runtime@11.4.0
j7ykyvm gcc@11.4.0
epwvtix glibc@2.35
epwvtix glibc@2.35
oc4qy2f llvm@14.0.0
==> 18 installed packages
Spack models the dependencies of packages as a directed acyclic graph (DAG).
The spack find -d command shows the tree representation of that graph, which loses some dependency relationship information.
We can also use the spack graph command to view the entire DAG as a graph.
$ spack graph tcl
o tcl@8.6.12/6wkjgx5
|\
| |\
| | |\
| | | |\
| | | | |\
o | | | | | zlib-ng@2.2.4/g7ixtqy
|\| | | | |
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | |\ \ \ \
| | | |_|/ /
| | |/| | |
| | | |/ /
| | | | o gmake@4.4.1/5vb6e4b
| |_|_|/|
|/| |_|/|
| |/| |/|
| | |/|/
| | | o compiler-wrapper@1.0/rwnqbli
| | |
| o | gcc-runtime@11.4.0/3c5xh7d
|/| |
| |/
| o gcc@11.4.0/j7ykyvm
|
o glibc@2.35/epwvtix
Let’s move on to slightly more complicated packages.
HDF5 is a good example of a more complicated package, with an MPI dependency.
If we install it with default settings it will build with OpenMPI.
We can check the install plan in advance to ensure it’s what we want to install using the spack spec command.
The spack spec command accepts the same spec syntax.
$ spack spec hdf5
- hdf5@1.14.6~cxx~fortran~hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=make arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^cmake@3.31.8~doc+ncurses+ownlibs~qtgui build_system=generic build_type=Release arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^curl@8.11.1~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^nghttp2@1.65.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^diffutils@3.10 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^openssl@3.4.1~docs+shared build_system=generic certs=mozilla arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^ca-certificates-mozilla@2025-05-20 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
- ^ncurses@6.5~symlinks+termlib abi=none build_system=autotools patches:=7a351bc arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
[+] ^compiler-wrapper@1.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e] ^gcc@11.4.0~binutils+bootstrap~graphite~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3
[+] ^gcc-runtime@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64_v3
[e] ^glibc@2.35 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
[+] ^gmake@4.4.1~guile build_system=generic arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^openmpi@5.0.8+atomics~cuda~debug+fortran~gpfs~internal-hwloc~internal-libevent~internal-pmix~ipv6~java~lustre~memchecker~openshmem~rocm~romio+rsh~static~two_level_namespace+vt+wrapper-rpath build_system=autotools fabrics:=none romio-filesystem:=none schedulers:=none arch=linux-ubuntu22.04-x86_64_v3 %c,cxx,fortran=gcc@11.4.0
- ^autoconf@2.72 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
- ^m4@1.4.20+sigsegv build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^libsigsegv@2.14 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^automake@1.16.5 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^hwloc@2.11.1~cairo~cuda~gl~level_zero~libudev+libxml2~nvml~opencl+pci~rocm build_system=autotools libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^libpciaccess@0.17 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^util-macros@1.20.1 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3
- ^libxml2@2.13.5~http+pic~python+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^libiconv@1.18 build_system=autotools libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^xz@5.6.3~pic build_system=autotools libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^libevent@2.1.12+openssl build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^libtool@2.4.7 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^findutils@4.10.0 build_system=autotools patches:=440b954 arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^gettext@0.23.1+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^tar@1.35 build_system=autotools zip=pigz arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^pigz@2.8 build_system=makefile arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^numactl@2.0.18 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^openssh@9.9p1+gssapi build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^krb5@1.21.3+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^bison@3.8.2~color build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^libedit@3.1-20240808 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^libxcrypt@4.4.38~obsolete_api build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^perl@5.40.0+cpanm+opcode+open+shared+threads build_system=generic arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
- ^bzip2@1.0.8~debug~pic+shared build_system=generic arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^gdbm@1.23 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^readline@8.2 build_system=autotools patches:=1ea4349,24f587b,3d9885e,5911a5b,622ba38,6c8adf8,758e2ec,79572ee,a177edc,bbf97f1,c7b45ff,e0013d9,e065038 arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^pmix@5.0.5~munge~python build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
- ^pkgconf@2.3.0 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c=gcc@11.4.0
[+] ^zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3 %c,cxx=gcc@11.4.0
Assuming we’re happy with that configuration, we will now install it.
$ spack install hdf5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
==> Fetching file:///mirror/blobs/sha256/ea/ea56f44765a589ae7a608738196f492ca99f9644a86887fd6a47125093b46c65
[100%] 133.32 KB @ 381.4 MB/s
==> Extracting ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y from binary cache
==> ca-certificates-mozilla: Successfully installed ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y
Search: 0.00s. Fetch: 0.11s. Install: 0.05s. Extract: 0.04s. Relocate: 0.00s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y
==> Installing ca-certificates-mozilla-2025-05-20-s3bxsw4irc4hd32422hnjg3lkj32ii4y [4/45]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/fa/faa6fe1fe8b7b0bab308037d3d356d3e45764af9b3e30432b347f9a5f7dce735
[100%] 115.41 KB @ 420.5 MB/s
==> Extracting libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4 from binary cache
==> libsigsegv: Successfully installed libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
Search: 0.00s. Fetch: 0.01s. Install: 0.02s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
==> Installing libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4 [8/45]
==> Fetching file:///mirror/blobs/sha256/c4/c433045805a664b9be2dd26d7187b319a4472f593b7a7c15d3a855d84475e655
[100%] 89.36 KB @ 351.6 MB/s
==> Extracting pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5 from binary cache
==> pigz: Successfully installed pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
Search: 0.00s. Fetch: 0.01s. Install: 0.02s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
==> Installing pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5 [9/45]
==> Fetching file:///mirror/blobs/sha256/99/99537f5a26cc04f6d16063b4be2675eaff8782ab3f8e7e2d4675d7123fe80668
[100%] 404.96 KB @ 731.2 MB/s
==> Extracting pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav from binary cache
==> pkgconf: Successfully installed pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
Search: 0.00s. Fetch: 0.01s. Install: 0.03s. Extract: 0.02s. Relocate: 0.01s. Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
==> Installing pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav [10/45]
==> Fetching file:///mirror/blobs/sha256/e6/e66071c4cba21dbfb8ce2d4425a666c777c387f180ff825a9f248c64605b55a4
[100%] 63.42 MB @ 501.3 GB/s
==> Extracting berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji from binary cache
==> berkeley-db: Successfully installed berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
Search: 0.00s. Fetch: 0.01s. Install: 0.10s. Extract: 0.08s. Relocate: 0.02s. Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
==> Installing berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji [11/45]
==> Fetching file:///mirror/blobs/sha256/17/1792f0a3307c98aa612d6776834cdfca7a892daea2a81b7941b99edf67731376
[100%] 61.84 MB @ 421.1 GB/s
==> Extracting xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c from binary cache
==> xz: Successfully installed xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.07s. Relocate: 0.01s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
==> Installing xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c [12/45]
==> Fetching file:///mirror/blobs/sha256/b5/b516902bb6ccaa6dd41db176ac722755336d5ffec904078737169859ae125ec6
[100%] 62.17 MB @ 371.1 GB/s
==> Extracting libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s from binary cache
==> libiconv: Successfully installed libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.06s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
==> Installing libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s [13/45]
==> Fetching file:///mirror/blobs/sha256/63/63b60b7f6c1ea7c21fb083af4a7bb9787448d0cf501d5039feca6b88f4898dc3
[100%] 31.89 KB @ 171.7 MB/s
==> Extracting util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt from binary cache
==> util-macros: Successfully installed util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt
Search: 0.00s. Fetch: 0.01s. Install: 0.01s. Extract: 0.01s. Relocate: 0.00s. Total: 0.02s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt
==> Installing util-macros-1.20.1-itmqxdmqzxtr5h4ay5ptrfnrrcwd2xgt [14/45]
==> Fetching file:///mirror/blobs/sha256/4a/4a517e571663b96dab3db3a7ed1cf94be13548b66cb4eccf12c82c926682d14f
[100%] 61.53 MB @ 371.1 GB/s
==> Extracting zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq from binary cache
==> zstd: Successfully installed zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.04s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
==> Installing zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq [15/45]
==> Fetching file:///mirror/blobs/sha256/f6/f693937ab19d3efd93dccc7dad56c365a7e8e87526da8a7dd1fa6fa0f183572c
[100%] 66.93 MB @ 471.3 GB/s
==> Extracting ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd from binary cache
==> ncurses: Successfully installed ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
Search: 0.00s. Fetch: 0.02s. Install: 0.54s. Extract: 0.52s. Relocate: 0.01s. Total: 0.56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
==> Installing ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd [16/45]
==> Fetching file:///mirror/blobs/sha256/a2/a2543474e1da6aeaadf625b5a5631a4b9f750b2614b42ba5790281c632b32820
[100%] 62.78 MB @ 381.1 GB/s
==> Extracting libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw from binary cache
==> libxml2: Successfully installed libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
Search: 0.00s. Fetch: 0.01s. Install: 0.10s. Extract: 0.08s. Relocate: 0.01s. Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
==> Installing libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw [17/45]
==> Fetching file:///mirror/blobs/sha256/46/4676b2d218bcc6afe05b073a66abab93fe3931af58b7b3ff797d71e2b0a2df26
[100%] 61.12 MB @ 968.5 MB/s
==> Extracting diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q from binary cache
==> diffutils: Successfully installed diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.04s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q
==> Installing diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q [18/45]
==> Fetching file:///mirror/blobs/sha256/0a/0ab2ea81292c5466bb9f476754081dadba598337a8d2bf31ad70f020dce1e648
[100%] 193.57 KB @ 514.2 MB/s
==> Extracting libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5 from binary cache
==> libpciaccess: Successfully installed libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
Search: 0.00s. Fetch: 0.01s. Install: 0.02s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
==> Installing libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5 [19/45]
==> Fetching file:///mirror/blobs/sha256/94/940830f589bc11ceebd6d4ec0a6a13a32a58f88dc424d4377e95f36249650e2b
[100%] 939.61 KB @ 859.2 MB/s
==> Extracting libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj from binary cache
==> libedit: Successfully installed libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.03s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj
==> Installing libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj [20/45]
==> Fetching file:///mirror/blobs/sha256/f3/f3a17862a9b6f9c1de00fcdcc8d91fb78ecadbe579b6d5cca55735e0ffeecda0
[100%] 61.49 MB @ 401.1 GB/s
==> Extracting readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2 from binary cache
==> readline: Successfully installed readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.04s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
==> Installing readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2 [21/45]
==> Fetching file:///mirror/blobs/sha256/19/191f3a05bd089502fd8e1dfbc96a146bb26478222a3688479ec9c44051dd1e6b
[100%] 897.56 KB @ 985.5 MB/s
==> Extracting nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g from binary cache
==> nghttp2: Successfully installed nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.02s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
==> Installing nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g [22/45]
==> Fetching file:///mirror/blobs/sha256/40/40148fa35e8983c28c29279f5b744a6910a12d07f33112a9c1bf280d2eba7873
[100%] 724.27 KB @ 904.4 MB/s
==> Extracting m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya from binary cache
==> m4: Successfully installed m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.03s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
==> Installing m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya [23/45]
==> Fetching file:///mirror/blobs/sha256/d8/d88ad54e117c013060868ce62b57d0f8595e99695c508a53f62b5e75f37a9b89
[100%] 296.63 KB @ 532.4 MB/s
==> Extracting bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk from binary cache
==> bzip2: Successfully installed bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
Search: 0.00s. Fetch: 0.01s. Install: 0.03s. Extract: 0.01s. Relocate: 0.01s. Total: 0.03s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
==> Installing bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk [24/45]
==> Fetching file:///mirror/blobs/sha256/5b/5bb1e580639b4439c97f2f21188f5804b1a84ce0480b8363134593aaa012861b
[100%] 65.09 MB @ 311.1 GB/s
==> Extracting hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww from binary cache
==> hwloc: Successfully installed hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
Search: 0.00s. Fetch: 0.01s. Install: 0.18s. Extract: 0.15s. Relocate: 0.02s. Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
==> Installing hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww [25/45]
==> Fetching file:///mirror/blobs/sha256/12/124153b854c24e7d2716925777737b58a2ac6333d7399b70e1a1c76ed3ba6396
[100%] 930.24 KB @ 901.5 MB/s
==> Extracting gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz from binary cache
==> gdbm: Successfully installed gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.03s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
==> Installing gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz [26/45]
==> Fetching file:///mirror/blobs/sha256/cb/cbaa13cce3434bba12393178019130c486ea402e4ad53ac099237d389bc9cd3e
[100%] 61.92 MB @ 381.1 GB/s
==> Extracting bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5 from binary cache
==> bison: Successfully installed bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5
Search: 0.00s. Fetch: 0.01s. Install: 0.10s. Extract: 0.08s. Relocate: 0.01s. Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5
==> Installing bison-3.8.2-ecemgn6zegiarcxtiyyw622vpd4jksf5 [27/45]
==> Fetching file:///mirror/blobs/sha256/b1/b11add878ba1925641a6b0d072de2a402e25c7ac9c36034f7648732d7b6f0cbb
[100%] 61.27 MB @ 421.0 GB/s
==> Extracting tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk from binary cache
==> tar: Successfully installed tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.03s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
==> Installing tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk [28/45]
==> Fetching file:///mirror/blobs/sha256/9a/9a776fb20019ed73a606e954d68b3a16bdf832f649d3e91373d06fe87d58bd28
[100%] 15.38 MB @ 471.3 GB/s
==> Extracting perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z from binary cache
==> perl: Successfully installed perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
Search: 0.00s. Fetch: 0.03s. Install: 0.73s. Extract: 0.63s. Relocate: 0.10s. Total: 0.76s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
==> Installing perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z [29/45]
==> Fetching file:///mirror/blobs/sha256/39/39632c5e66fb6bd01851ded10794857cd780ff679077791c39df952a9dcabbc0
[100%] 12.80 MB @ 471.3 GB/s
==> Extracting gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv from binary cache
==> gettext: Successfully installed gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
Search: 0.00s. Fetch: 0.02s. Install: 0.57s. Extract: 0.53s. Relocate: 0.03s. Total: 0.60s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
==> Installing gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv [30/45]
==> Fetching file:///mirror/blobs/sha256/e2/e2a0b8d2de5cad880c8a556ccc8948cd97b2c5c1d69b87fba577cd9ee8e870a7
[100%] 67.58 MB @ 411.3 GB/s
==> Extracting openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys from binary cache
==> openssl: Successfully installed openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
Search: 0.00s. Fetch: 0.02s. Install: 0.20s. Extract: 0.17s. Relocate: 0.02s. Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
==> Installing openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys [31/45]
==> Fetching file:///mirror/blobs/sha256/29/29a0fb123655361162ca84e2d4357f6a4ff85705499a0fda96f46df9bb9fd3dc
[100%] 757.69 KB @ 811.7 MB/s
==> Extracting libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo from binary cache
==> libxcrypt: Successfully installed libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.02s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo
==> Installing libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo [32/45]
==> Fetching file:///mirror/blobs/sha256/01/019f0f07ee958f04b3b69563e80238d9c7d5b51f48338c5fc216be9ddd75d318
[100%] 61.02 MB @ 951.0 MB/s
==> Extracting autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm from binary cache
==> autoconf: Successfully installed autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
Search: 0.00s. Fetch: 0.01s. Install: 0.06s. Extract: 0.04s. Relocate: 0.01s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
==> Installing autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm [33/45]
==> Fetching file:///mirror/blobs/sha256/97/97895548dbdae9b88e80392ef9f14df1b034cd12c8986f7ee936412ba2febe93
[100%] 61.47 MB @ 401.0 GB/s
==> Extracting findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk from binary cache
==> findutils: Successfully installed findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.05s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
==> Installing findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk [34/45]
==> Fetching file:///mirror/blobs/sha256/07/075332f962779bf1cfd4fc2572976ea96e4b7fd143b0faf150d3dc6cc0945e97
[100%] 61.17 MB @ 996.2 MB/s
==> Extracting curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2 from binary cache
==> curl: Successfully installed curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.03s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
==> Installing curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2 [35/45]
==> Fetching file:///mirror/blobs/sha256/f7/f77e2582e243e751b12336458980bcc985b6c817b12fe824de08c9630def1e93
[100%] 62.95 MB @ 371.1 GB/s
==> Extracting libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh from binary cache
==> libevent: Successfully installed libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.07s. Relocate: 0.01s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh
==> Installing libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh [36/45]
==> Fetching file:///mirror/blobs/sha256/d2/d230011d10d4f4bb84129f0c851f87f849735e7b1845ba3e4b8168304922c954
[100%] 703.24 KB @ 901.5 MB/s
==> Extracting automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53 from binary cache
==> automake: Successfully installed automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.04s. Relocate: 0.02s. Total: 0.07s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
==> Installing automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53 [37/45]
==> Fetching file:///mirror/blobs/sha256/c3/c37002a7cbe0df8a16053700c5cf120f4c83b92480ca0148b4247be05e77553e
[100%] 61.97 MB @ 351.1 GB/s
==> Extracting krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c from binary cache
==> krb5: Successfully installed krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c
Search: 0.00s. Fetch: 0.01s. Install: 0.12s. Extract: 0.07s. Relocate: 0.04s. Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c
==> Installing krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c [38/45]
==> Fetching file:///mirror/blobs/sha256/85/85267715969d1372ed45446ea656a77fcb11a0548d7bf0f99f49690b2ff5ea6f
[100%] 800.05 KB @ 895.1 MB/s
==> Extracting libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c from binary cache
==> libtool: Successfully installed libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.03s. Relocate: 0.03s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
==> Installing libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c [39/45]
==> Fetching file:///mirror/blobs/sha256/29/29bdbb7db669d8c3b733f6f4419952e919e8834725519cec4a7469e80a7d0102
[100%] 30.99 MB @ 431.3 GB/s
==> Extracting cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir from binary cache
==> cmake: Successfully installed cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
Search: 0.00s. Fetch: 0.05s. Install: 1.21s. Extract: 1.11s. Relocate: 0.08s. Total: 1.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
==> Installing cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir [40/45]
==> Fetching file:///mirror/blobs/sha256/b2/b2d7fcf03cd042bb384cb8bc0d37fea8b0622b7e44fbcda7ac8abff20ae1edb9
[100%] 10.56 MB @ 411.3 GB/s
==> Extracting pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e from binary cache
==> pmix: Successfully installed pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e
Search: 0.00s. Fetch: 0.02s. Install: 0.23s. Extract: 0.19s. Relocate: 0.02s. Total: 0.25s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e
==> Installing pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e [41/45]
==> Fetching file:///mirror/blobs/sha256/01/01f6343d0432c003e3499d2f03102c1e4a420cff9f12971665d47db9991fe2a4
[100%] 63.02 MB @ 978.3 MB/s
==> Extracting openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud from binary cache
==> openssh: Successfully installed openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud
Search: 0.00s. Fetch: 0.01s. Install: 0.12s. Extract: 0.07s. Relocate: 0.04s. Total: 0.14s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud
==> Installing openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud [42/45]
==> Fetching file:///mirror/blobs/sha256/6f/6f8af420b46bbe44a0b9b1c1437335792632b1c2ddf56520b4ed1c35de9c45d0
[100%] 418.11 KB @ 578.4 MB/s
==> Extracting numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn from binary cache
==> numactl: Successfully installed numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.02s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn
==> Installing numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn [43/45]
==> Fetching file:///mirror/blobs/sha256/87/87bb50e2f26d8ddd5baabf0bc8bcbf67d8c9f4917a6e9022bbdacc0c5d85ca72
[100%] 18.55 MB @ 281.1 GB/s
==> Extracting openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz from binary cache
==> openmpi: Successfully installed openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz
Search: 0.00s. Fetch: 0.04s. Install: 0.80s. Extract: 0.75s. Relocate: 0.03s. Total: 0.84s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz
==> Installing openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz [44/45]
==> Fetching file:///mirror/blobs/sha256/0f/0f03366496799c41b81cf4d2f82cee669328162b3027f669b84b16eef2f79e64
[100%] 65.57 MB @ 351.2 GB/s
==> Extracting hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu
Search: 0.00s. Fetch: 0.01s. Install: 0.18s. Extract: 0.13s. Relocate: 0.03s. Total: 0.20s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu
==> Installing hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu [45/45]
Spack packages can also have build options, called variants.
Boolean variants can be specified using the + (enable) and ~ or -
(disable) sigils. There are two sigils for “disable” to avoid conflicts
with shell parsing in different situations.
Variants (boolean or otherwise) can also be specified using the same syntax as compiler flags.
Here we can install HDF5 without MPI support.
$ spack install hdf5~mpi
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
==> Fetching file:///mirror/blobs/sha256/9b/9b8bb1a32722b4b58b883e8d4c2bc89fb12772689630b10ea2141428666ac1b3
[100%] 65.28 MB @ 361.2 GB/s
==> Extracting hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o
Search: 0.00s. Fetch: 0.11s. Install: 0.42s. Extract: 0.16s. Relocate: 0.02s. Total: 0.53s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o
==> Installing hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o [13/13]
We might also want to install HDF5 with a different MPI implementation.
While mpi itself is a virtual package representing an interface, other packages can depend on such abstract interfaces.
Spack handles these through “virtual dependencies.” A package, such as HDF5, can depend on the mpi virtual package (the interface).
Actual MPI implementation packages (like openmpi, mpich, mvapich2, etc.) provide the MPI interface.
Any of these providers can be requested to satisfy an MPI dependency.
For example, we can build HDF5 with MPI support provided by MPICH by specifying a dependency on mpich (e.g., hdf5 ^mpich).
Spack also supports versioning of virtual dependencies.
A package can depend on the MPI interface at version 3 (e.g., hdf5 ^mpi@3), and provider packages specify what version of the interface they provide.
The partial spec ^mpi@3 can be satisfied by any of several MPI implementation packages that provide MPI version 3.
We’ve actually already been using virtual packages when we changed compilers earlier.
Compilers are providers for virtual packages like c, cxx, and fortran.
Because these are often provided by the same package but we might want to use C and C++ from one compiler and Fortran from another, we need a syntax to specify which virtual a package provides.
We call this “virtual assignment”, and can be specified by %virtual=provider or ^virtual=provider.
For example if we wanted to install hdf5 using GCC for the C and C++ components but Intel OneAPI for the Fortran compiler we could write:
hdf5 %c,cxx=gcc %fortran=oneapi
However, we’ll keep it simple for now and install HDF5 with MPI support provided by MPICH.
We could use the same syntax for ^mpi=mpich, but there’s no need because the only way for hdf5 to depend on mpich is to provide mpi.
This is also why we didn’t care to specify which virtuals gcc and clang provided earlier when building simpler packages.
$ spack install hdf5+hl+mpi ^mpich
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
==> Fetching file:///mirror/blobs/sha256/52/52ba3cff235dc40dc2109d99c047f1477c5face1ace38813df203631e3c02b1d
[100%] 87.81 KB @ 310.0 MB/s
==> Extracting libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn from binary cache
==> libffi: Successfully installed libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn
Search: 0.00s. Fetch: 0.10s. Install: 0.06s. Extract: 0.04s. Relocate: 0.01s. Total: 0.16s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn
==> Installing libffi-3.4.8-4466i2xl4jqgqujxp4gefwnekgekq2tn [13/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
==> Fetching file:///mirror/blobs/sha256/9a/9ae68d3fe8cf89d7bbdc9d55847da3191bf61450b3b83af88526beec2b50b672
[100%] 63.79 MB @ 351.2 GB/s
==> Extracting util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56 from binary cache
==> util-linux-uuid: Successfully installed util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56
Search: 0.00s. Fetch: 0.01s. Install: 0.12s. Extract: 0.10s. Relocate: 0.01s. Total: 0.13s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56
==> Installing util-linux-uuid-2.41-o26ozsqsvcsshbvkfqqfzayrbsvqrv56 [17/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
==> Fetching file:///mirror/blobs/sha256/92/923c37642a5052122d85780af2efe06097e490fbd9f983ae45b51200ab877f00
[100%] 174.78 KB @ 517.0 MB/s
==> Extracting libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx from binary cache
==> libmd: Successfully installed libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx
Search: 0.00s. Fetch: 0.01s. Install: 0.03s. Extract: 0.02s. Relocate: 0.01s. Total: 0.04s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx
==> Installing libmd-1.1.0-7x6ozmzda7ayboscqolsuovymlsib5fx [20/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
==> Fetching file:///mirror/blobs/sha256/00/0010a978d192300c723e04460afc6b0bc25177d1e2e0ce90140eb20226a65083
[100%] 61.25 MB @ 381.0 GB/s
==> Extracting libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv from binary cache
==> libfabric: Successfully installed libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv
Search: 0.00s. Fetch: 0.01s. Install: 0.08s. Extract: 0.06s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv
==> Installing libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv [22/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
==> Fetching file:///mirror/blobs/sha256/82/828c5ca442e418b8ab3f0d0420e74458fd191c00e841e30027e3943a122d1c52
[100%] 461.60 KB @ 717.1 MB/s
==> Extracting libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo from binary cache
==> libbsd: Successfully installed libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo
Search: 0.00s. Fetch: 0.01s. Install: 0.07s. Extract: 0.05s. Relocate: 0.01s. Total: 0.08s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo
==> Installing libbsd-0.12.2-bcrniixykrt6nuyyxxpeyql3eew2b4qo [26/43]
==> Fetching file:///mirror/blobs/sha256/c3/c380e6231f37ff654a8cf92cadcbc181240501fecf38dbb50a3e91de45628a4e
[100%] 11.28 MB @ 361.3 GB/s
==> Extracting sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox from binary cache
==> sqlite: Successfully installed sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox
Search: 0.00s. Fetch: 0.02s. Install: 0.26s. Extract: 0.23s. Relocate: 0.02s. Total: 0.28s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox
==> Installing sqlite-3.46.0-zjvsjg7we5sw7bnbnlmkoncxr4oifuox [27/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
==> Fetching file:///mirror/blobs/sha256/4e/4e33e4bf7aff7279a4edafdd64580de335e8eb97381c24c769d9e66feed7572d
[100%] 647.81 KB @ 786.4 MB/s
==> Extracting expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3 from binary cache
==> expat: Successfully installed expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3
Search: 0.00s. Fetch: 0.01s. Install: 0.04s. Extract: 0.02s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3
==> Installing expat-2.7.1-ut2qx6nkwctdtdl5ntd3ph4cpg7am4h3 [32/43]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
==> Fetching file:///mirror/blobs/sha256/80/80e9fc14611bca47ce584b11f8f5fe75eb3baab635096bf90e7ac29d067199cc
[100%] 91.34 MB @ 391.4 GB/s
==> Extracting python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz from binary cache
==> python: Successfully installed python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz
Search: 0.00s. Fetch: 0.14s. Install: 3.09s. Extract: 2.95s. Relocate: 0.12s. Total: 3.23s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz
==> Installing python-3.13.5-dcljl7pmhihbarcc2byuiij64bjq3orz [40/43]
==> Fetching file:///mirror/blobs/sha256/32/325e5e792edc6e630dbb581d6b7291c7701a1c03df244e32771c138c999c808e
[100%] 17.79 MB @ 401.3 GB/s
==> Extracting yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3 from binary cache
==> yaksa: Successfully installed yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3
Search: 0.00s. Fetch: 0.03s. Install: 0.45s. Extract: 0.40s. Relocate: 0.04s. Total: 0.49s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3
==> Installing yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3 [41/43]
==> Fetching file:///mirror/blobs/sha256/d1/d19ee200bd2f6820c08ab882e13736bdc687fd2cdeb66adfea9ff20ffb5bfd33
[100%] 15.19 MB @ 471.4 GB/s
==> Extracting mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5 from binary cache
==> mpich: Successfully installed mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5
Search: 0.00s. Fetch: 0.03s. Install: 0.94s. Extract: 0.89s. Relocate: 0.03s. Total: 0.97s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5
==> Installing mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5 [42/43]
==> Fetching file:///mirror/blobs/sha256/cf/cfa20ef6e2f7b6c07b9bd443a48c13e66e7d98c49dd16eb8d50a3c05e1c4427f
[100%] 65.76 MB @ 411.2 GB/s
==> Extracting hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n from binary cache
==> hdf5: Successfully installed hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
Search: 0.00s. Fetch: 0.01s. Install: 0.19s. Extract: 0.14s. Relocate: 0.03s. Total: 0.21s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
==> Installing hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n [43/43]
Note
It is frequently sufficient to specify %gcc even for packages
that use multiple languages, because Spack prefers to minimize the
number of packages needed for a build. Later on we will discuss
more complex compiler requests, and how and when they are useful.
We’ll do a quick check in on what we have installed so far.
$ spack find -ldf
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
l2h74uy mpich@4.3.0
rwnqbli compiler-wrapper@1.0
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
jhcvb6n hwloc@2.11.1
u7sn2jt ncurses@6.5
lublgeh libfabric@2.2.0
w5iqedd libpciaccess@0.17
itmqxdm util-macros@1.20.1
7mdlpgu libxml2@2.13.5
kgw5nks libiconv@1.18
zeynpnj xz@5.6.3
g7ixtqy zlib-ng@2.2.4
xoghzad pkgconf@2.3.0
at3giiz yaksa@0.3
5xgjgae autoconf@2.72
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vorbe53 automake@1.16.5
l2jtwyu libtool@2.4.7
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
vefpsal libsigsegv@2.14
dcljl7p python@3.13.5
ut2qx6n expat@2.7.1
bcrniix libbsd@0.12.2
7x6ozmz libmd@1.1.0
5yo63cn gdbm@1.23
4466i2x libffi@3.4.8
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
skysn5p readline@8.2
zjvsjg7 sqlite@3.46.0
o26ozsq util-linux-uuid@2.41
ezkzlw5 openmpi@5.0.8
5xgjgae autoconf@2.72
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
vefpsal libsigsegv@2.14
vorbe53 automake@1.16.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
jhcvb6n hwloc@2.11.1
w5iqedd libpciaccess@0.17
itmqxdm util-macros@1.20.1
7mdlpgu libxml2@2.13.5
kgw5nks libiconv@1.18
zeynpnj xz@5.6.3
u7sn2jt ncurses@6.5
dvz3n3e libevent@2.1.12
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
l2jtwyu libtool@2.4.7
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
74aq3kx numactl@2.0.18
2s7eddo openssh@9.9p1
zo73rgn krb5@1.21.3
ecemgn6 bison@3.8.2
h766azt libedit@3.1-20240808
iundcaq libxcrypt@4.4.38
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
xoghzad pkgconf@2.3.0
msnkjum pmix@5.0.5
g7ixtqy zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
xm5va4z tcl@8.6.12
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
4gp5ttd gmake@4.4.1
oc4qy2f llvm@14.0.0
bzi3xc7 zlib-ng@2.0.7
bzi3xc7 zlib-ng@2.0.7
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
4gp5ttd gmake@4.4.1
oc4qy2f llvm@14.0.0
rdf7ff3 zlib-ng@2.2.4
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
4gp5ttd gmake@4.4.1
oc4qy2f llvm@14.0.0
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
f53jcgx zlib-ng@2.2.4
rwnqbli compiler-wrapper@1.0
7w652un gcc@10.5.0
ekeebbi gcc-runtime@10.5.0
epwvtix glibc@2.35
haeogmc gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
k5bepow berkeley-db@18.1.40
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
ecemgn6 bison@3.8.2
rwnqbli compiler-wrapper@1.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
ypq2dye m4@1.4.20
vefpsal libsigsegv@2.14
usc3vzr cmake@3.31.8
rwnqbli compiler-wrapper@1.0
7xf5wle curl@8.11.1
hpkxq4q nghttp2@1.65.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
xoghzad pkgconf@2.3.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
u7sn2jt ncurses@6.5
g7ixtqy zlib-ng@2.2.4
7xf5wle curl@8.11.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
hpkxq4q nghttp2@1.65.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
ut2qx6n expat@2.7.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
bcrniix libbsd@0.12.2
7x6ozmz libmd@1.1.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
kgw5nks libiconv@1.18
7mdlpgu libxml2@2.13.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
u7sn2jt ncurses@6.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
zeynpnj xz@5.6.3
jhcvb6n hwloc@2.11.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
w5iqedd libpciaccess@0.17
itmqxdm util-macros@1.20.1
7mdlpgu libxml2@2.13.5
kgw5nks libiconv@1.18
zeynpnj xz@5.6.3
g7ixtqy zlib-ng@2.2.4
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
zo73rgn krb5@1.21.3
ecemgn6 bison@3.8.2
ypq2dye m4@1.4.20
vefpsal libsigsegv@2.14
rwnqbli compiler-wrapper@1.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
ga3qiej findutils@4.10.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
7mdlpgu libxml2@2.13.5
u7sn2jt ncurses@6.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
zeynpnj xz@5.6.3
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
h766azt libedit@3.1-20240808
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
g7ixtqy zlib-ng@2.2.4
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
5yo63cn gdbm@1.23
skysn5p readline@8.2
xoghzad pkgconf@2.3.0
4466i2x libffi@3.4.8
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
ypq2dye m4@1.4.20
rwnqbli compiler-wrapper@1.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
vefpsal libsigsegv@2.14
u7sn2jt ncurses@6.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
xoghzad pkgconf@2.3.0
hpkxq4q nghttp2@1.65.0
rwnqbli compiler-wrapper@1.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
xoghzad pkgconf@2.3.0
2s7eddo openssh@9.9p1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
zo73rgn krb5@1.21.3
ecemgn6 bison@3.8.2
ypq2dye m4@1.4.20
vefpsal libsigsegv@2.14
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
7mdlpgu libxml2@2.13.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
zeynpnj xz@5.6.3
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
5yo63cn gdbm@1.23
skysn5p readline@8.2
xoghzad pkgconf@2.3.0
h766azt libedit@3.1-20240808
iundcaq libxcrypt@4.4.38
u7sn2jt ncurses@6.5
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
g7ixtqy zlib-ng@2.2.4
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
dcljl7p python@3.13.5
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
rwnqbli compiler-wrapper@1.0
ut2qx6n expat@2.7.1
bcrniix libbsd@0.12.2
7x6ozmz libmd@1.1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
5yo63cn gdbm@1.23
soasbhm gettext@0.23.1
kgw5nks libiconv@1.18
7mdlpgu libxml2@2.13.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
4466i2x libffi@3.4.8
u7sn2jt ncurses@6.5
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
xoghzad pkgconf@2.3.0
skysn5p readline@8.2
zjvsjg7 sqlite@3.46.0
o26ozsq util-linux-uuid@2.41
zeynpnj xz@5.6.3
g7ixtqy zlib-ng@2.2.4
gbhibag tcl@8.6.12
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
yq5p6pl zlib-ng@2.0.7 cflags=-O3
6wkjgx5 tcl@8.6.12
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
g7ixtqy zlib-ng@2.2.4
yq5p6pl zlib-ng@2.0.7 cflags=-O3
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
g7ixtqy zlib-ng@2.2.4
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
bmaw6fn zstd@1.5.7
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
-- linux-ubuntu22.04-x86_64_v3 / %c=clang@14.0.0 ----------------
4gp5ttd gmake@4.4.1
rwnqbli compiler-wrapper@1.0
epwvtix glibc@2.35
oc4qy2f llvm@14.0.0
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@10.5.0 ------------------
haeogmc gmake@4.4.1
rwnqbli compiler-wrapper@1.0
7w652un gcc@10.5.0
ekeebbi gcc-runtime@10.5.0
epwvtix glibc@2.35
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
vorbe53 automake@1.16.5
5xgjgae autoconf@2.72
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
vefpsal libsigsegv@2.14
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
vy2ggzh bzip2@1.0.8
rwnqbli compiler-wrapper@1.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
pptkbjb diffutils@3.10
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
kgw5nks libiconv@1.18
ga3qiej findutils@4.10.0
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
7mdlpgu libxml2@2.13.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
u7sn2jt ncurses@6.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
zeynpnj xz@5.6.3
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
5yo63cn gdbm@1.23
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
5vb6e4b gmake@4.4.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
53lfqwu hdf5@1.14.6
usc3vzr cmake@3.31.8
7xf5wle curl@8.11.1
hpkxq4q nghttp2@1.65.0
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
rewh52t hdf5@1.14.6
usc3vzr cmake@3.31.8
7xf5wle curl@8.11.1
hpkxq4q nghttp2@1.65.0
pptkbjb diffutils@3.10
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
u7sn2jt ncurses@6.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
ezkzlw5 openmpi@5.0.8
5xgjgae autoconf@2.72
ypq2dye m4@1.4.20
vefpsal libsigsegv@2.14
vorbe53 automake@1.16.5
jhcvb6n hwloc@2.11.1
w5iqedd libpciaccess@0.17
itmqxdm util-macros@1.20.1
7mdlpgu libxml2@2.13.5
kgw5nks libiconv@1.18
zeynpnj xz@5.6.3
dvz3n3e libevent@2.1.12
l2jtwyu libtool@2.4.7
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
74aq3kx numactl@2.0.18
2s7eddo openssh@9.9p1
zo73rgn krb5@1.21.3
ecemgn6 bison@3.8.2
h766azt libedit@3.1-20240808
iundcaq libxcrypt@4.4.38
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
msnkjum pmix@5.0.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
p3ly6as hdf5@1.14.6
usc3vzr cmake@3.31.8
7xf5wle curl@8.11.1
hpkxq4q nghttp2@1.65.0
pptkbjb diffutils@3.10
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
u7sn2jt ncurses@6.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
l2h74uy mpich@4.3.0
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
jhcvb6n hwloc@2.11.1
lublgeh libfabric@2.2.0
w5iqedd libpciaccess@0.17
itmqxdm util-macros@1.20.1
7mdlpgu libxml2@2.13.5
kgw5nks libiconv@1.18
zeynpnj xz@5.6.3
at3giiz yaksa@0.3
5xgjgae autoconf@2.72
vorbe53 automake@1.16.5
l2jtwyu libtool@2.4.7
ypq2dye m4@1.4.20
vefpsal libsigsegv@2.14
dcljl7p python@3.13.5
ut2qx6n expat@2.7.1
bcrniix libbsd@0.12.2
7x6ozmz libmd@1.1.0
5yo63cn gdbm@1.23
4466i2x libffi@3.4.8
skysn5p readline@8.2
zjvsjg7 sqlite@3.46.0
o26ozsq util-linux-uuid@2.41
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
bcrniix libbsd@0.12.2
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
7x6ozmz libmd@1.1.0
h766azt libedit@3.1-20240808
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
dvz3n3e libevent@2.1.12
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
lublgeh libfabric@2.2.0
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
kgw5nks libiconv@1.18
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
7x6ozmz libmd@1.1.0
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
w5iqedd libpciaccess@0.17
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
xoghzad pkgconf@2.3.0
itmqxdm util-macros@1.20.1
vefpsal libsigsegv@2.14
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
l2jtwyu libtool@2.4.7
rwnqbli compiler-wrapper@1.0
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
vy2ggzh bzip2@1.0.8
kgw5nks libiconv@1.18
7mdlpgu libxml2@2.13.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
u7sn2jt ncurses@6.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
zeynpnj xz@5.6.3
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
vefpsal libsigsegv@2.14
iundcaq libxcrypt@4.4.38
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
7mdlpgu libxml2@2.13.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
kgw5nks libiconv@1.18
xoghzad pkgconf@2.3.0
zeynpnj xz@5.6.3
g7ixtqy zlib-ng@2.2.4
74aq3kx numactl@2.0.18
5xgjgae autoconf@2.72
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
g7ixtqy zlib-ng@2.2.4
vorbe53 automake@1.16.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
l2jtwyu libtool@2.4.7
ga3qiej findutils@4.10.0
soasbhm gettext@0.23.1
7mdlpgu libxml2@2.13.5
xoghzad pkgconf@2.3.0
u7sn2jt ncurses@6.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
zeynpnj xz@5.6.3
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
vefpsal libsigsegv@2.14
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
g7ixtqy zlib-ng@2.2.4
prsofdp pigz@2.8
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
g7ixtqy zlib-ng@2.2.4
xoghzad pkgconf@2.3.0
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
msnkjum pmix@5.0.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
jhcvb6n hwloc@2.11.1
w5iqedd libpciaccess@0.17
itmqxdm util-macros@1.20.1
7mdlpgu libxml2@2.13.5
kgw5nks libiconv@1.18
zeynpnj xz@5.6.3
u7sn2jt ncurses@6.5
dvz3n3e libevent@2.1.12
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
5yo63cn gdbm@1.23
skysn5p readline@8.2
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
skysn5p readline@8.2
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
zjvsjg7 sqlite@3.46.0
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
ye5hcpf tar@1.35
vy2ggzh bzip2@1.0.8
pptkbjb diffutils@3.10
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
kgw5nks libiconv@1.18
prsofdp pigz@2.8
g7ixtqy zlib-ng@2.2.4
zeynpnj xz@5.6.3
bmaw6fn zstd@1.5.7
o26ozsq util-linux-uuid@2.41
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
xoghzad pkgconf@2.3.0
zeynpnj xz@5.6.3
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
at3giiz yaksa@0.3
5xgjgae autoconf@2.72
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vorbe53 automake@1.16.5
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
5vb6e4b gmake@4.4.1
l2jtwyu libtool@2.4.7
ga3qiej findutils@4.10.0
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
vefpsal libsigsegv@2.14
dcljl7p python@3.13.5
vy2ggzh bzip2@1.0.8
ut2qx6n expat@2.7.1
bcrniix libbsd@0.12.2
7x6ozmz libmd@1.1.0
5yo63cn gdbm@1.23
soasbhm gettext@0.23.1
7mdlpgu libxml2@2.13.5
ye5hcpf tar@1.35
prsofdp pigz@2.8
bmaw6fn zstd@1.5.7
4466i2x libffi@3.4.8
u7sn2jt ncurses@6.5
kphogwy openssl@3.4.1
s3bxsw4 ca-certificates-mozilla@2025-05-20
xoghzad pkgconf@2.3.0
skysn5p readline@8.2
zjvsjg7 sqlite@3.46.0
o26ozsq util-linux-uuid@2.41
zeynpnj xz@5.6.3
g7ixtqy zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / no compilers -------------------
5xgjgae autoconf@2.72
5vb6e4b gmake@4.4.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
ypq2dye m4@1.4.20
pptkbjb diffutils@3.10
kgw5nks libiconv@1.18
vefpsal libsigsegv@2.14
nsqyer7 perl@5.40.0
k5bepow berkeley-db@18.1.40
vy2ggzh bzip2@1.0.8
5yo63cn gdbm@1.23
skysn5p readline@8.2
u7sn2jt ncurses@6.5
xoghzad pkgconf@2.3.0
g7ixtqy zlib-ng@2.2.4
s3bxsw4 ca-certificates-mozilla@2025-05-20
rwnqbli compiler-wrapper@1.0
7w652un gcc@10.5.0
j7ykyvm gcc@11.4.0
ekeebbi gcc-runtime@10.5.0
7w652un gcc@10.5.0
epwvtix glibc@2.35
3c5xh7d gcc-runtime@11.4.0
j7ykyvm gcc@11.4.0
epwvtix glibc@2.35
epwvtix glibc@2.35
oc4qy2f llvm@14.0.0
itmqxdm util-macros@1.20.1
5vb6e4b gmake@4.4.1
rwnqbli compiler-wrapper@1.0
j7ykyvm gcc@11.4.0
3c5xh7d gcc-runtime@11.4.0
epwvtix glibc@2.35
==> 69 installed packages
HDF5 is more complicated than our basic example of zlib-ng and Tcl, but it’s still within the realm of software that an experienced HPC user could reasonably expect to manually install given a bit of time. Now let’s look at an even more complicated package.
$ spack install trilinos
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxcrypt-4.4.38-iundcaqxew2asagohzi27rxmh2zbk4qo
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/numactl-2.0.18-74aq3kxwhmje2sqvk27v73d7525q2enn
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
==> Fetching file:///mirror/blobs/sha256/dc/dca0ea35ad05123fd92b7acf529169b19eaf7450206b5f97d5e6e4b9949a453f
[100%] 23.43 MB @ 291.3 GB/s
==> Extracting openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp from binary cache
==> openblas: Successfully installed openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp
Search: 0.00s. Fetch: 0.14s. Install: 0.63s. Extract: 0.58s. Relocate: 0.04s. Total: 0.77s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp
==> Installing openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp [17/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libevent-2.1.12-dvz3n3eojbnxt74he2ky2rj75gukcgfh
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libedit-3.1-20240808-h766azt27z6p7yvfxwb22r23cxvtj3gj
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
==> Fetching file:///mirror/blobs/sha256/14/147389e734e31a0fb8ce4d9e9d34442247f592eb31f2e738f1f0273fb1e61e28
[100%] 61.03 MB @ 391.0 GB/s
==> Extracting kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf from binary cache
==> kokkos: Successfully installed kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf
Search: 0.00s. Fetch: 0.01s. Install: 0.14s. Extract: 0.12s. Relocate: 0.01s. Total: 0.15s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf
==> Installing kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf [27/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pmix-5.0.5-msnkjumpg75ybnv7uinrcbbkt4slvt3e
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/krb5-1.21.3-zo73rgnlq3dcwy76ebibj2ubnzkhia2c
==> Fetching file:///mirror/blobs/sha256/cc/cc6c456699f815e4484f508753a90d14209a93a835bcb438f84a1c68121902cb
[100%] 61.16 MB @ 928.4 MB/s
==> Extracting kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z from binary cache
==> kokkos-kernels: Successfully installed kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z
Search: 0.00s. Fetch: 0.01s. Install: 0.18s. Extract: 0.16s. Relocate: 0.01s. Total: 0.19s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z
==> Installing kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z [30/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssh-9.9p1-2s7eddoqitn34vgpljqsrca3s7w7s6ud
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.8-ezkzlw5tyusqajx2xapuphy7ijdp5ubz
==> Fetching file:///mirror/blobs/sha256/06/06b0d1b3244f18ae3abfe7b13e4bee2014a9c448fcb636df36491b31bdfee5df
[100%] 38.40 MB @ 401.3 GB/s
==> Extracting trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r from binary cache
==> trilinos: Successfully installed trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r
Search: 0.00s. Fetch: 0.06s. Install: 1.50s. Extract: 1.34s. Relocate: 0.14s. Total: 1.56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r
==> Installing trilinos-16.1.0-5agd4kt5c453sjitipevfkzaqcbq3m5r [33/33]
Now we’re starting to see the power of Spack. Depending on the spec, Trilinos can have over 30 direct dependencies, many of which have dependencies of their own. Installing more complex packages can take days or weeks even for an experienced user. Although we’ve done a binary installation for the tutorial, a source installation of Trilinos using Spack takes about 3 hours (depending on the system), but only 20 seconds of programmer time.
Spack manages consistency of the entire DAG. Every MPI dependency will be satisfied by the same configuration of MPI, etc. If we install Trilinos again specifying a dependency on our previous HDF5 built with MPICH:
$ spack install trilinos +hdf5 ^hdf5+hl+mpi ^mpich
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/yaksa-0.3-at3giizyfe7zbpa6b45dt46qcwv3zdb3
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libfabric-2.2.0-lublgehlipl4wcvbminfu67obsifaxuv
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libpciaccess-0.17-w5iqeddpn6xfxfm3grear6sow3p6eaa5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-4.5.01-53vnflrbksyxejviovyvekzbwt2vzzvf
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pkgconf-2.3.0-xoghzadcbbqi6ccvlnfkghrutmid3eav
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openblas-0.3.29-77haeboy74aw25ppazorgiman2aedjjp
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/kokkos-kernels-4.5.01-wudwbac7p6jcsvf62a6obt74bxzaio5z
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.65.0-hpkxq4qziany2xflz5lpbo7ejwmchp6g
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/openssl-3.4.1-kphogwy3wlzx3rl6ddmjwui5qs77qvys
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.11.1-7xf5wleip2cn6wxcvm7rzjxbkj6b54a2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hwloc-2.11.1-jhcvb6nk7guze7u7zojqrp5oxovharww
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/cmake-3.31.8-usc3vzrzieyct5ep3kiyypm6vrc2s2ir
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpich-4.3.0-l2h74uyzojy65qxlme6kbiq23lcclun5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
==> Fetching file:///mirror/blobs/sha256/0e/0e039fafed69f5718b58f2dbd97101256f5f556c6064b448c03a24915ff440be
[100%] 38.49 MB @ 341.3 GB/s
==> Extracting trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4 from binary cache
==> trilinos: Successfully installed trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4
Search: 0.00s. Fetch: 0.16s. Install: 1.54s. Extract: 1.38s. Relocate: 0.13s. Total: 1.70s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4
==> Installing trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4 [25/25]
We see that every package in the Trilinos DAG that depends on MPI now uses MPICH.
$ spack find -d trilinos
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
trilinos@16.1.0
cmake@3.31.8
curl@8.11.1
nghttp2@1.65.0
diffutils@3.10
openssl@3.4.1
ca-certificates-mozilla@2025-05-20
ncurses@6.5
zlib-ng@2.2.4
compiler-wrapper@1.0
gcc@11.4.0
gcc-runtime@11.4.0
glibc@2.35
gmake@4.4.1
hwloc@2.11.1
libpciaccess@0.17
util-macros@1.20.1
libxml2@2.13.5
libiconv@1.18
xz@5.6.3
pkgconf@2.3.0
kokkos@4.5.01
kokkos-kernels@4.5.01
openblas@0.3.29
openmpi@5.0.8
autoconf@2.72
m4@1.4.20
libsigsegv@2.14
automake@1.16.5
libevent@2.1.12
libtool@2.4.7
findutils@4.10.0
gettext@0.23.1
tar@1.35
pigz@2.8
zstd@1.5.7
numactl@2.0.18
openssh@9.9p1
krb5@1.21.3
bison@3.8.2
libedit@3.1-20240808
libxcrypt@4.4.38
perl@5.40.0
berkeley-db@18.1.40
bzip2@1.0.8
gdbm@1.23
readline@8.2
pmix@5.0.5
trilinos@16.1.0
cmake@3.31.8
curl@8.11.1
nghttp2@1.65.0
diffutils@3.10
openssl@3.4.1
ca-certificates-mozilla@2025-05-20
perl@5.40.0
berkeley-db@18.1.40
ncurses@6.5
zlib-ng@2.2.4
compiler-wrapper@1.0
gcc@11.4.0
gcc-runtime@11.4.0
glibc@2.35
gmake@4.4.1
hdf5@1.14.6
pkgconf@2.3.0
hwloc@2.11.1
libpciaccess@0.17
util-macros@1.20.1
libxml2@2.13.5
libiconv@1.18
xz@5.6.3
kokkos@4.5.01
kokkos-kernels@4.5.01
mpich@4.3.0
findutils@4.10.0
gettext@0.23.1
bzip2@1.0.8
tar@1.35
pigz@2.8
zstd@1.5.7
libfabric@2.2.0
yaksa@0.3
autoconf@2.72
automake@1.16.5
libtool@2.4.7
m4@1.4.20
libsigsegv@2.14
python@3.13.5
expat@2.7.1
libbsd@0.12.2
libmd@1.1.0
gdbm@1.23
libffi@3.4.8
readline@8.2
sqlite@3.46.0
util-linux-uuid@2.41
openblas@0.3.29
==> 2 installed packages
As we discussed before, the spack find -d command shows the dependency information as a tree.
While that is often sufficient, many complicated packages, including Trilinos, have dependencies that cannot be fully represented as a tree.
Again, the spack graph command shows the full DAG of the dependency information.
$ spack graph trilinos
o trilinos@16.1.0/5agd4kt
|\
| |\
| | |\
| | | |\
| | | | |\
| | | | | |\
| | | | | | |\
| | | | | | | |\
| | | | | | | | |\
| | | | | | | | | |\
| | o | | | | | | | | kokkos-kernels@4.5.01/wudwbac
| | |\| | | | | | | |
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|/ / / / / /
| | |/| | | | | | | |
| | | |\ \ \ \ \ \ \ \
| | | | |_|_|/ / / / /
| | | |/| | | | | | |
| | | | |\ \ \ \ \ \ \
| | | | | |_|_|/ / / /
| | | | |/| | | | | |
| | | | | |\ \ \ \ \ \
| | | | | | |_|_|/ / /
| | | | | |/| | | | |
| | | | | | |\ \ \ \ \
| | | | | | | |_|_|/ /
| | | | | | |/| | | |
| | | | | | | | |/ /
| | | | | | | |/| |
| o | | | | | | | | openblas@0.3.29/77haebo
| |\| | | | | | | |
| |\ \ \ \ \ \ \ \ \
| | |_|/ / / / / / /
| |/| | | | | | | |
| | |\ \ \ \ \ \ \ \
| | | |_|/ / / / / /
| | |/| | | | | | |
| | | |\ \ \ \ \ \ \
| | | | |_|/ / / / /
| | | |/| | | | | |
| | | | |/ / / / /
o | | | | | | | | openmpi@5.0.8/ezkzlw5
|\| | | | | | | |
|\ \ \ \ \ \ \ \ \
| |\ \ \ \ \ \ \ \ \
| | |\ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \
| | | | |\ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|_|_|_|_|/
| | | | | | | | |/| | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|_|/ / /
| | | | | | | | | |/| | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / /
| | | | | | | | | | |/| | | | | |
| | | | | | | | | | | |\ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / /
| | | | | | | | | | | |/| | | | |
| | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | |_|/ / /
| | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | |\ \ \ \
| | | | | | | | | | | | | | | | | o kokkos@4.5.01/53vnflr
| | | | | | | | | | |_|_|_|_|_|_|/|
| | | | | | | | | |/| |_|_|_|_|_|/|
| | | | | | | | | | |/| |_|_|_|_|/|
| | | | | | | | | | | |/| |_|_|_|/|
| | | | | | | | | | | | |/| | | |/|
| | | | | | | | | | | | | | | |/|/
| | | | | o | | | | | | | | | | | numactl@2.0.18/74aq3kx
| | | | | |\| | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|/ / / / / / / /
| | | | | | |/| | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|_|_|_|_|_|_|_|/ /
| | | | | | | |/| | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|_|_|/ / / / / /
| | | | | | | | |/| | | | | | | | |
| | | | | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|_|_|/ / / / /
| | | | | | | | | |/| | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | |_|_|_|/ / / /
| | | | | | | | | | |/| | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \
| | | | | | | | | | | | |_|_|_|/ / /
| | | | | | | | | | | |/| | | | | |
| | | | | | | | | | | | | |_|/ / /
| | | | | | | | | | | | |/| | | |
| | | | o | | | | | | | | | | | | openssh@9.9p1/2s7eddo
| |_|_|/| | | | | | | | | | | | |
|/| | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |_|/ / / / / / / / / / /
| | | | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |_|/ / / / / / / / / /
| | | | | | | | | | |/| | | | | | | | | | |
| | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |_|/ / / / / / / / /
| | | | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | | |_|/ / / / / / / /
| | | | | | | | | | | | |/| | | | | | | | |
| | | | | | | | | | | | | |/ / / / / / / /
| o | | | | | | | | | | | | | | | | | | | pmix@5.0.5/msnkjum
|/| | | | | | | | | | | | | | | | | | | |
| |\| | | | | | | | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / /
| |/| | | | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ /
| | |/| | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|_|_|/ / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|_|_|_|/ / / / / / / / /
| | | | |/| | | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|_|_|_|/ / / / / / / /
| | | | | |/| | | | | | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|/ / / / / / /
| | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | |_|_|_|_|_|/ / / / / / /
| | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | o cmake@3.31.8/usc3vzr
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| | | | |_|_|_|_|_|_|/|
| | | | | | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | | o | | | automake@1.16.5/vorbe53
| | | | |_|_|_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | | | |/| |_|_|_|_|_|_|_|_|/| | | |
| | | | | | |/| |_|_|_|_|_|_|_|/| | | |
| | | | | | | |/| | |_|_|_|_|_|/| | | |
| | | | | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | | | | |/ / /
| | | | | | | | | | | | | | | | | o | libtool@2.4.7/l2jtwyu
| | | | |_|_|_|_|_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|_|_|_|_|_|_|/| |
| | | | | |/| |_|_|_|_|_|_|_|_|_|/| |
| | | | | | |/| |_|_|_|_|_|_|_|_|/| |
| | | | | | | |/| | | | | | | | |/| |
| | | | | | | | | | | | | | | |/| | |
| | | | | | | | | | | | | | o | | | | krb5@1.21.3/zo73rgn
| | | | |_|_|_|_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|_|_|_|/| | | | |
| | | | | |/| |_|_|_|_|_|_|/| | | | |
| | | | | | |/| |_|_|_|_|_|/| | | | |
| | | | | | | |/| |_|_|_|_|/| | | | |
| | | | | | | | |/| |_|_|_|/| | | | |
| | | | | | | | | |/| |_|_|/| | | | |
| | | | | | | | | | |/| | |/| | | | |
| | | | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | | | |\ \ \ \ \
| | | | | | | | | | | | | | | | |_|_|/ /
| | | | | | | | | | | | | | | |/| | | |
| | | | | | | | | | | | | | | | |\ \ \ \
| | | | | | | | | | | | o | | | | | | | | libxcrypt@4.4.38/iundcaq
| | | | |_|_|_|_|_|_|_|/| | | | | | | | |
| | | |/| |_|_|_|_|_|_|/| | | | | | | | |
| | | | |/| |_|_|_|_|_|/| | | | | | | | |
| | | | | |/| |_|_|_|_|/| | | | | | | | |
| | | | | | |/| |_|_|_|/| | | | | | | | |
| | | | | | | |/| | |_|/ / / / / / / / /
| | | | | | | | | |/| | | | | | | | | |
| | o | | | | | | | | | | | | | | | | | hwloc@2.11.1/jhcvb6n
| | |\| | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|/ / / / / / / / / / / /
| | |/| | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|_|_|_|/ / / / / / / / /
| | | |/| | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|/ / / / / / / / / / / / / /
| | | | | | |/| | | | | | | | | | | | | | |
| | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | |_|/ / / / / / / / / / / / /
| | | | | | | |/| | | | | | | | | | | | | |
| | | | | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | |_|/ / / / / / / / / / / /
| | | | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | |/ / / / / / / / / / / /
| o | | | | | | | | | | | | | | | | | | | libevent@2.1.12/dvz3n3e
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|_|_|/ / / / / / / / /
| |/| | | | | | | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|_|_|/ / / / / / / / / /
| | |/| | | | | | | | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|/ / / / / / / / / / / / /
| | | |/| | | | | | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|_|_|_|/ / / / / / / / / / / /
| | | | |/| | | | | | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|_|_|_|/ / / / / / / / / / /
| | | | | |/| | | | | | | | | | | | | | |
| | | | | | | |_|_|/ / / / / / / / / / /
| | | | | | |/| | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | o curl@8.11.1/7xf5wle
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | | | | |/| | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | o | autoconf@2.72/5xgjgae
| | | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/| |
| | |/| | | | | | | | | |_|_|_|_|_|/| |
| | | | | | | | | | | |/| | | | | |/ /
| | | | | | | | | | | | | | | | o | | bison@3.8.2/ecemgn6
| | | |_|_|_|_|_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|_|_|_|_|/| | |
| | | | |/| |_|_|_|_|_|_|_|_|_|/| | |
| | | | | |/| |_|_|_|_|_|_|_|_|/| | |
| | | | | | |/| | | | | | | | |/| | |
| | | | | | | | | | | | | | | | |/ /
| | | | | | | | | | | | | | o | | | findutils@4.10.0/ga3qiej
| | | |_|_|_|_|_|_|_|_|_|_|/| | | |
| | |/| |_|_|_|_|_|_|_|_|_|/| | | |
| | | |/| |_|_|_|_|_|_|_|_|/| | | |
| | | | |/| |_|_|_|_|_|_|_|/| | | |
| | | | | |/| |_|_|_|_|_|_|/| | | |
| | | | | | |/| | | | | | |/ / / /
| | | | | | | | | | | | o | | | | libedit@3.1-20240808/h766azt
| | | |_|_|_|_|_|_|_|_|/| | | | |
| | |/| |_|_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|_|/| | | | |
| | | | | |/| |_|_|_|_|/| | | | |
| | | | | | |/| |_|_|_|/| | | | |
| | | | | | | |/| |_|_|/ / / / /
| | | | | | | | |/| | | | | | |
| | | | | | | | | | o | | | | | libpciaccess@0.17/w5iqedd
| | | |_|_|_|_|_|_|/| | | | | |
| | |/| |_|_|_|_|_|/| | | | | |
| | | |/| |_|_|_|_|/| | | | | |
| | | | |/| |_|_|_|/| | | | | |
| | | | | |/| |_|_|/| | | | | |
| | | | | | |/| |_|/| | | | | |
| | | | | | | |/| | | | | | | |
| | | | | | | | | | | | | | | o nghttp2@1.65.0/hpkxq4q
| | | |_|_|_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|_|_|/|
| | | | | | |/| |_|_|_|_|_|_|/|
| | | | | | | |/| | | | | | |/
| | | | | | | | | | | | | |/|
| o | | | | | | | | | | | | | openssl@3.4.1/kphogwy
|/| | | | | | | | | | | | | |
| |\| | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|_|_|/ / / /
| |/| | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | |_|/ / / / / / / / / / /
| | |/| | | | | | | | | | | |
| | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / / / /
| | | |/| | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / /
| | | | |/| | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / /
| | | | | |/| | | | | | | | |
| | | | | | | | | | | | | | o m4@1.4.20/ypq2dye
| | | |_|_|_|_|_|_|_|_|_|_|/|
| | |/| |_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|/|
| | | | | |/| | |_|_|_|_|_|/|
| | | | | | | |/| | | | | |/|
| | | | | | | | | | | | o | | gettext@0.23.1/soasbhm
| | | |_|_|_|_|_|_|_|_|/| | |
| | |/| |_|_|_|_|_|_|_|/| | |
| | | |/| |_|_|_|_|_|_|/| | |
| | | | |/| |_|_|_|_|_|/| | |
| | | | | |/| | |_|_|_|/| | |
| | | | | | | |/| | |_|/| | |
| | | | | | | | | |/| |/| | |
| | | | | | | | | | |/| | | |
| | | | | | | | | | | | |\ \ \
| | | | | | | | | | | | | |\ \ \
| | | | | | | | | | | | | | |\ \ \
| | | | | | | | | | | o | | | | | | util-macros@1.20.1/itmqxdm
| | | | | | | | |_|_|/ / / / / / /
| | | | | | | |/| | | | | | | | |
| | | | | | o | | | | | | | | | | ca-certificates-mozilla@2025-05-20/s3bxsw4
| | | | | | / / / / / / / / / /
| o | | | | | | | | | | | | | | perl@5.40.0/nsqyer7
|/| | | | | | | | | | | | | | |
| |\| | | | | | | | | | | | | |
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|/ / / / / / / / / /
| |/| | | | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|/ / / / / / / / / / / /
| | | |/| | | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / / / /
| | | | |/| | | | | | | | | | | |
| | | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | |_|/ / / / / / / / / /
| | | | | |/| | | | | | | | | | |
| | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | |_|_|_|_|_|_|_|/ / /
| | | | | | |/| | | | | | | | | |
| | | | | | | | | | | | | | | | o libsigsegv@2.14/vefpsal
| | |_|_|_|_|_|_|_|_|_|_|_|_|_|/|
| |/| | |_|_|_|_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|_|_|_|/|
| | | | | |/| | | |_|_|_|_|_|_|/
| | | | | | | | |/| | | | | | |
| | | | | | | | | | | o | | | | libxml2@2.13.5/7mdlpgu
| |_|_|_|_|_|_|_|_|_|/| | | | |
|/| |_|_|_|_|_|_|_|_|/| | | | |
| |/| | |_|_|_|_|_|_|/| | | | |
| | | |/| |_|_|_|_|_|/| | | | |
| | | | |/| |_|_|_|_|/| | | | |
| | | | | |/| | | |_|/| | | | |
| | | | | | | | |/| |/| | | | |
| | | | | | | | | |/| | | | | |
| | | | | | | | | | | |\| | | |
| | | | | | | | | | | | |_|/ /
| | | | | | | | | | | |/| | |
| | | | | | | | | | | | | o | tar@1.35/ye5hcpf
| | |_|_|_|_|_|_|_|_|_|_|/| |
| |/| | |_|_|_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|_|_|/| |
| | | | | |/| |_|_|_|_|_|/| |
| | | | | | |/| | |_|_|_|/| |
| | | | | | | | |/| | | |/| |
| | | | | | | | | | | |/|/| |
| | | | | | | | | | | | | |\ \
| | | | | | | o | | | | | | | | berkeley-db@18.1.40/k5bepow
| | |_|_|_|_|/| | | | | | | | |
| |/| | |_|_|/| | | | | | | | |
| | | |/| |_|/| | | | | | | | |
| | | | |/| |/| | | | | | | | |
| | | | | |/| | | | | | | | | |
| | | | | | | |/ / / / / / / /
| | o | | | | | | | | | | | | gdbm@1.23/5yo63cn
| |/| | | | | | | | | | | | |
| | |\| | | | | | | | | | | |
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | | |_|_|_|_|/ / / / / / / /
| | | |/| | | | | | | | | | | |
| | | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | | | |_|/ / / / / / / / / /
| | | | |/| | | | | | | | | | |
| | | | | |/ / / / / / / / / /
| | | | | | | o | | | | | | | bzip2@1.0.8/vy2ggzh
| | |_|_|_|_|/| | | | | | | |
| |/| | |_|_|/| | | | | | | |
| | | |/| |_|/| | | | | | | |
| | | | |/| |/| | | | | | | |
| | | | | |/|/| | | | | | | |
| | | | | | | | |_|_|_|_|_|/
| | | | | | | |/| | | | | |
| | | | | | | | | | | | | o pigz@2.8/prsofdp
| |_|_|_|_|_|_|_|_|_|_|_|/|
|/| |_|_|_|_|_|_|_|_|_|_|/|
| |/| | |_|_|_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|_|_|/|
| | | | |/| |_|_|_|_|_|_|/|
| | | | | |/| |_|_|_|_|_|/
| | | | | | |/| | | | | |
| | | | | | | | | | | o | xz@5.6.3/zeynpnj
| | |_|_|_|_|_|_|_|_|/| |
| |/| | |_|_|_|_|_|_|/| |
| | | |/| |_|_|_|_|_|/| |
| | | | |/| |_|_|_|_|/| |
| | | | | |/| |_|_|_|/ /
| | | | | | |/| | | | |
| | | | | | | | | | | o zstd@1.5.7/bmaw6fn
| | |_|_|_|_|_|_|_|_|/|
| |/| | |_|_|_|_|_|_|/|
| | | |/| |_|_|_|_|_|/|
| | | | |/| |_|_|_|_|/|
| | | | | |/| |_|_|_|/
| | | | | | |/| | | |
| | o | | | | | | | | readline@8.2/skysn5p
| |/| | | | | | | | |
| | |\| | | | | | | |
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|/ /
| | |/| | | | | | | |
| | | |\ \ \ \ \ \ \ \
| | | | |_|_|_|/ / / /
| | | |/| | | | | | |
| | | | |\ \ \ \ \ \ \
| | | | | |_|/ / / / /
| | | | |/| | | | | |
| | | | | |/ / / / /
| | | | | | | o | | diffutils@3.10/pptkbjb
| | |_|_|_|_|/| | |
| |/| | |_|_|/| | |
| | | |/| |_|/| | |
| | | | |/| |/| | |
| | | | | |/|/| | |
| | | | | | | | |/
| | | | | | | |/|
o | | | | | | | | zlib-ng@2.2.4/g7ixtqy
|\| | | | | | | |
|\ \ \ \ \ \ \ \ \
| |_|_|_|_|_|/ / /
|/| | | | | | | |
| |\ \ \ \ \ \ \ \
| | |_|_|/ / / / /
| |/| | | | | | |
| | |\ \ \ \ \ \ \
| | | |_|_|/ / / /
| | |/| | | | | |
| | | | |/ / / /
| | | |/| | | |
| | | | | o | | ncurses@6.5/u7sn2jt
| |_|_|_|/| | |
|/| |_|_|/| | |
| |/| |_|/| | |
| | |/| |/| | |
| | | |/|/| | |
| | | | | | |/
| | | | | |/|
| | | | | | o libiconv@1.18/kgw5nks
| |_|_|_|_|/|
|/| |_|_|_|/|
| |/| |_|_|/|
| | |/| |_|/|
| | | |/| |/
| | | | |/|
| | | | | o pkgconf@2.3.0/xoghzad
| |_|_|_|/|
|/| |_|_|/|
| |/| |_|/|
| | |/| |/|
| | | |/|/
| | | | o gmake@4.4.1/5vb6e4b
| |_|_|/|
|/| |_|/|
| |/| |/|
| | |/|/
| | | o compiler-wrapper@1.0/rwnqbli
| | |
| o | gcc-runtime@11.4.0/3c5xh7d
|/| |
| |/
| o gcc@11.4.0/j7ykyvm
|
o glibc@2.35/epwvtix
You can control how the output is displayed with a number of options.
The ASCII output from spack graph can be difficult to parse for complicated packages.
The output can be changed to the Graphviz .dot format using the --dot flag.
$ spack graph --dot trilinos | dot -Tpdf > trilinos_graph.pdf
Uninstalling Packages¶
Earlier we installed many configurations each of zlib-ng and Tcl. Now we will go through and uninstall some of those packages that we didn’t really need.
$ spack find -d tcl
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
tcl@8.6.12
compiler-wrapper@1.0
glibc@2.35
gmake@4.4.1
llvm@14.0.0
zlib-ng@2.0.7
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
tcl@8.6.12
compiler-wrapper@1.0
gcc@11.4.0
gcc-runtime@11.4.0
glibc@2.35
gmake@4.4.1
zlib-ng@2.0.7
tcl@8.6.12
compiler-wrapper@1.0
gcc@11.4.0
gcc-runtime@11.4.0
glibc@2.35
gmake@4.4.1
zlib-ng@2.2.4
==> 3 installed packages
$ spack find zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
zlib-ng@2.0.7 zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@10.5.0 --------------
zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
zlib-ng@2.0.7 zlib-ng@2.2.4
==> 5 installed packages
We can uninstall packages by spec using the same syntax as install.
$ spack uninstall -y zlib-ng %gcc@10
==> Successfully uninstalled zlib-ng@2.2.4+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/f53jcgx
$ spack find -lf zlib-ng
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
bzi3xc7 zlib-ng@2.0.7 rdf7ff3 zlib-ng@2.2.4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
yq5p6pl zlib-ng@2.0.7 cflags=-O3 g7ixtqy zlib-ng@2.2.4
==> 4 installed packages
We can also uninstall packages by referring only to their hash.
We can use either the --force (or -f) flag or the --dependents (or -R) flag to remove packages that are required by another installed package.
Use --force to remove just the specified package, leaving dependents broken.
Use --dependents to remove the specified package and all of its dependents.
$ spack uninstall zlib-ng/bzi
==> Refusing to uninstall the following specs
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
bzi3xc7 zlib-ng@2.0.7
==> The following dependents are still installed:
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
xm5va4z tcl@8.6.12
==> Error: There are still dependents.
use `spack uninstall --dependents` to remove dependents too
use `spack uninstall --force` to override
$ spack uninstall -y -R zlib-ng/bzi
==> Successfully uninstalled tcl@8.6.12 build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/xm5va4z
==> Successfully uninstalled zlib-ng@2.0.7+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-ubuntu22.04-x86_64_v3/bzi3xc7
Spack will not uninstall packages that are not sufficiently specified (i.e., if the spec is ambiguous and matches multiple installed packages).
The --all (or -a) flag can be used to uninstall all packages matching an ambiguous spec.
$ spack uninstall trilinos
==> Error: trilinos matches multiple packages:
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
5agd4kt trilinos@16.1.0 s2kwzuh trilinos@16.1.0
==> Error: You can either:
a) use a more specific spec, or
b) specify the spec by its hash (e.g. `spack uninstall /hash`), or
c) use `spack uninstall --all` to uninstall ALL matching specs.
$ spack uninstall /5ag
y
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
5agd4kt trilinos@16.1.0
==> 1 packages will be uninstalled. Do you want to proceed? [y/N] ==> Successfully uninstalled trilinos@16.1.0~adelus~adios2+amesos+amesos2+anasazi+aztec~basker+belos~boost~chaco~complex~cuda~cuda_constexpr~cuda_rdc~debug~dtk+epetra+epetraext~epetraextbtf~epetraextexperimental~epetraextgraphreorderings~exodus+explicit_template_instantiation~float+fortran~gtest~hdf5~hypre+ifpack+ifpack2~intrepid~intrepid2~ipo~isorropia+kokkos~mesquite~minitensor+ml+mpi+muelu~mumps~nox~openmp~pamgen~panzer~phalanx~piro~python~rocm~rocm_rdc~rol~rythmos+sacado~scorec~shards+shared~shylu~stk~stokhos~stratimikos~strumpack~suite-sparse~superlu~superlu-dist~teko~tempus~test~thyra+tpetra~trilinoscouplings~wrapper~x11~zoltan~zoltan2 build_system=cmake build_type=Release cxxstd=17 generator=make gotype=long_long arch=linux-ubuntu22.04-x86_64_v3/5agd4kt
Advanced spack find Usage¶
We will go over some additional uses for the spack find command not already covered in the Installing Spack and
Uninstalling Packages sections.
The spack find command can accept what we call “anonymous specs.” These are expressions in spec syntax that do not contain a package name.
For example, spack find ^mpich will return every installed package that depends on MPICH, and spack find cflags="-O3" will return every package which was built with cflags="-O3".
$ spack find ^mpich
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
trilinos@16.1.0
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
hdf5@1.14.6
==> 2 installed packages
$ spack find cflags=-O3
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
zlib-ng@2.0.7
==> 1 installed package
The find command can also show which packages were installed explicitly (rather than pulled in as a dependency) using the lowercase -x flag.
The uppercase -X flag shows implicit installs only.
The find command can also show the path to which a Spack package was installed using the -p flag.
$ spack find -px
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx,fortran=gcc@11.4.0 ------
trilinos@16.1.0 /home/spack/spack/opt/spack/linux-x86_64_v3/trilinos-16.1.0-s2kwzuheczjgviwbclggzscozvxqbuu4
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=clang@14.0.0 ------------
zlib-ng@2.2.4 /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-rdf7ff3uwefab3p5ytw4djjvhh2us3rf
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
tcl@8.6.12 /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-gbhibagbyjfszvdwowyojvj6qph4pfai
tcl@8.6.12 /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.12-6wkjgx5kzib6kcz22r5rujkzooaveotr
zlib-ng@2.0.7 /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.0.7-yq5p6pli22i3gvxfncajif4jejdxjfhh
-- linux-ubuntu22.04-x86_64_v3 / %c=gcc@11.4.0 ------------------
gmake@4.4.1 /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
hdf5@1.14.6 /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-53lfqwufrtzyov5n622fv3zyflkif37o
hdf5@1.14.6 /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-rewh52tlwwwh3oazs7rmml6jo2fxsbcu
hdf5@1.14.6 /home/spack/spack/opt/spack/linux-x86_64_v3/hdf5-1.14.6-p3ly6asjcve2wpfd2d47greimdojmy3n
==> 9 installed packages
Customizing Compilers¶
Spack manages a list of available compilers on the system, detected automatically from the user’s PATH variable.
The spack compilers command is an alias for spack compiler list.
$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e] gcc@11.4.0 [e] gcc@10.5.0
-- llvm ubuntu22.04-x86_64 --------------------------------------
[e] llvm@14.0.0
These compilers are maintained in a YAML file. Later in the tutorial we will discuss how to configure external compilers by hand for special cases. Spack can also use compilers built by Spack to compile later packages.
$ spack install gcc@12
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.0-rwnqblirwn5aenlmsbvsieo7mzw672ee
[+] /usr (external glibc-2.35-epwvtixhoxdeufu6kbbrpaigv2p6iav4)
[+] /usr (external gcc-11.4.0-j7ykyvm5ancnn5rt7f35ggs6hwoslo42)
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-runtime-11.4.0-3c5xh7dqudxmyorlsrsfmjyggqk57vnr
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libsigsegv-2.14-vefpsalwx43ol7ppom7svfbsfqv3jit4
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/bzip2-1.0.8-vy2ggzhuzo7pav5clvz6dvamexpeaadk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/xz-5.6.3-zeynpnjapluctm4lxzuwo7en5jmdzt6c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libiconv-1.18-kgw5nkswdpf7k2itwhjwegwyszj3v56s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zlib-ng-2.2.4-g7ixtqygrfip5uzt526b565dqxs6ze3x
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/findutils-4.10.0-ga3qiejil4e74fukhmtwcq5vrvzgmwmk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/berkeley-db-18.1.40-k5bepowzfoxlz67vuctewwbxlrj5sgji
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/ncurses-6.5-u7sn2jtlvafr3vqli4m7i7ysecwkwepd
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/zstd-1.5.7-bmaw6fn2i5mbbfujq6kf7bomodh4iudq
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmake-4.4.1-5vb6e4beeoff4jan2t7edfjyi3hf3p7g
==> Fetching file:///mirror/blobs/sha256/84/84093901d20b4ea70d21764c9e9beb55ae2816e75a5fb33988c57a20162a369f
[100%] 690.61 KB @ 764.3 MB/s
==> Extracting autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv from binary cache
==> autoconf-archive: Successfully installed autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv
Search: 0.00s. Fetch: 0.11s. Install: 0.16s. Extract: 0.14s. Relocate: 0.00s. Total: 0.26s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv
==> Installing autoconf-archive-2023.02.20-u24n5okompdfego7ouqio2xb63efbzhv [15/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.2-skysn5ppmam2ipxq4zlzwjxm42kurky2
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libxml2-2.13.5-7mdlpguaingjbgxrvtgjnv3y6372tofw
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/diffutils-3.10-pptkbjbkikngjuyusssjuvn2mqzl663q
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/pigz-2.8-prsofdph5zl75k54hjwgcr34lipeyuh5
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/libtool-2.4.7-l2jtwyuivfhutipzs462o4ny7ctu4f5c
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gdbm-1.23-5yo63cnvgytwmsoiwoilhfgnyaffncmz
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/m4-1.4.20-ypq2dyeslmkos5za6z46ti5u4gf7kdya
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/tar-1.35-ye5hcpfjk5svng6s2sjj4n6huwokazfk
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/perl-5.40.0-nsqyer7nqsmv3ams4gk5mubo74maob3z
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gettext-0.23.1-soasbhmurzckxvnvfcqm22jsegvmh4jv
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/autoconf-2.72-5xgjgaemj5ur5z5mr7anba35jcy2n5rm
==> Fetching file:///mirror/blobs/sha256/3a/3a72acfe375f44f65cf570d23c2712bb69d8f847622ec2c431f0a58fc6153b86
[100%] 62.80 MB @ 441.1 GB/s
==> Extracting texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z from binary cache
==> texinfo: Successfully installed texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z
Search: 0.00s. Fetch: 0.01s. Install: 0.20s. Extract: 0.16s. Relocate: 0.02s. Total: 0.22s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z
==> Installing texinfo-7.1-z47kihjvhlc67ukoxtgtju72dcnhxn2z [27/33]
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/automake-1.16.5-vorbe53mrrx354udsx5hpelstxeduh53
==> Fetching file:///mirror/blobs/sha256/e7/e731baaf6e9ff7cf4fce872d24d7d03011f2949d98a2ce1446125e6518178df9
[100%] 914.21 KB @ 933.2 MB/s
==> Extracting gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj from binary cache
==> gmp: Successfully installed gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.03s. Relocate: 0.01s. Total: 0.06s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj
==> Installing gmp-6.3.0-zx3x4nm3djw5jdqxcsimfpxykoxdijhj [29/33]
==> Fetching file:///mirror/blobs/sha256/0a/0a1aeb205b12985be63ca2fe89bf667ad23ae768177460b02f11fcca9b98a01b
[100%] 62.69 MB @ 421.1 GB/s
==> Extracting mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya from binary cache
==> mpfr: Successfully installed mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya
Search: 0.00s. Fetch: 0.01s. Install: 0.09s. Extract: 0.06s. Relocate: 0.01s. Total: 0.10s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya
==> Installing mpfr-4.2.1-abjn4yec4cwckmwvwwtg45keufsqyhya [30/33]
==> Fetching file:///mirror/blobs/sha256/e9/e9fc918ab0076c955023b535b7e7da2e939be38d5e3d1ff4dfab04be327d1dc8
[100%] 628.60 KB @ 774.3 MB/s
==> Extracting mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g from binary cache
==> mpc: Successfully installed mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g
Search: 0.00s. Fetch: 0.01s. Install: 0.05s. Extract: 0.02s. Relocate: 0.01s. Total: 0.05s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g
==> Installing mpc-1.3.1-mkqx7budcw2rpbdzo63hsoxhhszx366g [31/33]
==> Fetching file:///mirror/blobs/sha256/af/af5818f5eb67e53a3c95eae143eb2a9337100cbe3cf796d738148084c570b280
[100%] 62.33 MB @ 391.2 GB/s
==> Extracting gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww from binary cache
==> gawk: Successfully installed gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww
Search: 0.00s. Fetch: 0.01s. Install: 0.10s. Extract: 0.06s. Relocate: 0.02s. Total: 0.11s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww
==> Installing gawk-5.3.1-jxq6uva54usdixrtzlkwa6dxfaqeaeww [32/33]
==> Fetching file:///mirror/blobs/sha256/21/210bde294ec907128aa196cee83edfee0dcd8338971388101e38683f7e03d13d
[100%] 641.04 MB @ 431.4 GB/s
==> Extracting gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh from binary cache
==> Wrote new spec file to /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh/lib/gcc/x86_64-pc-linux-gnu/12.5.0/specs
==> gcc: Successfully installed gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh
Search: 0.00s. Fetch: 0.92s. Install: 13.07s. Extract: 11.42s. Relocate: 1.38s. Total: 13.99s
[+] /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh
==> Installing gcc-12.5.0-fmxnit5ggu45byub6wlsuienth2dkboh [33/33]
$ spack compilers
==> Available compilers
-- gcc ubuntu22.04-x86_64 ---------------------------------------
[e] gcc@11.4.0 [e] gcc@10.5.0 [+] gcc@12.5.0
-- llvm ubuntu22.04-x86_64 --------------------------------------
[e] llvm@14.0.0
Because this compiler is a newer version than the external compilers Spack knows about, it will be the new default compiler. We will discuss changing these defaults in a later section. We can check that this compiler is preferred by looking at the install plan for a package that isn’t being reused from binary.
For the test of the tutorial we will sometimes use this new compiler, and sometimes we want to demonstrate things without it. For now, we will uninstall it to avoid using it in the next section.
$ spack uninstall gcc@12
y
-- linux-ubuntu22.04-x86_64_v3 / %c,cxx=gcc@11.4.0 --------------
fmxnit5 gcc@12.5.0
==> 1 packages will be uninstalled. Do you want to proceed? [y/N] ==> Successfully uninstalled gcc@12.5.0~binutils+bootstrap~graphite~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' arch=linux-ubuntu22.04-x86_64_v3/fmxnit5
Note
The spec syntax may be confusing for new users.
Spack can provide information about commands you run frequently.
For instance, see the output of spack help --spec:
spec expression syntax:
package [constraints] [^dependency [constraints] ...]
package any package from 'spack list', or
/hash unique prefix or full hash of
installed package
constraints:
versions:
@version single version
@min:max version range (inclusive)
@min: version <min> or higher
@:max up to version <max> (inclusive)
@=version exact version
compilers:
%compiler build with <compiler>
%compiler@version build with specific compiler version
%compiler@min:max specific version range (see above)
compiler flags:
cflags="flags" cppflags, cflags, cxxflags,
fflags, ldflags, ldlibs
== propagate flags to package dependencies
variants:
+variant enable <variant>
-variant or ~variant disable <variant>
variant=value set non-boolean <variant> to <value>
variant=value1,value2,value3 set multi-value <variant> values
++, --, ~~, == propagate variants to package dependencies
architecture variants:
platform=platform linux, darwin, freebsd, windows
os=operating_system specific <operating_system>
target=target specific <target> processor
arch=platform-os-target shortcut for all three above
dependencies:
^dependency [constraints] specify constraints on dependencies
^/hash build with a specific installed
dependency
examples:
hdf5 any hdf5 configuration
hdf5 @1.10.1 hdf5 version 1.10.1
hdf5 @1.8: hdf5 1.8 or higher
hdf5 @1.8: %gcc hdf5 1.8 or higher built with gcc
hdf5 +mpi hdf5 with mpi enabled
hdf5 ~mpi hdf5 with mpi disabled
hdf5 ++mpi hdf5 with mpi enabled and propagates
hdf5 ~~mpi hdf5 with mpi disabled and propagates
hdf5 +mpi ^mpich hdf5 with mpi, using mpich
hdf5 +mpi ^openmpi@1.7 hdf5 with mpi, using openmpi 1.7
boxlib dim=2 boxlib built for 2 dimensions
libdwarf %intel ^libelf%gcc
libdwarf, built with intel compiler, linked to libelf built with gcc
mvapich2 fabrics=psm,mrail,sock %gcc
mvapich2, built with gcc compiler, with support for multiple fabrics