Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
56c58e3
Extend gitignore
alalazo Jun 16, 2026
c428650
basics: split "Installing Packages" into subsections
alalazo Jun 16, 2026
11a3bbb
Add a paragraph explaining the overall spack architecture
alalazo Jun 16, 2026
3bbae8f
Update releases/v1.1 -> releases/v1.2
alalazo Jun 16, 2026
9468048
Move high-level highlights to introduction
alalazo Jun 16, 2026
0497b30
Minor fixes
alalazo Jun 16, 2026
e2cb0da
Shorten and improve "Installing Packages"
alalazo Jun 16, 2026
074848a
Demote Compiler flags
alalazo Jun 16, 2026
d2bff02
Reorder "Spec Syntax" subsections
alalazo Jun 16, 2026
5b6f960
Move "Querying Installations" into its own section
alalazo Jun 16, 2026
d047d4b
Add intro to "Spec Syntax"
alalazo Jun 16, 2026
ebc16a3
Update output
alalazo Jun 16, 2026
87c3593
Fix "Installing Packages"
alalazo Jun 16, 2026
31d6044
Fix "Transitive Dependencies"
alalazo Jun 16, 2026
d0dd491
Fix "Transitive Dependencies"
alalazo Jun 16, 2026
7f90404
Fix "Virtual Dependencies"
alalazo Jun 16, 2026
6242ad4
First draft
alalazo Jun 16, 2026
8bb5b6e
Add missing output
alalazo Jun 16, 2026
1586d86
Polish the section
alalazo Jun 17, 2026
dba308b
Polish the section
alalazo Jun 17, 2026
54b8a19
Temporarily disable output generation
alalazo Jun 17, 2026
90d1609
Mechanical update of the environment section
alalazo Jun 17, 2026
6bf8c20
Minor fixes
alalazo Jun 18, 2026
5bafd0f
Don't use a non-matching temporary environment
alalazo Jun 18, 2026
86b5008
Shorten introduction, but maintain the same content
alalazo Jun 18, 2026
eec5264
Improved "Working with environments" section
alalazo Jun 18, 2026
069509d
Improved "Working with environments" section
alalazo Jun 18, 2026
0b3d07c
Added an "Environment on disk" section
alalazo Jun 18, 2026
a5f3f3f
Added an "Environment on disk" section
alalazo Jun 18, 2026
220ba06
Added an "Environment on disk" section
alalazo Jun 18, 2026
f879ed5
Added a "Configuring environments" section
alalazo Jun 18, 2026
c9f8171
Trimmed redundant section
alalazo Jun 18, 2026
20409cb
First complete draft of the "Environments" tutorial
alalazo Jun 18, 2026
2a335e3
Minor fixes
alalazo Jun 18, 2026
7933c1b
Minor fixes
alalazo Jun 18, 2026
cfae192
Less notes in the initial section
alalazo Jun 18, 2026
3d515bc
Update Stacks to Ubuntu 26.04
alalazo Jun 18, 2026
c859b87
Add spec groups
alalazo Jun 18, 2026
dba5f8c
Fix last nits
alalazo Jun 18, 2026
78a532f
Fix last nits
alalazo Jun 18, 2026
96e1a64
Merge branch 'main' into isc26/stacks-update
alecbcs Jun 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _static/images/stacks-unify.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 23 additions & 32 deletions outputs/stacks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,37 @@ spack env activate --create ~/stacks
fake_example stacks/setup-0 "spack env activate --create ~/stacks" "/bin/true"
example stacks/setup-0 "spack env status"

example stacks/setup-1 "spack add gcc@12 %gcc@11"
example stacks/setup-1 "spack env view disable"
fake_example stacks/setup-1 "spack config edit" "/bin/true"
# Simple compiler-only environment (before introducing spec groups)
cat "$project/stacks/examples/compiler.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/compiler-0 "spack concretize"
example --tee stacks/compiler-0 "spack install"

example stacks/setup-2 "spack concretize"
example stacks/setup-2 "spack install"
# Spec groups section: one spec with explicit %gcc@16
cat "$project/stacks/examples/groups-0.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/groups-0 "spack concretize"

example stacks/unify-0 "spack add netlib-scalapack %gcc@12 ^openblas ^openmpi"
example stacks/unify-0 "spack add netlib-scalapack %gcc@12 ^openblas ^mpich"

