Tutorial setup

If you have not done the prior sections, you’ll need to set Spack up like this:

git clone https://github.com/spack/spack
. spack/share/spack/setup-env.sh
spack tutorial

See the Basic Installation Tutorial for full details on setup. For more help join us in the #tutorial channel on Slack – get an invitation at spackpm.herokuapp.com

Developer Workflows Tutorial

This tutorial will guide you through the process of using the spack develop command to develop software from local source code within a spack environment. With this command spack will manage your dependencies while you focus on testing changes to your library and/or application.

Installing from local source

The spack install command, as you know, fetches source code from a mirror or the internet before building and installing your package. As developers, we want to build from local source, which we will constantly change, build, and test.

Let’s imagine for a second we’re working on scr. scr is a library used to implement scalable checkpointing in application codes. It supports writing/reading checkpoints quickly and efficiently using MPI and high-bandwidth file I/O. We’d like to test changes to scr within an actual application so we’ll test with macsio, a proxy application written to mimic typical HPC I/O workloads. We’ve chosen scr and macsio because together they are quick to build.

We’ll start by making an environment for our development. We need to build macsio with scr support, and we’d like everything to be built without fortran support for the time being. Let’s set up that development workflow.

$ cd ~
$ mkdir devel-env
$ cd devel-env
$ spack env create -d .
==> Created environment in /home/spack/devel-env
==> You can activate this environment with:
==>   spack env activate /home/spack/devel-env
$ spacktivate .
$ #  for now, disable fortran support in all packages
$ spack config add "packages:all:variants: ~fortran"
$ spack add macsio+scr
==> Adding macsio+scr to environment /home/spack/devel-env
$ spack install
==> Bootstrapping clingo from pre-built binaries
==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.2/build_cache/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-dzhvhynye4z7oalowdcy5zt25lej3m2n.spec.json
==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.2/build_cache/linux-centos7-x86_64/gcc-10.2.1/clingo-bootstrap-spack/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-dzhvhynye4z7oalowdcy5zt25lej3m2n.spack
==> Installing "clingo-bootstrap@spack%gcc@10.2.1~docs~ipo+python+static_libstdcpp build_type=Release arch=linux-centos7-x86_64" from a buildcache
==> Bootstrapping patchelf from pre-built binaries
==> Bootstrapping patchelf@0.13.1:0.13.99 %gcc target=x86_64 from sources
==> Waiting for patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75
==> Installing patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75
==> No binary for patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75 found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/08/08c0237e89be74d61ddf8f6ff218439cdd62af572d568fb38913b53e222831de.tar.gz
==> No patches needed for patchelf
==> patchelf: Executing phase: 'autoreconf'
==> patchelf: Executing phase: 'configure'
==> patchelf: Executing phase: 'build'
==> patchelf: Executing phase: 'install'
==> patchelf: Successfully installed patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75
  Fetch: 0.27s.  Build: 8.35s.	Total: 8.62s.
[+] /home/spack/.spack/bootstrap/store/linux-ubuntu18.04-x86_64/gcc-7.5.0/patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75
==> Starting concretization
==> Environment concretized in 22.21 seconds.
==> Concretized macsio+scr
 -   lylk523  macsio@1.1%gcc@7.5.0~exodus~hdf5~ipo+mpi~pdb+scr+silo~szip~typhonio~zfp~zlib build_type=RelWithDebInfo patches=59479b9 arch=linux-ubuntu18.04-x86_64
 -   2cj3pok	  ^json-cwx@0.12%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   p5qicac	  ^openmpi@4.1.1%gcc@7.5.0~atomics~cuda~cxx~cxx_exceptions+gpfs~internal-hwloc~java~legacylaunchers~lustre~memchecker~pmi~pmix~singularity~sqlite3+static~thread_multiple+vt+wrapper-rpath fabrics=none schedulers=none arch=linux-ubuntu18.04-x86_64
 -   gedgnpg	      ^hwloc@2.6.0%gcc@7.5.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~opencl+pci~rocm+shared arch=linux-ubuntu18.04-x86_64
 -   ryhmw2g		  ^libpciaccess@0.16%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   2hw4ddh		  ^libxml2@2.9.12%gcc@7.5.0~python arch=linux-ubuntu18.04-x86_64
 -   qi7dxj6		      ^libiconv@1.16%gcc@7.5.0 libs=shared,static arch=linux-ubuntu18.04-x86_64
 -   nplaaps		      ^xz@5.2.5%gcc@7.5.0~pic libs=shared,static arch=linux-ubuntu18.04-x86_64
 -   3rlgy7y		      ^zlib@1.2.11%gcc@7.5.0+optimize+pic+shared arch=linux-ubuntu18.04-x86_64
 -   d34lizg		  ^ncurses@6.2%gcc@7.5.0~symlinks+termlib abi=none arch=linux-ubuntu18.04-x86_64
 -   xai6pyc	      ^libevent@2.1.12%gcc@7.5.0+openssl arch=linux-ubuntu18.04-x86_64
 -   lygx3cq		  ^openssl@1.1.1l%gcc@7.5.0~docs certs=system arch=linux-ubuntu18.04-x86_64
 -   3opot4q	      ^numactl@2.0.14%gcc@7.5.0 patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu18.04-x86_64
 -   ux36qlb	      ^openssh@8.7p1%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   3lzuqwn		  ^libedit@3.1-20210216%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   bsfun5w	  ^scr@2.0.0%gcc@7.5.0+dtcmp~fortran~ipo+libyogrt async_api=NONE build_type=RelWithDebInfo cache_base=/dev/shm cntl_base=/dev/shm copy_config=none file_lock=FLOCK resource_manager=SLURM scr_config=scr.conf arch=linux-ubuntu18.04-x86_64
 -   jcs7klx	      ^dtcmp@1.1.3%gcc@7.5.0+shared arch=linux-ubuntu18.04-x86_64
 -   45q636p		  ^lwgrp@1.0.4%gcc@7.5.0+shared arch=linux-ubuntu18.04-x86_64
 -   p3d3hsx	      ^libyogrt@1.24%gcc@7.5.0~static scheduler=slurm arch=linux-ubuntu18.04-x86_64
 -   o245qon		  ^slurm@21-08-1-1%gcc@7.5.0~gtk~hdf5~hwloc~mariadb~pmix+readline~restd sysconfdir=PREFIX/etc arch=linux-ubuntu18.04-x86_64
 -   5qolphz		      ^curl@7.79.0%gcc@7.5.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2~nghttp2 tls=openssl arch=linux-ubuntu18.04-x86_64
 -   fp5v742		      ^glib@2.70.0%gcc@7.5.0~libmount patches=8547954 tracing=none arch=linux-ubuntu18.04-x86_64
 -   2zkxpoq			  ^gettext@0.21%gcc@7.5.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-ubuntu18.04-x86_64
 -   55rtzz4			      ^bzip2@1.0.8%gcc@7.5.0~debug~pic+shared arch=linux-ubuntu18.04-x86_64
 -   otlzkgd			      ^tar@1.34%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   4bz34d3			  ^libffi@3.3%gcc@7.5.0 patches=26f26c6 arch=linux-ubuntu18.04-x86_64
 -   cgah7ko			  ^pcre@8.44%gcc@7.5.0~jit+multibyte+utf arch=linux-ubuntu18.04-x86_64
 -   672tzld			  ^perl@5.34.0%gcc@7.5.0+cpanm+shared+threads arch=linux-ubuntu18.04-x86_64
 -   ue5lnfm			      ^berkeley-db@18.1.40%gcc@7.5.0+cxx~docs+stl patches=b231fcc arch=linux-ubuntu18.04-x86_64
 -   oftaepj			      ^gdbm@1.19%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   27u6g7p				  ^readline@8.1%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   g2gj6mw			  ^python@3.8.12%gcc@7.5.0+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93,4c24573,f2fd060 arch=linux-ubuntu18.04-x86_64
 -   j3i7qne			      ^expat@2.4.1%gcc@7.5.0+libbsd arch=linux-ubuntu18.04-x86_64
 -   j5lylsy				  ^libbsd@0.11.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   aq7ydx6				      ^libmd@1.0.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   ckghzv6			      ^sqlite@3.36.0%gcc@7.5.0+column_metadata+fts~functions~rtree arch=linux-ubuntu18.04-x86_64
 -   c23s54s			      ^util-linux-uuid@2.36.2%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   2dxobcc		      ^json-c@0.15%gcc@7.5.0~ipo build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
 -   nuqiq66		      ^lz4@1.9.3%gcc@7.5.0 libs=shared,static arch=linux-ubuntu18.04-x86_64
 -   h2wjv26		      ^munge@0.5.14%gcc@7.5.0 localstatedir=PREFIX/var arch=linux-ubuntu18.04-x86_64
 -   64zlffc			  ^libgcrypt@1.9.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   cexzidc			      ^libgpg-error@1.42%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   6ffspsj	      ^pdsh@2.31%gcc@7.5.0+ssh+static_modules arch=linux-ubuntu18.04-x86_64
 -   k6jhkin	  ^silo@4.10.2%gcc@7.5.0~fortran+fpzip+hdf5+hzip+mpi+pic+shared~silex patches=7b5a1dc,952d3c9 arch=linux-ubuntu18.04-x86_64
 -   vt7sza3	      ^hdf5@1.10.7%gcc@7.5.0~cxx~fortran~hl~ipo~java+mpi+shared~szip~threadsafe+tools api=default build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
 -   ucp6vz7		  ^pkgconf@1.8.0%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64

