summaryrefslogtreecommitdiff
path: root/share
AgeCommit message (Collapse)AuthorFilesLines
2024-08-10Remove the old concretizer (#45215)Massimiliano Culpo1-5/+0
The old concretizer is still used to bootstrap clingo from source. If we switch to a DAG model where compilers are treated as nodes, we need to either: 1. fix the old concretizer to support this (which is a lot of work and possibly research), or 2. bootstrap `clingo` without the old concretizer. This PR takes the second approach and gets rid of the old concretizer code. To bootstrap `clingo`, we store some concrete spec prototypes as JSON, select one according to the coarse-grained system architecture, and tweak them according to the current host. The old concretizer and related dead code are removed. In particular, this removes `Spec.normalize()` and related methods, which were used in many unit-tests to set up the test context. The tests have been updated not to use `normalize()`. - [x] Bootstrap clingo concretization based on a JSON file - [x] Bootstrap clingo *before* patchelf - [x] Remove any use of the old concretizer, including: * Remove only_clingo and only_original fixtures * Remove _old_concretize and _new_concretize * Remove _concretize_together_old * Remove _concretize_together_new * Remove any use of `SPACK_TEST_SOLVER` * Simplify CI jobs - [x] ensure bootstrapping `clingo` works on on Darwin and Windows - [x] Raise an intelligible error when a compiler is missing - [x] Ensure bootstrapping works on FreeBSD - [x] remove normalize and related methods Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-08-09Remove execution permission from setup-env.sh (#45641)Dominic Hofer6-0/+0
`setup-env.sh` is meant to be sourced, not executed directly. By revoking execution permissions, users who accidentally execute the script will receive an error instead of seeing no effect. * Remove execution permission from `setup-env.sh` and friends * Don't make output file executable in `spack commands --update-completion` --------- Co-authored-by: Todd Gamblin <tgamblin@llnl.gov> Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-08-01e4s oneapi ci: try enabling some disabled specs (#45355)eugeneswalker1-24/+25
2024-07-24CI: add ML ROCm stack (#45302)afzpatel2-0/+116
* add ML ROCm stack * add suggested changes * remove py-torch and py-tensorflow-estimator * add TF_ROCM_AMDGPU_TARGETS env variable and remove packages from pipeline * remove py-jax and py-xgboost
2024-07-23e4s rocm external ci stack: upgrade to v6.1.2 (#45356)eugeneswalker2-76/+76
* e4s rocm external ci stack: upgrade to v6.1.2 * magma: add rocm-core 6.1.2
2024-07-18e4s ci: enable some disabled specs (#44934)eugeneswalker2-127/+86
* e4s ci: enable some disabled specs * comment out cp2k +cuda due to unsupported cuda_arch * comment out dealii+cuda due to concretize error * work through concretize errors * e4s: comment out failing builds * e4s stack: disabled non-building specs * comment out failing specs * comment out failing specs * cleanup comments
2024-07-17Add `depends_on([c,cxx,fortran])` (#45217)Harmen Stoppels2-2/+1
Add language dependencies `c`, `cxx`, and `fortran`. These `depends_on` statements are auto-generated based on file extensions found in source tarballs/zipfiles. The `# generated` comment can be removed by package maintainers after validating correctness.
2024-07-12bootstrap ci: add exit code validation for windows (#45221)John W. Parent1-1/+1
2024-07-11Buildcache: remove deprecated --allow-root and preview subcommand (#45204)Tamara Dahlgren2-25/+5
2024-07-09`spack find -c`: search all concretized-but-not-installed specs (#44713)Peter Scheibel2-2/+4
Originally if you had `x -> y -> z`, and an env with `x` in its speclist that is concretized but not installed, then `spack find -c y` would not show anything. This was intended: `spack find` has up-until-now only ever listed out installed specs (and `-c` was for adding a preamble section about roots). This changes `spack find` so: * `-c` makes it search through all concretized specs in the env (in a sense it is anticipated that a concretized environment would serve as a "speculative" DB and users may want to query it like they query the DB outside of envs) * Adds a `-i/--install-status` option, equivalent to `-I` from `spack spec` * Shows install status for either `-c` or `-i` * As a side effect to prior point, `spack find -i` can now distinguish different installation states (upstream/external) Examples: ``` $ spack find -r ==> In environment findtest ==> 1 root specs - raja ==> 6 installed packages (not shown) ==> 12 concretized packages to be installed (not shown) ``` ``` $ spack find ==> In environment findtest ==> 1 root specs - raja -- darwin-ventura-m1 / apple-clang@14.0.3 ----------------------- berkeley-db@18.1.40 bzip2@1.0.8 diffutils@3.10 gmake@4.4.1 gnuconfig@2022-09-17 libiconv@1.17 ==> 6 installed packages ==> 12 concretized packages to be installed (show with `spack find -c`) ``` ``` $ spack find -c ==> In environment findtest ==> 1 root specs - raja -- darwin-ventura-m1 / apple-clang@14.0.3 ----------------------- [+] berkeley-db@18.1.40 [+] bzip2@1.0.8 - cmake@3.29.4 [+] diffutils@3.10 [+] gmake@4.4.1 [+] libiconv@1.17 - nghttp2@1.62.0 - pkgconf@2.2.0 - readline@8.2 - blt@0.6.2 - camp@2024.02.1 - curl@8.7.1 - gdbm@1.23 [+] gnuconfig@2022-09-17 - ncurses@6.5 - perl@5.38.2 - raja@2024.02.2 - zlib-ng@2.1.6 ==> 6 installed packages ==> 12 concretized packages to be installed ``` $ spack -E find ... ==> 82 installed packages ```
2024-07-06spack -C <env>: use env config w/o activation (#45046)Harmen Stoppels1-1/+1
Precedence: 1. Named environment 2. Anonymous environment 3. Generic directory
2024-07-04containers: rm centos7 since EOL (#45049)Wouter Deconinck1-28/+0
2024-07-03[openfoam]: use latest cgal (#45003)Robert Cohn1-1/+1
* [openfoam]: use latest cgal * add version checks for CGAL
2024-07-02Revert "e4s ci: reduce size due to 5mb gitlab artifact limit (#44986)" (#45001)Harmen Stoppels1-60/+60
This reverts commit 18de6a480b5c97c1a9bc08c3eaf82cfc63617ce3.
2024-07-02ci: deprecate the --dependencies and --optimize option (#45005)Massimiliano Culpo1-2/+2
2024-07-02Pipelines: update configuration for aws-isc (#44999)Harmen Stoppels2-23/+31
1.18 is not a string in YAML Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-07-01e4s ci: reduce size due to 5mb gitlab artifact limit (#44986)eugeneswalker1-60/+60
2024-07-01adios2: add patch to support rocm6 (#44941)Vicente Bolea1-2/+2
* adios2: add patch to support rocm6 * e4s rocm ci: re-enable adios2 +rocm --------- Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2024-07-01neoverse-v1: restore py-cinemasci (#44976)Massimiliano Culpo1-1/+1
Use a different tactic for determining conflicts. Give more priority to setting False very old versions.
2024-06-30neoverse-v1: comment out py-cinemasci (#44972)Massimiliano Culpo1-1/+1
2024-06-27containers: centos:stream -> centos:stream9 (#44876)Wouter Deconinck3-5/+5
2024-06-26update e4s stacks (#44813)eugeneswalker6-195/+171
* update e4s stacks * adios2 +rocm: disable kokkos due to spack issue #44832 * comment out mgard+cuda due to spack issue #44833 * comment out cabana, legion, arborx due to kokkos spack issue #44832 * comment out slepc, petsc due to petsc spack issue #44600 * comment out adios2+rocm due to kokkos rocm spack issue #44832 * comment out kokkos due to spack issue #44832
2024-06-25e4s ci: paraview: require +examples (#44847)eugeneswalker6-26/+34
2024-06-24ecp rocm ci: add ecp-dav back + use updated container image w rocm-llvm-dev ↵eugeneswalker2-4/+4
installed (#44827)
2024-06-24e4s: add glvis (#44812)eugeneswalker1-1/+1
2024-06-21add packages from intel-oneapi-2024.2.0 release (#44789)Andrey Perestoronin2-4/+4
2024-06-20Remove deprecated intel-* packages (#44700)Stephen Sachs1-9/+10
Packages will be removed with https://github.com/spack/spack/pull/44689. This PR makes sure that the `aws-pcluster-x86_64_v4` stack still works as expected.
2024-06-18e4s external rocm ci: bump rocm stack to v6.1.1 (#44449)eugeneswalker2-94/+99
* e4s external rocm ci: bump rocm stack to v6.1.1 * comment out exago+rocm due to issue with raja@0.14.0 see spack issue #44593 * comment out adios2+rocm due to spack issue #44594 * comment out petsc+rocm due to spack issue #44600 * comment out sundials+rocm due to spack issue #44601 * comment out slepc+rocm due to petsc spack issue #44600 * comment out tau+rocm due to spack issue #44659 * comment out ecp-data-vis-sdk due to spack issue #44745 * packages: register rocm-core as external * re-enable tau due to issue #44659 having been resolved * use latest ci image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.1:2024.06.17 * comment out paraview due to spack issue #44745 * comment out ecp-data-vis-sdk +vtkm due to issue https://gitlab.spack.io/spack/spack/-/jobs/11632511
2024-06-14Build developer-tools pipeline only on manylinux (#43811)Massimiliano Culpo2-91/+0
2024-06-07Generate jobs should use x86_64_v3 runners only (#44582)kwryankrattiger1-1/+1
2024-06-05spack edit: allow edit multiple files at once (#44416)Harmen Stoppels1-1/+1
2024-06-04gitlab ci: Remove protected publish job (#44304)Scott Wittenburg1-31/+1
2024-05-29e4s hopper ci: minimize root specs (#44436)eugeneswalker1-145/+51
2024-05-23Enforce consistency of `gl` providers (#44307)Massimiliano Culpo9-15/+14
* glew: rework dependency on gl This simplifies the package and ensures a single gl implementation is pulled in. Before we were adding direct dependencies, and those are not unified through the virtual. * mesa-demos: rework dependency on gl This simplifies the package and ensures a single gl implementation is pulled in. Before we were adding direct dependencies, and those are not unified through the virtual. * mesa-glu: rework dependency on gl This simplifies the package and ensures a single gl implementation is pulled in. Before we were adding direct dependencies, and those are not unified through the virtual. * paraview: fix dependency on glew * mesa: group dependency on when("+glx") * Add missing dependency on libxml2 * paraview: remove the "osmesa" and "egl" variant Instead, enforce consistency using the "gl" virtual that allows only one provider. * visit: remove osmesa variant * Disable paraview in the aws-isc stacks * data-vis-sdk: rework constrains to enforce front-ends * e4s-power: remove redundant paraview * Pipelines: update osmesa variants * trilinos-catalyst-ioss-adapter: make gl a run dependency
2024-05-21Remove mesa18 and libosmesa (#44264)Massimiliano Culpo4-7/+0
* Remove mesa18 and libosmesa mesa18 was introduced in #19528 as a way to maintain the old autotools build of mesa separate from the new meson build. We could add a second build system to mesa, but since mesa18 has been deprecated for a long time, we'll just remove it. libosmesa was used to multiplex the gl provider between mesa18 and mesa, and is thus unecessary. Remove it to reduce complexity in the graphical stack. * Remove references to mesa18 and libosmesa * vtk: rework dependency on gl and osmesa * memsurfer: rework dependency on vtk * visit: minimal fix to avoid having both osmesa and glx
2024-05-21Additional packages for devtools-manylinux (#44273)Robert Underwood1-0/+10
Co-authored-by: Robert Underwood <runderwood@anl.gov>
2024-05-17Add `mpas-model` and `mpich` to pcluster neoverse stack (#44151)Stephen Sachs1-2/+2
Should build now since https://github.com/spack/spack/pull/43547 has been merged.
2024-05-16Gitlab CI: Windows Configs (#43967)John W. Parent8-18/+155
Add support for Gitlab CI on Windows This PR adds the config changes required to configure and execute Gitlab pipelines running Windows builds on Windows runners using the existing Gitlab CI infrastructure (and newly added Windows infrastructure). * Adds support for generating child pipelines dispatched to Windows runners * Refactors the relevant pre-scripts, scripts, and post scripts to be compatible with Windows * Adds Windows config section describing Windows jobs * Adds VTK as Windows build stack (to be expanded later) * Modifies proj to build on Windows * Refactors Windows rpath symlinking to avoid system libs and externals --------- Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com> Co-authored-by: Mike VanDenburgh <michael.vandenburgh@kitware.com> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov> Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2024-05-13ML CI: update image (#43751)Adam J. Stewart3-4/+4
* ML CI: update image * Use main branch * Use tagged version
2024-05-12Add applications to aws-pcluster-* stacks (#43901)Stephen Sachs5-38/+73
* Add openfoam to aws-pcluster-neoverse_v1 stack * Add more apps to aws-pcluster-x86_64_v4 stack * Remove WRF while hdf5 cannot build in buildcache at the moment * Update comment * Add more apps for aws-pcluster-neoverse_v1 stack * Remove apps that currently do not build * Disable those packages that won't build * Modify syntax such that correct cflags are used * Changing syntax again to what works with other packages * Fix overriding packages.yaml entry for gettext * Use new `prefer` and `require:when` clauses to clarify intent * Use newer spack version to install intel compiler This removes the need for patches and makes sure the `prefer` directives in `package.yaml` are understood. * `prefer` not strong enough, need to set compilers * Revert "Use newer spack version to install intel compiler" This reverts commit ecb25a192cc430ca946415108847d637b4000795. Cannot update the spack version to install intel compiler as this changes the compiler hash but not the version. This leads to incompatible compiler paths. If we update this spack version in the future make sure the compiler version also updates. Tested-by: Stephen Sachs <stesachs@amazon.com> * Remove `prefer` clause as it is not strong enough for our needs This way we can safely go back to installing the intel compiler with an older spack version. * Prefer gcc or oneapi to build gettext * Pin gettext version compatible with system glibc-headers * relax gettext version requirement to enable later versions * oneapi cannot build older gettext version
2024-05-08gitlab ci: tutorial: add `julia` and `vim` (#44073)Harmen Stoppels2-2/+2
2024-05-07gitlab: dont build paraview for neoverse v2 (#44060)Harmen Stoppels1-4/+4
2024-05-07Include concrete environments with `include_concrete` (#33768)Richarda Butler2-6/+12
Add the ability to include any number of (potentially nested) concrete environments, e.g.: ```yaml spack: specs: [] concretizer: unify: true include_concrete: - /path/to/environment1 - /path/to/environment2 ``` or, from the CLI: ```console $ spack env create myenv $ spack -e myenv add python $ spack -e myenv concretize $ spack env create --include-concrete myenv included_env ``` The contents of included concrete environments' spack.lock files are included in the environment's lock file at creation time. Any changes to included concrete environments are only reflected after the environment is re-concretized from the re-concretized included environments. - [x] Concretize included envs - [x] Save concrete specs in memory by hash - [x] Add included envs to combined env's lock file - [x] Add test - [x] Update documentation Co-authored-by: Kayla Butler <<butler59@llnl.gov> Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.co m> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov> Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-05-06Do not cache indices in Gitlab (#44029)Harmen Stoppels1-1/+3
2024-05-04gitlab: release branch pipelines rebuild what changed (#43990)Scott Wittenburg1-12/+2
2024-05-03concretizer args: --fresh-roots == --reuse-deps (#43988)Harmen Stoppels2-48/+48
Since reuse is the default now, `--reuse-deps` can be confusing, as it technically does not imply roots are fresh. So add `--fresh-roots`, which is also easier to discover when running `spack concretize --fre<tab>`
2024-05-02e4s ci: add py-amrex (#43904)eugeneswalker5-0/+5
2024-05-02gitlab ci: cache user cache (#43952)Harmen Stoppels2-2/+3
2024-05-01containers: add ubuntu 24.04 (#43881)Wouter Deconinck1-0/+33
* containers: add ubuntu 24.04 * containers: use python3-boto3 pkg instead of pip install
2024-04-29Delete leftover file (#43869)Massimiliano Culpo1-9/+0
This file is not needed anymore, was introduced in #19688