# Can't be concretized due to unify: true, but not worth showing because it's slow and leads to
# an "internal concretizer error" that confuses users.
# example --expect-error stacks/unify-1 "spack concretize"
# Introduce override: same spec without %gcc@16 (no output captured)
cat "$project/stacks/examples/groups-1.spack.stack.yaml" > ~/stacks/spack.yaml

# Tuning concretizer section: load yaml with two conflicting specs
example stacks/unify-2 "spack config get concretizer | grep unify"

example stacks/unify-3 "spack config add concretizer:unify:false"
cat "$project/stacks/examples/1.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/unify-3 "spack concretize"

example stacks/unify-4 "spack add netlib-scalapack %gcc@12 ^netlib-lapack ^openmpi"
example stacks/unify-4 "spack add netlib-scalapack %gcc@12 ^netlib-lapack ^mpich"

# Spec matrices section
cat "$project/stacks/examples/2.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/concretize-0 "spack concretize"
example stacks/concretize-0 "spack install"

example stacks/concretize-01 "spack find"

# Reusable definitions section
cat "$project/stacks/examples/3.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/concretize-1 "spack concretize"
example stacks/concretize-1 "spack find -l"

# py-scipy with exclude
cat "$project/stacks/examples/4bis.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/concretize-3 "spack concretize"
example stacks/concretize-3 "spack install"

example stacks/concretize-4 "spack find -ld py-scipy"

# Conditional definitions section
cat "$project/stacks/examples/5.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/concretize-5 "spack concretize"
example stacks/concretize-5 "spack find -cl netlib-scalapack"
Expand All @@ -63,14 +56,19 @@ fake_example stacks/concretize-6 "spack concretize" "/bin/true"
spack concretize
example stacks/concretize-6 "spack find -cl netlib-scalapack"

# Install the full stack
example --tee stacks/install-0 "spack install"

# Environment Views section
cat "$project/stacks/examples/6.spack.stack.yaml" > ~/stacks/spack.yaml

example stacks/view-0 "spack concretize"
example stacks/view-0 "ls ~/stacks/views/default"
example stacks/view-0 "ls ~/stacks/views/default/lib"
example stacks/view-0 "ls ~/stacks/views/full"
example stacks/view-0 "ls ~/stacks/views/full/gcc/"
example stacks/view-0 "ls ~/stacks/views/full/gcc/gcc-12.3.0-gcc-11.4.0"
gcc_dir=$(ls ~/stacks/views/full/gcc/ | head -1)
example stacks/view-0 "ls ~/stacks/views/full/gcc/$gcc_dir"

cat "$project/stacks/examples/7.spack.stack.yaml" > ~/stacks/spack.yaml

Expand All @@ -79,17 +77,14 @@ example stacks/view-1 "ls ~/stacks/views/default"
example stacks/view-1 "ls ~/stacks/views/default/lib"
example stacks/view-1 "ls ~/stacks/views/full"

example stacks/modules-0 "spack add lmod@8.7.18 %gcc@11"
example stacks/modules-0 "spack concretize"
example stacks/modules-0 "spack install"

# Module Files section: lmod is already installed as part of the compiler group
. "$(spack location -i lmod)/lmod/lmod/init/bash"

example --tee stacks/modules-1 "module --version"

cat "$project/stacks/examples/8.spack.stack.yaml" > ~/stacks/spack.yaml
spack module lmod refresh -y
module use "$HOME/stacks/modules/linux-ubuntu22.04-x86_64/Core"
module use "$HOME/stacks/modules/linux-ubuntu26.04-x86_64/Core"

example --tee stacks/modules-2 "module av"

Expand All @@ -102,10 +97,6 @@ example --tee stacks/modules-3 "module av"
example --tee stacks/modules-3 "module unload gcc"
module unload gcc

# TODO: Spack v1.1 compiler mixing causes name clashes in module files
# Need to write a work around in the tutorial to teach audience how
# to deal with this.

cat "$project/stacks/examples/9.spack.stack.yaml" > ~/stacks/spack.yaml
example stacks/modules-4 "spack module lmod refresh --delete-tree -y"