==> Installing environment /home/spack/devel-env
==> Waiting for json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
==> Installing json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-cwx-0.12/linux-ubuntu18.04-x86_64-gcc-7.5.0-json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4.spack
==> Extracting json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
==> Waiting for libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
==> Installing libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libpciaccess-0.16/linux-ubuntu18.04-x86_64-gcc-7.5.0-libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2.spack
==> Extracting libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
==> Waiting for libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
==> Installing libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libiconv-1.16/linux-ubuntu18.04-x86_64-gcc-7.5.0-libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig.spack
==> Extracting libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
==> Waiting for xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
==> Installing xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/xz-5.2.5/linux-ubuntu18.04-x86_64-gcc-7.5.0-xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti.spack
==> Extracting xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
==> Waiting for zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
==> Installing zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/zlib-1.2.11/linux-ubuntu18.04-x86_64-gcc-7.5.0-zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd.spack
==> Extracting zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
==> Waiting for ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
==> Installing ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/ncurses-6.2/linux-ubuntu18.04-x86_64-gcc-7.5.0-ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w.spack
==> Extracting ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
==> Waiting for numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
==> Installing numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/numactl-2.0.14/linux-ubuntu18.04-x86_64-gcc-7.5.0-numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76.spack
==> Extracting numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
==> Waiting for bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
==> Installing bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/bzip2-1.0.8/linux-ubuntu18.04-x86_64-gcc-7.5.0-bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3.spack
==> Extracting bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
==> Waiting for libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
==> Installing libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libffi-3.3/linux-ubuntu18.04-x86_64-gcc-7.5.0-libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm.spack
==> Extracting libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
==> Waiting for pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
==> Installing pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/pcre-8.44/linux-ubuntu18.04-x86_64-gcc-7.5.0-pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf.spack
==> Extracting pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
==> Waiting for berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
==> Installing berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/berkeley-db-18.1.40/linux-ubuntu18.04-x86_64-gcc-7.5.0-berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb.spack
==> Extracting berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
==> Waiting for libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
==> Installing libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libmd-1.0.3/linux-ubuntu18.04-x86_64-gcc-7.5.0-libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4.spack
==> Extracting libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
==> Waiting for util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
==> Installing util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/util-linux-uuid-2.36.2/linux-ubuntu18.04-x86_64-gcc-7.5.0-util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67.spack
==> Extracting util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
==> Waiting for json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
==> Installing json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-c-0.15/linux-ubuntu18.04-x86_64-gcc-7.5.0-json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7.spack
==> Extracting json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
==> Waiting for lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
==> Installing lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/lz4-1.9.3/linux-ubuntu18.04-x86_64-gcc-7.5.0-lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg.spack
==> Extracting lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
==> Waiting for libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
==> Installing libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgpg-error-1.42/linux-ubuntu18.04-x86_64-gcc-7.5.0-libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c.spack
==> Extracting libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
==> Waiting for pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
==> Installing pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/pdsh-2.31/linux-ubuntu18.04-x86_64-gcc-7.5.0-pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275.spack
==> Extracting pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
==> Waiting for pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
==> Installing pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/pkgconf-1.8.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po.spack
==> Extracting pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
==> Waiting for tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
==> Installing tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/tar-1.34/linux-ubuntu18.04-x86_64-gcc-7.5.0-tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg.spack
==> Extracting tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
==> Waiting for openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
==> Installing openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssl-1.1.1l/linux-ubuntu18.04-x86_64-gcc-7.5.0-openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih.spack
==> Extracting openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
==> Waiting for libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
==> Installing libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libxml2-2.9.12/linux-ubuntu18.04-x86_64-gcc-7.5.0-libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj.spack
==> Extracting libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
==> Waiting for libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
==> Installing libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libedit-3.1-20210216/linux-ubuntu18.04-x86_64-gcc-7.5.0-libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5.spack
==> Extracting libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
==> Waiting for readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
==> Installing readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/readline-8.1/linux-ubuntu18.04-x86_64-gcc-7.5.0-readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg.spack
==> Extracting readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
==> Waiting for libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
==> Installing libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libbsd-0.11.3/linux-ubuntu18.04-x86_64-gcc-7.5.0-libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66.spack
==> Extracting libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
==> Waiting for libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
==> Installing libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgcrypt-1.9.3/linux-ubuntu18.04-x86_64-gcc-7.5.0-libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2.spack
==> Extracting libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
==> Waiting for libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
==> Installing libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libevent-2.1.12/linux-ubuntu18.04-x86_64-gcc-7.5.0-libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw.spack
==> Extracting libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
==> Waiting for curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
==> Installing curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/curl-7.79.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj.spack
==> Extracting curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
==> Waiting for hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
==> Installing hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/hwloc-2.6.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p.spack
==> Extracting hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
==> Waiting for gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
==> Installing gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/gettext-0.21/linux-ubuntu18.04-x86_64-gcc-7.5.0-gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl.spack
==> Extracting gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
==> Waiting for openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
==> Installing openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssh-8.7p1/linux-ubuntu18.04-x86_64-gcc-7.5.0-openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy.spack
==> Extracting openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
==> Waiting for sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
==> Installing sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/sqlite-3.36.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5.spack
==> Extracting sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
==> Waiting for gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
==> Installing gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/gdbm-1.19/linux-ubuntu18.04-x86_64-gcc-7.5.0-gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn.spack
==> Extracting gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
==> Waiting for expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
==> Installing expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/expat-2.4.1/linux-ubuntu18.04-x86_64-gcc-7.5.0-expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln.spack
==> Extracting expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
==> Waiting for munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
==> Installing munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/munge-0.5.14/linux-ubuntu18.04-x86_64-gcc-7.5.0-munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7.spack
==> Extracting munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
==> Waiting for openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
==> Installing openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1/linux-ubuntu18.04-x86_64-gcc-7.5.0-openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv.spack
==> Extracting openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
==> Waiting for perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
==> Installing perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/perl-5.34.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv.spack
==> Extracting perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
==> Waiting for python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
==> Installing python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/python-3.8.12/linux-ubuntu18.04-x86_64-gcc-7.5.0-python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb.spack
==> Extracting python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
==> Waiting for hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
==> Installing hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/hdf5-1.10.7/linux-ubuntu18.04-x86_64-gcc-7.5.0-hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r.spack
==> Extracting hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
==> Waiting for lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
==> Installing lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/lwgrp-1.0.4/linux-ubuntu18.04-x86_64-gcc-7.5.0-lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b.spack
==> Extracting lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
==> Waiting for glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
==> Installing glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/glib-2.70.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr.spack
==> Extracting glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
==> Waiting for silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
==> Installing silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/silo-4.10.2/linux-ubuntu18.04-x86_64-gcc-7.5.0-silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6.spack
==> Extracting silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
==> Waiting for dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
==> Installing dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/dtcmp-1.1.3/linux-ubuntu18.04-x86_64-gcc-7.5.0-dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf.spack
==> Extracting dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
==> Waiting for slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
==> Installing slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/slurm-21-08-1-1/linux-ubuntu18.04-x86_64-gcc-7.5.0-slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be.spack
==> Extracting slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
==> Waiting for libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
==> Installing libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/libyogrt-1.24/linux-ubuntu18.04-x86_64-gcc-7.5.0-libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6.spack
==> Extracting libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
==> Waiting for scr-2.0.0-bsfun5wjbjhvfqivmwl7rbu46lfau4j7
==> Installing scr-2.0.0-bsfun5wjbjhvfqivmwl7rbu46lfau4j7
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-scr-2.0.0-bsfun5wjbjhvfqivmwl7rbu46lfau4j7.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/scr-2.0.0/linux-ubuntu18.04-x86_64-gcc-7.5.0-scr-2.0.0-bsfun5wjbjhvfqivmwl7rbu46lfau4j7.spack
==> Extracting scr-2.0.0-bsfun5wjbjhvfqivmwl7rbu46lfau4j7 from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/scr-2.0.0-bsfun5wjbjhvfqivmwl7rbu46lfau4j7
==> Waiting for macsio-1.1-lylk523jzbjhksfnc2242ksdulveapsi
==> Installing macsio-1.1-lylk523jzbjhksfnc2242ksdulveapsi
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-macsio-1.1-lylk523jzbjhksfnc2242ksdulveapsi.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/macsio-1.1/linux-ubuntu18.04-x86_64-gcc-7.5.0-macsio-1.1-lylk523jzbjhksfnc2242ksdulveapsi.spack
==> Extracting macsio-1.1-lylk523jzbjhksfnc2242ksdulveapsi from binary cache
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/macsio-1.1-lylk523jzbjhksfnc2242ksdulveapsi
==> Updating view at /home/spack/devel-env/.spack-env/view

