@@ -9,7 +9,7 @@ project="$(dirname "$0")"
99
1010export SPACK_COLOR=never
1111
12- # basic installation
12+ # Setting Up Spack
1313example basics/clone " git clone --depth=2 --branch=$tutorial_branch https://github.com/spack/spack.git ~/spack"
1414example basics/clone " cd ~/spack"
1515
@@ -21,61 +21,64 @@ spack config add "config:suppress_gpg_warnings:true"
2121
2222example basics/source-setup " . share/spack/setup-env.sh"
2323
24- # spack list
24+ spack repo update
25+
26+ # Installing Packages
2527example basics/list " spack list"
2628example basics/list-py " spack list 'py-*'"
2729
2830# spack install
29- example basics/gmake " spack install gmake"
31+ example --tee basics/gmake " spack install gmake"
3032
3133example basics/compiler-list " spack compilers"
3234
33- example basics/mirror " spack mirror add tutorial /mirror"
3435example basics/mirror " spack buildcache keys --install --trust --yes-to-all"
3536
36- example basics/zlib-clang " spack install zlib-ng %clang"
37-
37+ # The Spec Syntax
3838example basics/versions-zlib " spack versions zlib-ng"
39- example basics/zlib-2.0.7 " spack install zlib-ng@2.0.7"
40- example basics/zlib-gcc-10 " spack install zlib-ng %gcc@10"
39+ example --tee basics/zlib-2.0.7 " spack install zlib-ng@2.0.7"
4140
42- example basics/zlib-O3 " spack install zlib-ng@2.0.7 cflags=-O3"
43-
44- example basics/find " spack find"
45- example basics/find-lf " spack find -lf"
41+ example basics/info-zlib " spack info --no-dependencies --no-versions zlib-ng"
4642
47- example basics/tcl " spack install tcl"
43+ example --tee basics/zlib-ipo " spack install zlib-ng +ipo"
44+ example --tee basics/zlib-build-type " spack install zlib-ng build_type=Debug"
4845
49- example basics/tcl-zlib-clang " spack install tcl ^zlib-ng@2.0.7 %clang"
46+ example --tee basics/zlib-clang " spack install zlib-ng %clang"
47+ example --tee basics/zlib-gcc-14 " spack install zlib-ng %gcc@14"
5048
51- zlib_hash= $( spack find --format " {hash:3} " zlib-ng cflags=-O3 )
52- example basics/tcl-zlib-hash " spack install tcl ^/ ${zlib_hash} "
49+ example basics/spec-tcl-zlib-clang " spack spec -l tcl ^ zlib-ng@2.0.7 %clang "
50+ example --tee basics/tcl-zlib-clang " spack install tcl ^zlib-ng@2.0.7 %clang "
5351
54- example basics/find-ldf " spack find -ldf"
52+ # Refer to the zlib-ng@2.0.7 %clang build we just installed by its hash
53+ zlib_hash=$( spack find --format " {hash:3}" zlib-ng@2.0.7 %clang)
54+ example basics/spec-tcl-zlib-hash " spack spec tcl ^/${zlib_hash} "
5555
5656example basics/graph-tcl " spack graph tcl"
5757
58+ example basics/providers-mpi " spack providers mpi"
5859example basics/hdf5-spec " spack spec hdf5"
59- example basics/hdf5 " spack install hdf5"
60- example basics/hdf5-no-mpi " spack install hdf5~mpi"
61-
62- example basics/hdf5-hl-mpi " spack install hdf5+hl+mpi ^mpich"
63-
64- example basics/find-ldf-2 " spack find -ldf"
65-
66- example basics/trilinos " spack install trilinos"
67-
68- example basics/trilinos-hdf5 " spack install trilinos +hdf5 ^hdf5+hl+mpi ^mpich"
60+ example --tee basics/hdf5 " spack install hdf5"
61+ example --tee basics/hdf5-no-mpi " spack install hdf5~mpi"
6962
70- example basics/find-d-trilinos " spack find -d trilinos"
71-
72- example basics/graph-trilinos " spack graph trilinos"
63+ example --tee basics/hdf5-mpich " spack install hdf5 ^mpich"
64+ example basics/spec-hdf5-compilers " spack spec hdf5 %c,cxx=clang %fortran=gcc"
7365
66+ # Querying Installations
67+ example basics/find " spack find"
68+ example basics/find-l " spack find -l"
7469example basics/find-d-tcl " spack find -d tcl"
70+ example basics/find-dep-mpich " spack find ^mpich"
71+ example basics/find-px " spack find -px"
7572
73+ # A Realistic Example
74+ example --tee basics/trilinos " spack install trilinos"
75+ example --tee basics/trilinos-hdf5 " spack install trilinos +hdf5 ^mpich"
76+ example basics/trilinos-find-mpich " spack find ^mpich"
77+
78+ # Uninstalling Packages
7679example basics/find-zlib " spack find zlib-ng"
7780
78- example basics/uninstall-zlib " spack uninstall -y zlib-ng %gcc@10 "
81+ example basics/uninstall-zlib " spack uninstall -y zlib-ng %gcc@14 "
7982
8083example basics/find-lf-zlib " spack find -lf zlib-ng"
8184
@@ -88,18 +91,11 @@ example --expect-error basics/uninstall-ambiguous "spack uninstall trilinos"
8891trilinos_hash=" $( spack find --format ' {hash:3}' trilinos ^openmpi) "
8992echo y | example basics/uninstall-specific " spack uninstall /$trilinos_hash "
9093
91- example basics/find-dep-mpich " spack find ^mpich"
92-
93- example basics/find-O3 " spack find cflags=-O3"
94-
95- example basics/find-px " spack find -px"
96-
97- example basics/compilers " spack compilers"
98-
99- example basics/install-gcc-12.1.0 " spack install gcc@12"
94+ # Customizing Compilers
95+ example --tee basics/install-gcc-16 " spack install gcc@16"
10096
10197example basics/compilers-2 " spack compilers"
10298
103- example basics/spec-zziplib " spack spec zziplib %gcc@12 "
99+ example basics/spec-zziplib " spack spec zziplib %gcc@16 "
104100
105- echo y | example basics/compiler-uninstall ' spack uninstall gcc@12 '
101+ example basics/compiler-uninstall ' spack uninstall -y gcc@16 '
0 commit comments