Skip to content

Notes on getting reproducable concretizations

Marc Mengel edited this page Jul 30, 2025 · 2 revisions

[Note: this is a DRAFT and subject to change]

Several suggestions on getting large trees like Larsoft and critic, etc. overlappably concretizable (i.e maximally sharing dependencies)

  1. Make all externals buildable: false -- only turn it off if they actively prevent concretization
  2. Use the identical packages: block with prefer: ['@version' 'variant=value'...] sections (and buildable: false from above) in each environment (possibly via an include?)
  3. Take the cmake you want, install it separately, and use it as a buildable: false external in the above.
  4. where necessary (usually root?) put the desired variants in the spack.yaml file in the specs list

Clone this wiki locally