Before we do any work, we verify that this all builds. Spack ends up building the entire development tree below, and links everything together for you.

digraph G { labelloc = "b" rankdir = "TB" ranksep = "1" edge[ penwidth=4 ] node[ fontname=Monaco, penwidth=4, fontsize=24, margin=.2, shape=box, fillcolor=lightblue, style="rounded,filled" ] "4sh6pymrm2ms4auu3ajbjjr6fiuhz5g7" [label="pkgconf"] "7tkgwjvu2mi4ea2wsdetunq7g4k4r2nh" [label="json-cwx"] "4ihuiazsglf22f3pntq5hc4kyszqzexn" [label="berkeley-db"] "jearpk4xci4zc7dkrza4fufaqfkq7rfl" [label="libiconv"] "d2krmb5gweivlnztcymhklzsqbrpatt6" [label="automake"] "gs6ag7ktdoiirb62t7bcagjw62szrrg2" [label="util-macros"] "yn2r3wfhiilelyulh5toteicdtxjhw7d" [label="libxml2"] "lbrx7lnfz46ukewxbhxnucmx76g23c6q" [label="libsigsegv"] "bob4o5m3uku6vtdil5imasprgy775zg7" [label="libpciaccess"] "pmsyupw6w3gql4loaor25gfumlmvkl25" [label="openmpi"] "mkc3u4x2p2wie6jfhuku7g5rkovcrxps" [label="m4"] "jdxbjftheiotj6solpomva7dowrhlerl" [label="libtool"] "mm33a3ocsv3jsh2tfxc4mlab4xsurtdd" [label="autoconf"] "zfdvt2jjuaees43ffrrtphqs2ky3o22t" [label="perl"] "t54jzdy2jj4snltjazlm3br2urcilc6v" [label="readline"] "4av4gywgpaspkhy3dvbb62nulqogtzbb" [label="gdbm"] "crhlefo3dv7lmsv5pf4icsy4gepkdorm" [label="ncurses"] "bltycqwh5oofai4f6o42q4uuj4w5zb3j" [label="cmake"] "zqwfzhw5k2ollygh6nrjpsi7u4d4g6lu" [label="hwloc"] "vedchc5aoqyu3ydbp346qrbpe6kg46rq" [label="hdf5"] "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" [label="numactl"] "komekkmyciga3kl24edjmredhj3uyt7v" [label="xz"] "es377uqsqougfc67jyg7yfjyyuukin52" [label="openssl"] "vfrf7asfclt7epufnoxibfqbkntbk5k3" [label="silo"] "smoyzzo2qhzpn6mg6rd3l2p7b23enshg" [label="zlib"] "sz72vygmht66khd5aa4kihz5alg4nrbm" [label="macsio"] "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" -> "jdxbjftheiotj6solpomva7dowrhlerl" "zqwfzhw5k2ollygh6nrjpsi7u4d4g6lu" -> "4sh6pymrm2ms4auu3ajbjjr6fiuhz5g7" "sz72vygmht66khd5aa4kihz5alg4nrbm" -> "vfrf7asfclt7epufnoxibfqbkntbk5k3" "vfrf7asfclt7epufnoxibfqbkntbk5k3" -> "t54jzdy2jj4snltjazlm3br2urcilc6v" "crhlefo3dv7lmsv5pf4icsy4gepkdorm" -> "4sh6pymrm2ms4auu3ajbjjr6fiuhz5g7" "7tkgwjvu2mi4ea2wsdetunq7g4k4r2nh" -> "mkc3u4x2p2wie6jfhuku7g5rkovcrxps" "sz72vygmht66khd5aa4kihz5alg4nrbm" -> "pmsyupw6w3gql4loaor25gfumlmvkl25" "zqwfzhw5k2ollygh6nrjpsi7u4d4g6lu" -> "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" "7tkgwjvu2mi4ea2wsdetunq7g4k4r2nh" -> "d2krmb5gweivlnztcymhklzsqbrpatt6" "es377uqsqougfc67jyg7yfjyyuukin52" -> "smoyzzo2qhzpn6mg6rd3l2p7b23enshg" "bltycqwh5oofai4f6o42q4uuj4w5zb3j" -> "crhlefo3dv7lmsv5pf4icsy4gepkdorm" "mm33a3ocsv3jsh2tfxc4mlab4xsurtdd" -> "zfdvt2jjuaees43ffrrtphqs2ky3o22t" "es377uqsqougfc67jyg7yfjyyuukin52" -> "zfdvt2jjuaees43ffrrtphqs2ky3o22t" "7tkgwjvu2mi4ea2wsdetunq7g4k4r2nh" -> "jdxbjftheiotj6solpomva7dowrhlerl" "mkc3u4x2p2wie6jfhuku7g5rkovcrxps" -> "lbrx7lnfz46ukewxbhxnucmx76g23c6q" "bltycqwh5oofai4f6o42q4uuj4w5zb3j" -> "es377uqsqougfc67jyg7yfjyyuukin52" "vedchc5aoqyu3ydbp346qrbpe6kg46rq" -> "smoyzzo2qhzpn6mg6rd3l2p7b23enshg" "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" -> "d2krmb5gweivlnztcymhklzsqbrpatt6" "zfdvt2jjuaees43ffrrtphqs2ky3o22t" -> "4av4gywgpaspkhy3dvbb62nulqogtzbb" "vedchc5aoqyu3ydbp346qrbpe6kg46rq" -> "pmsyupw6w3gql4loaor25gfumlmvkl25" "d2krmb5gweivlnztcymhklzsqbrpatt6" -> "mm33a3ocsv3jsh2tfxc4mlab4xsurtdd" "bob4o5m3uku6vtdil5imasprgy775zg7" -> "jdxbjftheiotj6solpomva7dowrhlerl" "yn2r3wfhiilelyulh5toteicdtxjhw7d" -> "komekkmyciga3kl24edjmredhj3uyt7v" "pmsyupw6w3gql4loaor25gfumlmvkl25" -> "smoyzzo2qhzpn6mg6rd3l2p7b23enshg" "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" -> "mm33a3ocsv3jsh2tfxc4mlab4xsurtdd" "vfrf7asfclt7epufnoxibfqbkntbk5k3" -> "vedchc5aoqyu3ydbp346qrbpe6kg46rq" "bob4o5m3uku6vtdil5imasprgy775zg7" -> "gs6ag7ktdoiirb62t7bcagjw62szrrg2" "d2krmb5gweivlnztcymhklzsqbrpatt6" -> "zfdvt2jjuaees43ffrrtphqs2ky3o22t" "7tkgwjvu2mi4ea2wsdetunq7g4k4r2nh" -> "mm33a3ocsv3jsh2tfxc4mlab4xsurtdd" "vfrf7asfclt7epufnoxibfqbkntbk5k3" -> "smoyzzo2qhzpn6mg6rd3l2p7b23enshg" "zfdvt2jjuaees43ffrrtphqs2ky3o22t" -> "4ihuiazsglf22f3pntq5hc4kyszqzexn" "bob4o5m3uku6vtdil5imasprgy775zg7" -> "4sh6pymrm2ms4auu3ajbjjr6fiuhz5g7" "vfrf7asfclt7epufnoxibfqbkntbk5k3" -> "pmsyupw6w3gql4loaor25gfumlmvkl25" "zqwfzhw5k2ollygh6nrjpsi7u4d4g6lu" -> "bob4o5m3uku6vtdil5imasprgy775zg7" "yn2r3wfhiilelyulh5toteicdtxjhw7d" -> "jearpk4xci4zc7dkrza4fufaqfkq7rfl" "sz72vygmht66khd5aa4kihz5alg4nrbm" -> "bltycqwh5oofai4f6o42q4uuj4w5zb3j" "pmsyupw6w3gql4loaor25gfumlmvkl25" -> "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" "sz72vygmht66khd5aa4kihz5alg4nrbm" -> "7tkgwjvu2mi4ea2wsdetunq7g4k4r2nh" "yn2r3wfhiilelyulh5toteicdtxjhw7d" -> "smoyzzo2qhzpn6mg6rd3l2p7b23enshg" "t54jzdy2jj4snltjazlm3br2urcilc6v" -> "crhlefo3dv7lmsv5pf4icsy4gepkdorm" "pmsyupw6w3gql4loaor25gfumlmvkl25" -> "zqwfzhw5k2ollygh6nrjpsi7u4d4g6lu" "4av4gywgpaspkhy3dvbb62nulqogtzbb" -> "t54jzdy2jj4snltjazlm3br2urcilc6v" "jdxbjftheiotj6solpomva7dowrhlerl" -> "mkc3u4x2p2wie6jfhuku7g5rkovcrxps" "yn2r3wfhiilelyulh5toteicdtxjhw7d" -> "4sh6pymrm2ms4auu3ajbjjr6fiuhz5g7" "mm33a3ocsv3jsh2tfxc4mlab4xsurtdd" -> "mkc3u4x2p2wie6jfhuku7g5rkovcrxps" "zqwfzhw5k2ollygh6nrjpsi7u4d4g6lu" -> "yn2r3wfhiilelyulh5toteicdtxjhw7d" "pmsyupw6w3gql4loaor25gfumlmvkl25" -> "4sh6pymrm2ms4auu3ajbjjr6fiuhz5g7" "wbqbc5vw5sxzwhvu56p6x5nd5n4abrvh" -> "mkc3u4x2p2wie6jfhuku7g5rkovcrxps" }