Expand Down
86 changes: 86 additions & 0 deletions outputs/stacks/compiler-0.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
$ spack concretize
==> Concretized 2 specs:
[b] vlwdxlj gcc@16.1.0+binutils+bootstrap~graphite+libsanitizer~mold~nvptx~piclibs+profiled+strip build_system=autotools build_type=Release languages:='c,c++,fortran' platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] cuzgmus ^binutils@2.46.0~debuginfod+gas~gprofng~headers~interwork+ld~libiberty~lto~nls~pgo+plugins build_system=autotools compress_debug_sections=zlib libs:=shared,static platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] mmywg7x ^compiler-wrapper@1.1.0 build_system=generic platform=linux os=ubuntu26.04 target=x86_64_v3
[b] ao2onuz ^diffutils@3.12 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] vbwvgwx ^libiconv@1.18 build_system=autotools libs:=shared,static platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] z7wqeps ^gawk@5.4.0~nls build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] k25xiih ^readline@8.3 build_system=autotools patches:=21f0a03,72dee13,e273643 platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[e] yjlog5x ^gcc@15.2.0+binutils+bootstrap~graphite+libsanitizer~mold~nvptx~piclibs~profiled~strip build_system=autotools build_type=RelWithDebInfo languages:='c,c++,fortran' platform=linux os=ubuntu26.04 target=x86_64_v3
[+] xm76mt3 ^gcc-runtime@15.2.0 build_system=generic platform=linux os=ubuntu26.04 target=x86_64_v3
[e] yc4n2pp ^glibc@2.43 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3
[b] r4lhaok ^gmake@4.4.1~guile build_system=generic platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] xpmsy5x ^gmp@6.3.0+cxx build_system=autotools libs:=shared,static patches:=28a6673 platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[b] jo3eg4r ^autoconf@2.72 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3
[b] yhkgfai ^automake@1.18.1 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] y6uqrto ^m4@1.4.21+sigsegv build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[b] phcmfqk ^libsigsegv@2.15 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] 3gdq456 ^libtool@2.5.4 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] mguwetc ^file@5.46+static build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] hhjyyqy ^xz@5.8.3~pic build_system=autotools libs:=shared,static platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] punbqrx ^findutils@4.10.0 build_system=autotools patches:=440b954 platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] gxmoxea ^mpc@1.4.1 build_system=autotools libs:=shared,static platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] melg7ga ^mpfr@4.2.2 build_system=autotools libs:=shared,static platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] sf5iutv ^autoconf-archive@2024.10.16 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3
[b] bvphs3b ^perl@5.42.0+cpanm+opcode+open+shared+threads build_system=generic platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] 27d4iyp ^berkeley-db@18.1.40+cxx~docs+stl build_system=autotools patches:=26090f4,b231fcc platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] cbtgjrh ^bzip2@1.0.8~debug~pic+shared build_system=generic platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] cq4dkuc ^gdbm@1.26 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] ohmdb2l ^less@692 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] jvlaabk ^texinfo@7.2~xs build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] sle3ix4 ^gettext@1.0+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] ujlg2ua ^libxml2@2.15.3+pic~python+shared build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] f5xe4px ^tar@1.35 build_system=autotools zip=pigz platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] afklka7 ^pigz@2.8 build_system=makefile platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] ekvivpv ^ncurses@6.6~symlinks+termlib abi=none build_system=autotools patches:=7a351bc platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] g72d7i3 ^zlib-ng@2.3.3+compat+new_strategies+opt+pic+shared build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] 63aruxk ^zstd@1.5.7+programs build_system=makefile compression:=none libs:=shared,static platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[b] wf22jsg lmod@8.7.67+auto_swap~redirect build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] ywyq4f5 ^bc@1.08.2 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] litd2mh ^ed@1.4 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[b] q66mudl ^lua@5.4.8+shared build_system=makefile fetcher=curl platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] j2fa7xl ^curl@8.20.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs:=shared,static tls:=openssl platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[b] 4lyasaz ^nghttp2@1.67.1 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[+] 33yozp5 ^openssl@3.6.1~docs+shared build_system=generic certs=mozilla platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0
[b] axeuqg3 ^ca-certificates-mozilla@2026-03-19 build_system=generic platform=linux os=ubuntu26.04 target=x86_64_v3
[b] 4qgksuy ^unzip@6.0 build_system=makefile patches:=179330d,24582ff,251d575,3371314,44599c8,47e9def,4e5a081,59c0983,64f6498,74bc961,7d8e5c7,81ca46c,881d2ed,aced0f2,b6f64d7,b7a14c3,c9a863e,ee9e260,f6f6236,f88b9d4,fde8f9d platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] su5b2hs ^lua-luafilesystem@1.9.0 build_system=lua platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] egzwtik ^lua-luaposix@36.3 build_system=lua platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] bkzcu2s ^libxcrypt@4.5.2~obsolete_api build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[+] yvl6jpi ^pkgconf@2.5.1 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] ci53fkm ^procps@4.0.6+nls build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] a27iqiv ^sed@4.9 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c=gcc@15.2.0
[b] d4ibosb ^tcl@8.6.17 build_system=autotools platform=linux os=ubuntu26.04 target=x86_64_v3 %c,cxx=gcc@15.2.0