Now we are ready to begin work on the actual application.

Development iteration cycles

Let’s assume that scr has a bug, and we’d like to patch scr to find out what the problem is. First, we tell spack that we’d like to check out a development version of scr:

$ spack develop scr@3.0rc2
==> Configuring spec scr@3.0rc2 for development at path scr
==> Fetching https://mirror.spack.io/_source-cache/archive/4b/4b2a718af56b3683e428d25a2269c038e9452db734221d370e3023a491477fad.tar.gz
$ grep -3 develop: spack.yaml
  packages:
    all:
      variants: ~fortran
  develop:
    scr:
      spec: scr@3.0rc2

The spack develop command marks the package as being a “development” package in the spack.yaml. This adds a special dev_path= attribute to the spec for the package, so spack remembers where the source code for this package is located. The develop command also downloads/checks out the source code for the package. By default, the source code is downloaded into a subdirectory of the environment. You can change the location of this source directory by modifying the path: attribute of the develop configuration in the environment.

There are a two gotchas with the spack develop command

  • You need to manually specify the package version when specifying a package as a dev package. Spack needs to know the version of the dev package so it can supply the correct flags for the package’s build system.
  • You’ll need to re-concretize the environment so that the version number and the dev_path= attributes are properly added to the cached spec in spack.lock.
$ spack concretize -f
==> Starting concretization
==> Environment concretized in 25.14 seconds.
==> Concretized macsio+scr
 -   qi4pksp  macsio@1.1%gcc@7.5.0~exodus~hdf5~ipo+mpi~pdb+scr+silo~szip~typhonio~zfp~zlib build_type=RelWithDebInfo patches=59479b9 arch=linux-ubuntu18.04-x86_64
 -   anj6kcx	  ^cmake@3.21.4%gcc@7.5.0~doc+ncurses+openssl+ownlibs~qt build_type=Release arch=linux-ubuntu18.04-x86_64
[+]  d34lizg	      ^ncurses@6.2%gcc@7.5.0~symlinks+termlib abi=none arch=linux-ubuntu18.04-x86_64
[+]  lygx3cq	      ^openssl@1.1.1l%gcc@7.5.0~docs certs=system arch=linux-ubuntu18.04-x86_64
[+]  3rlgy7y		  ^zlib@1.2.11%gcc@7.5.0+optimize+pic+shared arch=linux-ubuntu18.04-x86_64
[+]  2cj3pok	  ^json-cwx@0.12%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  p5qicac	  ^openmpi@4.1.1%gcc@7.5.0~atomics~cuda~cxx~cxx_exceptions+gpfs~internal-hwloc~java~legacylaunchers~lustre~memchecker~pmi~pmix~singularity~sqlite3+static~thread_multiple+vt+wrapper-rpath fabrics=none schedulers=none arch=linux-ubuntu18.04-x86_64
[+]  gedgnpg	      ^hwloc@2.6.0%gcc@7.5.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~opencl+pci~rocm+shared arch=linux-ubuntu18.04-x86_64
[+]  ryhmw2g		  ^libpciaccess@0.16%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  2hw4ddh		  ^libxml2@2.9.12%gcc@7.5.0~python arch=linux-ubuntu18.04-x86_64
[+]  qi7dxj6		      ^libiconv@1.16%gcc@7.5.0 libs=shared,static arch=linux-ubuntu18.04-x86_64
[+]  nplaaps		      ^xz@5.2.5%gcc@7.5.0~pic libs=shared,static arch=linux-ubuntu18.04-x86_64
[+]  xai6pyc	      ^libevent@2.1.12%gcc@7.5.0+openssl arch=linux-ubuntu18.04-x86_64
[+]  3opot4q	      ^numactl@2.0.14%gcc@7.5.0 patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu18.04-x86_64
[+]  ux36qlb	      ^openssh@8.7p1%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  3lzuqwn		  ^libedit@3.1-20210216%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
 -   pf7aims	  ^scr@3.0rc2%gcc@7.5.0+bbapi~bbapi_fallback~dw+examples~fortran~ipo+libyogrt+pdsh+shared+tests build_type=RelWithDebInfo cache_base=/dev/shm cntl_base=/dev/shm copy_config=none dev_path=/home/spack/devel-env/scr file_lock=FLOCK resource_manager=SLURM scr_config=scr.conf arch=linux-ubuntu18.04-x86_64
 -   rxun63l	      ^axl@0.5.0%gcc@7.5.0+bbapi~bbapi_fallback~dw~ipo+shared async_api=daemon build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
 -   w4o6stu		  ^kvtree@1.2.0%gcc@7.5.0~ipo+mpi+shared build_type=RelWithDebInfo file_lock=FLOCK arch=linux-ubuntu18.04-x86_64
[+]  jcs7klx	      ^dtcmp@1.1.3%gcc@7.5.0+shared arch=linux-ubuntu18.04-x86_64
[+]  45q636p		  ^lwgrp@1.0.4%gcc@7.5.0+shared arch=linux-ubuntu18.04-x86_64
 -   exjzn32	      ^er@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
 -   qczvcxa		  ^rankstr@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
 -   tgrmldd		  ^redset@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
 -   aj7f4pi		  ^shuffile@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  p3d3hsx	      ^libyogrt@1.24%gcc@7.5.0~static scheduler=slurm arch=linux-ubuntu18.04-x86_64
[+]  o245qon		  ^slurm@21-08-1-1%gcc@7.5.0~gtk~hdf5~hwloc~mariadb~pmix+readline~restd sysconfdir=PREFIX/etc arch=linux-ubuntu18.04-x86_64
[+]  5qolphz		      ^curl@7.79.0%gcc@7.5.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2~nghttp2 tls=openssl arch=linux-ubuntu18.04-x86_64
[+]  fp5v742		      ^glib@2.70.0%gcc@7.5.0~libmount patches=8547954 tracing=none arch=linux-ubuntu18.04-x86_64
[+]  2zkxpoq			  ^gettext@0.21%gcc@7.5.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-ubuntu18.04-x86_64
[+]  55rtzz4			      ^bzip2@1.0.8%gcc@7.5.0~debug~pic+shared arch=linux-ubuntu18.04-x86_64
[+]  otlzkgd			      ^tar@1.34%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  4bz34d3			  ^libffi@3.3%gcc@7.5.0 patches=26f26c6 arch=linux-ubuntu18.04-x86_64
[+]  cgah7ko			  ^pcre@8.44%gcc@7.5.0~jit+multibyte+utf arch=linux-ubuntu18.04-x86_64
[+]  672tzld			  ^perl@5.34.0%gcc@7.5.0+cpanm+shared+threads arch=linux-ubuntu18.04-x86_64
[+]  ue5lnfm			      ^berkeley-db@18.1.40%gcc@7.5.0+cxx~docs+stl patches=b231fcc arch=linux-ubuntu18.04-x86_64
[+]  oftaepj			      ^gdbm@1.19%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  27u6g7p				  ^readline@8.1%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  g2gj6mw			  ^python@3.8.12%gcc@7.5.0+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93,4c24573,f2fd060 arch=linux-ubuntu18.04-x86_64
[+]  j3i7qne			      ^expat@2.4.1%gcc@7.5.0+libbsd arch=linux-ubuntu18.04-x86_64
[+]  j5lylsy				  ^libbsd@0.11.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  aq7ydx6				      ^libmd@1.0.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  ckghzv6			      ^sqlite@3.36.0%gcc@7.5.0+column_metadata+fts~functions~rtree arch=linux-ubuntu18.04-x86_64
[+]  c23s54s			      ^util-linux-uuid@2.36.2%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  2dxobcc		      ^json-c@0.15%gcc@7.5.0~ipo build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  nuqiq66		      ^lz4@1.9.3%gcc@7.5.0 libs=shared,static arch=linux-ubuntu18.04-x86_64
[+]  h2wjv26		      ^munge@0.5.14%gcc@7.5.0 localstatedir=PREFIX/var arch=linux-ubuntu18.04-x86_64
[+]  64zlffc			  ^libgcrypt@1.9.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  cexzidc			      ^libgpg-error@1.42%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  6ffspsj	      ^pdsh@2.31%gcc@7.5.0+ssh+static_modules arch=linux-ubuntu18.04-x86_64
 -   5n2fda6	      ^spath@0.1.0%gcc@7.5.0~ipo+mpi+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  k6jhkin	  ^silo@4.10.2%gcc@7.5.0~fortran+fpzip+hdf5+hzip+mpi+pic+shared~silex patches=7b5a1dc,952d3c9 arch=linux-ubuntu18.04-x86_64
[+]  vt7sza3	      ^hdf5@1.10.7%gcc@7.5.0~cxx~fortran~hl~ipo~java+mpi+shared~szip~threadsafe+tools api=default build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  ucp6vz7		  ^pkgconf@1.8.0%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64

==> Updating view at /home/spack/devel-env/.spack-env/view

Now that we have this done, we tell spack to rebuild both scr and macsio by running spack install.

$ spack install
==> Installing environment /home/spack/devel-env
==> Waiting for ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
==> Waiting for zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
==> Waiting for json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
==> Waiting for libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
==> Waiting for libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
==> Waiting for xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
==> Waiting for numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
==> Waiting for bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
==> Waiting for libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
==> Waiting for pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
==> Waiting for berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
==> Waiting for libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
==> Waiting for util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
==> Waiting for json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
==> Waiting for lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
==> Waiting for libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
==> Waiting for pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
==> Waiting for pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
==> Waiting for readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
==> Waiting for libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
==> Waiting for openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
==> Waiting for tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
==> Waiting for libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
==> Waiting for libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
==> Waiting for libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
==> Waiting for sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
==> Waiting for gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
==> Waiting for curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
==> Waiting for libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
==> Waiting for cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
==> Installing cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64-gcc-7.5.0-cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea.spec.json
==> Fetching file:///mirror/build_cache/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4/linux-ubuntu18.04-x86_64-gcc-7.5.0-cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea.spack
==> Extracting cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea from binary cache
==> Warning: patchelf --print-rpath /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea/share/cmake-3.21/Modules/Internal/CPack/CPack.OSXScriptLauncher.in produced an error [Command exited with status 1:
    '/home/spack/.spack/bootstrap/store/linux-ubuntu18.04-x86_64/gcc-7.5.0/patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75/bin/patchelf' '--print-rpath' '/home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea/share/cmake-3.21/Modules/Internal/CPack/CPack.OSXScriptLauncher.in'
patchelf: not an ELF executable
]
==> Warning: patchelf --force-rpath --set-rpath /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea/share/cmake-3.21/Modules/Internal/CPack/CPack.OSXScriptLauncher.in failed with error Command exited with status 1:
    '/home/spack/.spack/bootstrap/store/linux-ubuntu18.04-x86_64/gcc-7.5.0/patchelf-0.13.1-krpxctdud7tcekzjoh2vb4orqwrfqs75/bin/patchelf' '--force-rpath' '--set-rpath' '' '/home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea/share/cmake-3.21/Modules/Internal/CPack/CPack.OSXScriptLauncher.in'
patchelf: not an ELF executable