$ spack install
[ ] d4ibosb tcl@8.6.17 fetching from build cache (0s)
[ ] 4qgksuy unzip@6.0 fetching from build cache (0s)
[ ] k25xiih readline@8.3 fetching from build cache (0s)
[ ] 4qgksuy unzip@6.0 relocating (0s)
[ ] 4lyasaz nghttp2@1.67.1 fetching from build cache (0s)
[ ] vlwdxlj gcc@16.1.0 fetching from build cache (0s)
[ ] d4ibosb tcl@8.6.17 relocating (0s)
[ ] k25xiih readline@8.3 relocating (0s)
[ ] 4lyasaz nghttp2@1.67.1 relocating (0s)
[+] 4qgksuy unzip@6.0 /home/spack/spack/opt/spack/linux-x86_64_v3/unzip-6.0-4qgksuyohalb7cfo76mqqjlmndeh3tyg (0s)
[+] k25xiih readline@8.3 /home/spack/spack/opt/spack/linux-x86_64_v3/readline-8.3-k25xiihp5dun6qwe3e5ouzdigwr5yuvz (0s)
[+] 4lyasaz nghttp2@1.67.1 /home/spack/spack/opt/spack/linux-x86_64_v3/nghttp2-1.67.1-4lyasazuklpnvidiw4ty5wvybxvkh7na (0s)
[ ] vlwdxlj gcc@16.1.0 relocating (0s)
[ ] j2fa7xl curl@8.20.0 fetching from build cache (0s)
[ ] j2fa7xl curl@8.20.0 relocating (0s)
[+] j2fa7xl curl@8.20.0 /home/spack/spack/opt/spack/linux-x86_64_v3/curl-8.20.0-j2fa7xlzdvkagqked76erodvcmcd2oqp (0s)
[ ] q66mudl lua@5.4.8 fetching from build cache (0s)
[ ] q66mudl lua@5.4.8 relocating (0s)
[+] q66mudl lua@5.4.8 /home/spack/spack/opt/spack/linux-x86_64_v3/lua-5.4.8-q66mudlsappt33u2frzcijegjay54ep3 (0s)
[ ] egzwtik lua-luaposix@36.3 fetching from build cache (0s)
[ ] su5b2hs lua-luafilesystem@1.9.0 fetching from build cache (0s)
[ ] egzwtik lua-luaposix@36.3 relocating (0s)
[ ] su5b2hs lua-luafilesystem@1.9.0 relocating (0s)
[+] su5b2hs lua-luafilesystem@1.9.0 /home/spack/spack/opt/spack/linux-x86_64_v3/lua-luafilesystem-1.9.0-su5b2hsgwgk2a4b7hkys2r23kf3me6lh (0s)
[+] egzwtik lua-luaposix@36.3 /home/spack/spack/opt/spack/linux-x86_64_v3/lua-luaposix-36.3-egzwtikjsfubsjiqpwdjemys3xqv2ytf (1s)
[+] d4ibosb tcl@8.6.17 /home/spack/spack/opt/spack/linux-x86_64_v3/tcl-8.6.17-d4ibosbgfm7536ij2dmdu6nnll5g5zpm (1s)
[ ] wf22jsg lmod@8.7.67 fetching from build cache (0s)
[ ] wf22jsg lmod@8.7.67 relocating (0s)
[+] wf22jsg lmod@8.7.67 /home/spack/spack/opt/spack/linux-x86_64_v3/lmod-8.7.67-wf22jsggn5vfsyoyuqm6ban76y7333we (0s)
[+] vlwdxlj gcc@16.1.0 /home/spack/spack/opt/spack/linux-x86_64_v3/gcc-16.1.0-vlwdxljzbis42fjrlecvyo4tmuq5eebn (1s)
5 changes: 0 additions & 5 deletions outputs/stacks/compiler-find-0.out

This file was deleted.

2 changes: 0 additions & 2 deletions outputs/stacks/compiler-find-1.out

This file was deleted.

7 changes: 0 additions & 7 deletions outputs/stacks/compiler-list-0.out

This file was deleted.

Loading
Loading