[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
==> Waiting for openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
==> Waiting for gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
==> Waiting for hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
==> Waiting for expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
==> Waiting for munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
==> Waiting for perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
==> Waiting for openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
==> Waiting for python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
==> Waiting for kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
==> Installing kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
==> No binary for kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/ec/ecd4b8bc479c33ab4f23fc764445a3bb353a1d15c208d011f5577a32c182477f.tar.gz
==> No patches needed for kvtree
==> kvtree: Executing phase: 'cmake'
==> kvtree: Executing phase: 'build'
==> kvtree: Executing phase: 'install'
==> kvtree: Successfully installed kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
  Fetch: 0.20s.  Build: 5.16s.	Total: 5.36s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
==> Waiting for spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
==> Installing spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
==> No binary for spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/2c/2cfc635b2384d3f92973c7aea173dabe47da112d308f5098e6636e4b2f4a704c.tar.gz
==> No patches needed for spath
==> spath: Executing phase: 'cmake'
==> spath: Executing phase: 'build'
==> spath: Executing phase: 'install'
==> spath: Successfully installed spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
  Fetch: 0.19s.  Build: 2.81s.	Total: 3.00s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
==> Waiting for hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
==> Waiting for rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
==> Installing rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
==> No binary for rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/b6/b68239d67b2359ecc067cc354f86ccfbc8f02071e60d28ae0a2449f2e7f88001.tar.gz
==> No patches needed for rankstr
==> rankstr: Executing phase: 'cmake'
==> rankstr: Executing phase: 'build'
==> rankstr: Executing phase: 'install'
==> rankstr: Successfully installed rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
  Fetch: 0.19s.  Build: 1.89s.	Total: 2.08s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
==> Waiting for lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
==> Waiting for glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
==> Waiting for shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
==> Installing shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
==> No binary for shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/9e/9e730cc8b7937517a9cffb08c031d9f5772306341c49d17b87b7f349d55a6d5e.tar.gz
==> No patches needed for shuffile
==> shuffile: Executing phase: 'cmake'
==> shuffile: Executing phase: 'build'
==> shuffile: Executing phase: 'install'
==> shuffile: Successfully installed shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
  Fetch: 0.17s.  Build: 2.48s.	Total: 2.65s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
==> Waiting for axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
==> Installing axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
==> No binary for axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/9f/9f3bbb4de563896551bdb68e889ba93ea1984586961ad8c627ed766bff020acf.tar.gz
==> No patches needed for axl
==> axl: Executing phase: 'cmake'
==> axl: Executing phase: 'build'
==> axl: Executing phase: 'install'
==> axl: Successfully installed axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
  Fetch: 0.18s.  Build: 2.30s.	Total: 2.48s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
==> Waiting for silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
==> Waiting for redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
==> Installing redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
==> No binary for redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/ba/baa75de0d0d6de64ade50cff3d38ee89fd136ce69869182bdaefccf5be5d286d.tar.gz
==> No patches needed for redset
==> redset: Executing phase: 'cmake'
==> redset: Executing phase: 'build'
==> redset: Executing phase: 'install'
==> redset: Successfully installed redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
  Fetch: 0.39s.  Build: 9.69s.	Total: 10.08s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
==> Waiting for dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
==> Waiting for slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
==> Waiting for er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
==> Installing er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
==> No binary for er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/54/543afc1c48bb2c67f48c32f6c9efcbf7bb27f2e622ff76f2c2ce5618c77aacfc.tar.gz
==> No patches needed for er
==> er: Executing phase: 'cmake'
==> er: Executing phase: 'build'
==> er: Executing phase: 'install'
==> er: Successfully installed er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
  Fetch: 0.18s.  Build: 2.77s.	Total: 2.96s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
==> Waiting for libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
==> Waiting for scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> Installing scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> No binary for scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd found: installing from source
==> No patches needed for scr
==> scr: Executing phase: 'cmake'
==> scr: Executing phase: 'build'
==> scr: Executing phase: 'install'
==> scr: Successfully installed scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
  Fetch: 0.00s.  Build: 14.04s.  Total: 14.04s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> Waiting for macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
==> Installing macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
==> No binary for macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/a8/a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec.tar.gz
==> Applied patch /home/spack/spack/var/spack/repos/builtin/packages/macsio/cast.patch
==> macsio: Executing phase: 'cmake'
==> macsio: Executing phase: 'build'
==> macsio: Executing phase: 'install'
==> macsio: Successfully installed macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
  Fetch: 2.82s.  Build: 6.68s.	Total: 9.50s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
==> Updating view at /home/spack/devel-env/.spack-env/view

This rebuilds scr from the subdirectory we specified. If your package uses cmake, spack will build the package in a build directory that matches the hash for your package. From here you can change into the appropriate directory and perform your own build/test cycles.

Now, we can develop our code. For the sake of this demo, we’re just going to intentionally introduce an error. Let’s edit a file and remove the first semi-colon we find.

$ $EDITOR scr/src/scr_copy.c

Once you have a development package, spack install also works much like “make”. Since spack knows the source code directory of the package, it checks the filetimes on the source directory to see if we’ve made recent changes. If the file times are newer, it will rebuild scr and any other package that depends on scr.

$ spack install
==> Installing environment /home/spack/devel-env
==> Waiting for ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
==> Waiting for zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
==> Waiting for json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
==> Waiting for libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
==> Waiting for libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
==> Waiting for xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
==> Waiting for numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
==> Waiting for bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
==> Waiting for libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
==> Waiting for pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
==> Waiting for berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
==> Waiting for libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
==> Waiting for util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
==> Waiting for json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
==> Waiting for lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
==> Waiting for libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
==> Waiting for pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
==> Waiting for pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
==> Waiting for readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
==> Waiting for libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
==> Waiting for openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
==> Waiting for tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
==> Waiting for libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
==> Waiting for libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
==> Waiting for libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
==> Waiting for gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
==> Waiting for sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
==> Waiting for openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
==> Waiting for cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
==> Waiting for curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
==> Waiting for libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
==> Waiting for hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
==> Waiting for gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
==> Waiting for expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
==> Waiting for munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
==> Waiting for perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
==> Waiting for openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
==> Waiting for python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
==> Waiting for rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
==> Waiting for hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
==> Waiting for lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
==> Waiting for kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
==> Waiting for spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
==> Waiting for glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
==> Waiting for silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
==> Waiting for dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
==> Waiting for axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
==> Waiting for redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
==> Waiting for shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
==> Waiting for slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
==> Waiting for er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
==> Waiting for libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
==> Waiting for scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> Installing scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> No binary for scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd found: installing from source
==> No patches needed for scr
==> scr: Executing phase: 'cmake'
==> scr: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j2'

7 errors found in build log:
     487    make[2]: Leaving directory '/home/spack/devel-env/scr/spack-build-pf7aims'
     488    [ 90%] Built target test_config
     489    make  -f examples/CMakeFiles/test_api_multiple.dir/build.make examples/CMakeFiles/tes
	    t_api_multiple.dir/depend
     490    make[2]: Entering directory '/home/spack/devel-env/scr/spack-build-pf7aims'
     491    cd /home/spack/devel-env/scr/spack-build-pf7aims && /home/spack/spack/opt/spack/linux
	    -ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea/bin/cmake
	     -E cmake_depends "Unix Makefiles" /home/spack/devel-env/scr /home/spack/devel-env/sc
	    r/examples /home/spack/devel-env/scr/spack-build-pf7aims /home/spack/devel-env/scr/sp
	    ack-build-pf7aims/examples /home/spack/devel-env/scr/spack-build-pf7aims/examples/CMa
	    keFiles/test_api_multiple.dir/DependInfo.cmake --color=
     492    Consolidate compiler generated dependencies of target test_api_multiple
  >> 493    /home/spack/devel-env/scr/src/scr_copy.c:53:1: error: expected ',' or ';' before 'int
	    '
     494     int print_usage()
     495     ^~~
     496    make[2]: Leaving directory '/home/spack/devel-env/scr/spack-build-pf7aims'
     497    make  -f examples/CMakeFiles/test_api_multiple.dir/build.make examples/CMakeFiles/tes
	    t_api_multiple.dir/build
     498    /home/spack/devel-env/scr/src/scr_copy.c: In function 'process_args':
     499    /home/spack/devel-env/scr/src/scr_copy.c:130:9: warning: implicit declaration of func
	    tion 'print_usage' [-Wimplicit-function-declaration]
     500	     print_usage();
     501	     ^~~~~~~~~~~
     502    make[2]: Entering directory '/home/spack/devel-env/scr/spack-build-pf7aims'
     503    make[2]: Nothing to be done for 'examples/CMakeFiles/test_api_multiple.dir/build'.
     504    make[2]: Leaving directory '/home/spack/devel-env/scr/spack-build-pf7aims'
  >> 505    src/CMakeFiles/scr_copy.dir/build.make:78: recipe for target 'src/CMakeFiles/scr_copy
	    .dir/scr_copy.c.o' failed
  >> 506    make[2]: *** [src/CMakeFiles/scr_copy.dir/scr_copy.c.o] Error 1
     507    make[2]: Leaving directory '/home/spack/devel-env/scr/spack-build-pf7aims'
  >> 508    CMakeFiles/Makefile2:608: recipe for target 'src/CMakeFiles/scr_copy.dir/all' failed
  >> 509    make[1]: *** [src/CMakeFiles/scr_copy.dir/all] Error 2
     510    make[1]: *** Waiting for unfinished jobs....
     511    [ 93%] Built target test_api_multiple
     512    make[1]: Leaving directory '/home/spack/devel-env/scr/spack-build-pf7aims'
  >> 513    Makefile:138: recipe for target 'all' failed
  >> 514    make: *** [all] Error 2
     515    ==> scr: Executing phase: 'install'
     516    ==> [2022-05-28-19:39:02.835947] 'make' '-j2' 'install'
     517    /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdx
	    zhfufoypya56mmsmxlyucea/bin/cmake -S/home/spack/devel-env/scr -B/home/spack/devel-env
	    /scr/spack-build-pf7aims --check-build-system CMakeFiles/Makefile.cmake 0
     518    /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdx
	    zhfufoypya56mmsmxlyucea/bin/cmake -E cmake_progress_start /home/spack/devel-env/scr/s
	    pack-build-pf7aims/CMakeFiles /home/spack/devel-env/scr/spack-build-pf7aims//CMakeFil
	    es/progress.marks
     519    make  -f CMakeFiles/Makefile2 all
     520    make[1]: Entering directory '/home/spack/devel-env/scr/spack-build-pf7aims'

See build log for details:
  /home/spack/devel-env/scr/spack-build-out.txt

==> Warning: Skipping build of macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif since scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd failed
==> Error: macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif: Package was not installed
==> Error: Installation request failed.  Refer to reported errors for failing package(s).

Here, the build failed as expected. We can look at the output for the build in scr/spack-build-out.txt to find out why, or we can launch a shell directly with the appropriate environment variables to figure out what went wrong by using spack build-env scr@2.0 -- bash. If that’s too much to remember, then sourcing scr/spack-build-env.txt will also set all the appropriate environment variables so we can diagnose the build ourselves. Now let’s fix it and rebuild directly.

$ $EDITOR scr/src/scr_copy.c
$ spack install
==> Installing environment /home/spack/devel-env
==> Waiting for ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/ncurses-6.2-d34lizgt45miuctn4cmx7quklvukdd2w
==> Waiting for zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/zlib-1.2.11-3rlgy7ycxtoho44una6o3itgfjltkmpd
==> Waiting for json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-cwx-0.12-2cj3pokgau53ss52t6y52zhft3jennb4
==> Waiting for libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libpciaccess-0.16-ryhmw2gqeeqclg65uuabqgsgpiac2nm2
==> Waiting for libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libiconv-1.16-qi7dxj6rgdydno5mdjzyolz6applztig
==> Waiting for xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/xz-5.2.5-nplaapsuxr5djslmxm6sdmaw2xl4d2ti
==> Waiting for numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/numactl-2.0.14-3opot4q2nxdmogm7t5pt5wkhvapqex76
==> Waiting for bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/bzip2-1.0.8-55rtzz4s6m4swr6x7exse22ucbmluwl3
==> Waiting for libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libffi-3.3-4bz34d34hhd46kk5a56sxfxsiifstgqm
==> Waiting for pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pcre-8.44-cgah7konnh5573ylmymnl33dqcgoxihf
==> Waiting for berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/berkeley-db-18.1.40-ue5lnfmm3yaiwm2jha4pnbg2s4h7jaqb
==> Waiting for libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libmd-1.0.3-aq7ydx6pf32mhb7f5ekv3saqc63avue4
==> Waiting for util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/util-linux-uuid-2.36.2-c23s54sq5hbjqkyia3gbxc6frz5xnu67
==> Waiting for json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/json-c-0.15-2dxobcc2dlh22ezwpqojayh7yjxm6xh7
==> Waiting for lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lz4-1.9.3-nuqiq664fip3rtr5c6jtzmzlonvm2omg
==> Waiting for libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgpg-error-1.42-cexzidcgh23waigsmbhusasgnpgtxs3c
==> Waiting for pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pdsh-2.31-6ffspsjtiqvzouzj5wno4bqfr3kvs275
==> Waiting for pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/pkgconf-1.8.0-ucp6vz7fe6ihtcmqav3vucwgqjwyw7po
==> Waiting for libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libedit-3.1-20210216-3lzuqwnyuelfhjrxpn45akh7huu3ifr5
==> Waiting for readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/readline-8.1-27u6g7pchcquj67llpfzttc6n7e5pfjg
==> Waiting for openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssl-1.1.1l-lygx3cqqbvl5gkyvfkggphorm7xus2ih
==> Waiting for tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/tar-1.34-otlzkgdrugkhzebt75hwibn55g25owfg
==> Waiting for libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libxml2-2.9.12-2hw4ddh7dbtl3wcw5hrt4kk2fkwhfuzj
==> Waiting for libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libbsd-0.11.3-j5lylsyqvmdsqyeroekdwv2l7ayusg66
==> Waiting for libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libgcrypt-1.9.3-64zlffccerrhz3nlkxjx63wpzq5fvxg2
==> Waiting for gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gdbm-1.19-oftaepjelizkam37ezxwkuw27clnosqn
==> Waiting for sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/sqlite-3.36.0-ckghzv6lpov23xcc2fchao54pehnzms5
==> Waiting for cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/cmake-3.21.4-anj6kcxdxzhfufoypya56mmsmxlyucea
==> Waiting for curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/curl-7.79.0-5qolphzwei45fvq5np5xywkjijyy2pqj
==> Waiting for libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libevent-2.1.12-xai6pycqx4h6n2l7f676q3kwql5zjdaw
==> Waiting for openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openssh-8.7p1-ux36qlbxdga4c5oragb7o5r4y7bsgbpy
==> Waiting for hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hwloc-2.6.0-gedgnpght7xquztmkhthmaid6lbhlz4p
==> Waiting for gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/gettext-0.21-2zkxpoqsacwadhe44zhd5hrozt344yfl
==> Waiting for expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/expat-2.4.1-j3i7qneh3l4itds4i2fi4h3s43ywviln
==> Waiting for munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/munge-0.5.14-h2wjv26l5fzghzgjh37s6itdwdsr3cj7
==> Waiting for perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/perl-5.34.0-672tzldkvypvrxirrs5okvjrfvhxzyzv
==> Waiting for openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv
==> Waiting for python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/python-3.8.12-g2gj6mwslk2hfaalmye23emjrpgnxetb
==> Waiting for rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/rankstr-0.1.0-qczvcxabjkrlkau6mz42nhdyqkpzpo2e
==> Waiting for spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/spath-0.1.0-5n2fda6ntrtayz5m7pyh7v5ea4ppuunh
==> Waiting for hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/hdf5-1.10.7-vt7sza3ycdsw62lk3f2dtnlvmeyihe3r
==> Waiting for kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/kvtree-1.2.0-w4o6stu7qync7ftpnqzp4q3i7drqu7it
==> Waiting for lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/lwgrp-1.0.4-45q636plsnkwwadt5wzgweqxwiuzmq5b
==> Waiting for glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/glib-2.70.0-fp5v74247d4zw5txq3mf5gfif6l2zafr
==> Waiting for silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/silo-4.10.2-k6jhkinwksprvq3sm5q7awrqefz7acv6
==> Waiting for shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/shuffile-0.1.0-aj7f4pictw52dabw63guqkuviizhnvns
==> Waiting for redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/redset-0.1.0-tgrmlddrtvtuqe7gwaht5zv54sbzpfce
==> Waiting for axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/axl-0.5.0-rxun63l6zerlrxeisxa4tzeysled2req
==> Waiting for dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/dtcmp-1.1.3-jcs7klxz4mprtgg3vixn7346pkz445sf
==> Waiting for slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/slurm-21-08-1-1-o245qontgozhxt7crmu56qlzqvpi34be
==> Waiting for er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/er-0.1.0-exjzn32vtkh45poknfhegbkrky5i23vl
==> Waiting for libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/libyogrt-1.24-p3d3hsxpsgv7qftiym34g4emus25zci6
==> Waiting for scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> Installing scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> No binary for scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd found: installing from source
==> No patches needed for scr
==> scr: Executing phase: 'cmake'
==> scr: Executing phase: 'build'
==> scr: Executing phase: 'install'
==> scr: Successfully installed scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
  Fetch: 0.00s.  Build: 2.65s.	Total: 2.65s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/scr-3.0rc2-pf7aims2yr3cuypc3wnl2hvj5udjb3dd
==> Waiting for macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
==> Installing macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
==> No binary for macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif found: installing from source
==> Using cached archive: /home/spack/spack/var/spack/cache/_source-cache/archive/a8/a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec.tar.gz
==> Applied patch /home/spack/spack/var/spack/repos/builtin/packages/macsio/cast.patch
==> macsio: Executing phase: 'cmake'
==> macsio: Executing phase: 'build'
==> macsio: Executing phase: 'install'
==> macsio: Successfully installed macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
  Fetch: 0.03s.  Build: 5.51s.	Total: 5.54s.
[+] /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/macsio-1.1-qi4pkspejhjnxkyyemzs7tooiliw4yif
==> Warning: Module file /home/spack/spack/share/spack/modules/linux-ubuntu18.04-x86_64/macsio-1.1-gcc-7.5.0-qi4pksp exists and will not be overwritten

You’ll notice here that spack rebuilt both scr and macsio, as expected.

Taking advantage of iterative builds with spack requires cooperation from your build system. When spack performs a rebuild on a development package, it reruns all the build stages for your package without cleaning the source and build directories to a pristine state. If your build system can take advantage of the previously compiled object files then you’ll end up with an iterative build.

  • If your package just uses make, you also should get iterative builds for free when running spack develop.
  • If your package uses cmake with the typical cmake / build / install build stages, you’ll get iterative builds for free with spack because cmake doesn’t modify the filetime on the CMakeCache.txt file if your cmake flags haven’t changed.
  • If your package uses autoconf, then rerunning the typical autoreconf stage typically modifies the filetime of config.h, which can trigger a cascade of rebuilding.

Multiple packages can also be marked as develop. If we were co-developing macsio, we could run

$ spack develop macsio@1.1
==> Configuring spec macsio@1.1 for development at path macsio
==> Using cached archive: /home/spack/spack/var/spack/cache/_source-cache/archive/a8/a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec.tar.gz
$ spack concretize -f
==> Starting concretization
==> Environment concretized in 25.56 seconds.
==> Concretized macsio+scr
 -   nc4cosz  macsio@1.1%gcc@7.5.0~exodus~hdf5~ipo+mpi~pdb+scr+silo~szip~typhonio~zfp~zlib build_type=RelWithDebInfo dev_path=/home/spack/devel-env/macsio patches=59479b9 arch=linux-ubuntu18.04-x86_64
[+]  anj6kcx	  ^cmake@3.21.4%gcc@7.5.0~doc+ncurses+openssl+ownlibs~qt build_type=Release arch=linux-ubuntu18.04-x86_64
[+]  d34lizg	      ^ncurses@6.2%gcc@7.5.0~symlinks+termlib abi=none arch=linux-ubuntu18.04-x86_64
[+]  lygx3cq	      ^openssl@1.1.1l%gcc@7.5.0~docs certs=system arch=linux-ubuntu18.04-x86_64
[+]  3rlgy7y		  ^zlib@1.2.11%gcc@7.5.0+optimize+pic+shared arch=linux-ubuntu18.04-x86_64
[+]  2cj3pok	  ^json-cwx@0.12%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  p5qicac	  ^openmpi@4.1.1%gcc@7.5.0~atomics~cuda~cxx~cxx_exceptions+gpfs~internal-hwloc~java~legacylaunchers~lustre~memchecker~pmi~pmix~singularity~sqlite3+static~thread_multiple+vt+wrapper-rpath fabrics=none schedulers=none arch=linux-ubuntu18.04-x86_64
[+]  gedgnpg	      ^hwloc@2.6.0%gcc@7.5.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~opencl+pci~rocm+shared arch=linux-ubuntu18.04-x86_64
[+]  ryhmw2g		  ^libpciaccess@0.16%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  2hw4ddh		  ^libxml2@2.9.12%gcc@7.5.0~python arch=linux-ubuntu18.04-x86_64
[+]  qi7dxj6		      ^libiconv@1.16%gcc@7.5.0 libs=shared,static arch=linux-ubuntu18.04-x86_64
[+]  nplaaps		      ^xz@5.2.5%gcc@7.5.0~pic libs=shared,static arch=linux-ubuntu18.04-x86_64
[+]  xai6pyc	      ^libevent@2.1.12%gcc@7.5.0+openssl arch=linux-ubuntu18.04-x86_64
[+]  3opot4q	      ^numactl@2.0.14%gcc@7.5.0 patches=4e1d78c,62fc8a8,ff37630 arch=linux-ubuntu18.04-x86_64
[+]  ux36qlb	      ^openssh@8.7p1%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  3lzuqwn		  ^libedit@3.1-20210216%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  pf7aims	  ^scr@3.0rc2%gcc@7.5.0+bbapi~bbapi_fallback~dw+examples~fortran~ipo+libyogrt+pdsh+shared+tests build_type=RelWithDebInfo cache_base=/dev/shm cntl_base=/dev/shm copy_config=none dev_path=/home/spack/devel-env/scr file_lock=FLOCK resource_manager=SLURM scr_config=scr.conf arch=linux-ubuntu18.04-x86_64
[+]  rxun63l	      ^axl@0.5.0%gcc@7.5.0+bbapi~bbapi_fallback~dw~ipo+shared async_api=daemon build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  w4o6stu		  ^kvtree@1.2.0%gcc@7.5.0~ipo+mpi+shared build_type=RelWithDebInfo file_lock=FLOCK arch=linux-ubuntu18.04-x86_64
[+]  jcs7klx	      ^dtcmp@1.1.3%gcc@7.5.0+shared arch=linux-ubuntu18.04-x86_64
[+]  45q636p		  ^lwgrp@1.0.4%gcc@7.5.0+shared arch=linux-ubuntu18.04-x86_64
[+]  exjzn32	      ^er@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  qczvcxa		  ^rankstr@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  tgrmldd		  ^redset@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  aj7f4pi		  ^shuffile@0.1.0%gcc@7.5.0~ipo+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  p3d3hsx	      ^libyogrt@1.24%gcc@7.5.0~static scheduler=slurm arch=linux-ubuntu18.04-x86_64
[+]  o245qon		  ^slurm@21-08-1-1%gcc@7.5.0~gtk~hdf5~hwloc~mariadb~pmix+readline~restd sysconfdir=PREFIX/etc arch=linux-ubuntu18.04-x86_64
[+]  5qolphz		      ^curl@7.79.0%gcc@7.5.0~gssapi~ldap~libidn2~librtmp~libssh~libssh2~nghttp2 tls=openssl arch=linux-ubuntu18.04-x86_64
[+]  fp5v742		      ^glib@2.70.0%gcc@7.5.0~libmount patches=8547954 tracing=none arch=linux-ubuntu18.04-x86_64
[+]  2zkxpoq			  ^gettext@0.21%gcc@7.5.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-ubuntu18.04-x86_64
[+]  55rtzz4			      ^bzip2@1.0.8%gcc@7.5.0~debug~pic+shared arch=linux-ubuntu18.04-x86_64
[+]  otlzkgd			      ^tar@1.34%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  4bz34d3			  ^libffi@3.3%gcc@7.5.0 patches=26f26c6 arch=linux-ubuntu18.04-x86_64
[+]  cgah7ko			  ^pcre@8.44%gcc@7.5.0~jit+multibyte+utf arch=linux-ubuntu18.04-x86_64
[+]  672tzld			  ^perl@5.34.0%gcc@7.5.0+cpanm+shared+threads arch=linux-ubuntu18.04-x86_64
[+]  ue5lnfm			      ^berkeley-db@18.1.40%gcc@7.5.0+cxx~docs+stl patches=b231fcc arch=linux-ubuntu18.04-x86_64
[+]  oftaepj			      ^gdbm@1.19%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  27u6g7p				  ^readline@8.1%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  g2gj6mw			  ^python@3.8.12%gcc@7.5.0+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93,4c24573,f2fd060 arch=linux-ubuntu18.04-x86_64
[+]  j3i7qne			      ^expat@2.4.1%gcc@7.5.0+libbsd arch=linux-ubuntu18.04-x86_64
[+]  j5lylsy				  ^libbsd@0.11.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  aq7ydx6				      ^libmd@1.0.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  ckghzv6			      ^sqlite@3.36.0%gcc@7.5.0+column_metadata+fts~functions~rtree arch=linux-ubuntu18.04-x86_64
[+]  c23s54s			      ^util-linux-uuid@2.36.2%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  2dxobcc		      ^json-c@0.15%gcc@7.5.0~ipo build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  nuqiq66		      ^lz4@1.9.3%gcc@7.5.0 libs=shared,static arch=linux-ubuntu18.04-x86_64
[+]  h2wjv26		      ^munge@0.5.14%gcc@7.5.0 localstatedir=PREFIX/var arch=linux-ubuntu18.04-x86_64
[+]  64zlffc			  ^libgcrypt@1.9.3%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  cexzidc			      ^libgpg-error@1.42%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64
[+]  6ffspsj	      ^pdsh@2.31%gcc@7.5.0+ssh+static_modules arch=linux-ubuntu18.04-x86_64
[+]  5n2fda6	      ^spath@0.1.0%gcc@7.5.0~ipo+mpi+shared build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  k6jhkin	  ^silo@4.10.2%gcc@7.5.0~fortran+fpzip+hdf5+hzip+mpi+pic+shared~silex patches=7b5a1dc,952d3c9 arch=linux-ubuntu18.04-x86_64
[+]  vt7sza3	      ^hdf5@1.10.7%gcc@7.5.0~cxx~fortran~hl~ipo~java+mpi+shared~szip~threadsafe+tools api=default build_type=RelWithDebInfo arch=linux-ubuntu18.04-x86_64
[+]  ucp6vz7		  ^pkgconf@1.8.0%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64

==> Updating view at /home/spack/devel-env/.spack-env/view

Using development workflows also lets us ship our whole development process to another developer on the team. They can simply take our spack.yaml, create a new environment, and use this to replicate our build process. For example, we’ll make another development environment here.

$ cd ~
$ mkdir devel-other
$ cd devel-other
$ cp ../devel-env/spack.yaml .
$ spacktivate .
$ spack develop
==> Fetching https://mirror.spack.io/_source-cache/archive/4b/4b2a718af56b3683e428d25a2269c038e9452db734221d370e3023a491477fad.tar.gz
==> Using cached archive: /home/spack/spack/var/spack/cache/_source-cache/archive/a8/a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec.tar.gz
$ ls
macsio	scr  spack.yaml

Here, spack develop with no arguments will check out or download the source code and place it in the appropriate places.

When we’re done developing, we simply tell spack that it no longer needs to keep a development version of the package.

$ spack undevelop scr macsio
==> Removing scr from environment /home/spack/devel-other development specs
==> Removing macsio from environment /home/spack/devel-other development specs

Workflow Summary

Use the spack develop command with an environment to make a reproducible build environment for your development workflow. Spack will set up all the dependencies for you and link all your packages together. Within a development environment, spack install works similar to make in that it will check file times to rebuild the minimum number of spack packages necessary to reflect the changes to your build.