Skip to content

Support spackbot rebuilding all specs from source#32596

Merged
scottwittenburg merged 8 commits intospack:developfrom
scottwittenburg:gitlab-support-spackbot-rebuild-all
Oct 17, 2022
Merged

Support spackbot rebuilding all specs from source#32596
scottwittenburg merged 8 commits intospack:developfrom
scottwittenburg:gitlab-support-spackbot-rebuild-all

Conversation

@scottwittenburg
Copy link
Copy Markdown
Contributor

@scottwittenburg scottwittenburg commented Sep 9, 2022

Support in spack's gitlab pipelines allowing maintainers to ask spackbot to rebuild everything from source. This should help test core changes to spack that don't otherwise change the hashes of tested specs.

  • Allow overriding --prune-dag cli opt with env var
  • Use job variable to optionally prevent rebuild jobs early exit behavior
  • Supply new install argument to insist deps are always installed from binary, but package is only installed from source.

Steps to get @spackbot rebuild everything:

  1. work out installation from concrete spec.json issue with Install: Add use-buildcache option to install #32537 and merge it
  2. merge this PR
  3. merge spackbot PR #67
  4. merge spack-intrastructure PR #319

@alalazo
Copy link
Copy Markdown
Member

alalazo commented Sep 22, 2022

My understanding from last meeting is that #32537 is not needed to have pipelines rebuild all specs. It's an orthogonal feature that ensures each job in the Gitlab pipeline will build from sources only the root node and not its dependencies. Am I correct saying that, as such, that PR can be merged independently (i.e. before or after "rebuild all") ?

@scottwittenburg
Copy link
Copy Markdown
Contributor Author

My understanding from last meeting is that #32537 is not needed to have pipelines rebuild all specs

No, we do need that first, unless we change our approach to "spackbot rebuild everything".

@alalazo
Copy link
Copy Markdown
Member

alalazo commented Sep 22, 2022

No, we do need that first, unless we change our approach to "spackbot rebuild everything".

What is in that PR that is needed for rebuilding everything?

@scottwittenburg
Copy link
Copy Markdown
Contributor Author

No, we do need that first, unless we change our approach to "spackbot rebuild everything".

What is in that PR that is needed for rebuilding everything?

A single spack install command that insists on rebuilding the package from source (even if a binary mirror has the spec with the same hash), while the dependencies are still installed from one of the binary mirrors.

@scottwittenburg
Copy link
Copy Markdown
Contributor Author

fyi @zackgalbreath

@alalazo
Copy link
Copy Markdown
Member

alalazo commented Sep 22, 2022

A single spack install command

That's the part I can't currently figure out from code. Why do we need a single command?

@scottwittenburg scottwittenburg force-pushed the gitlab-support-spackbot-rebuild-all branch from 0541718 to 87188e1 Compare September 23, 2022 16:52
@spackbot-app spackbot-app bot added the tests General test capability(ies) label Sep 23, 2022
@scottwittenburg scottwittenburg force-pushed the gitlab-support-spackbot-rebuild-all branch from 87188e1 to 52de50b Compare September 23, 2022 17:23
@scottwittenburg
Copy link
Copy Markdown
Contributor Author

fyi @kwryankrattiger

@scottwittenburg scottwittenburg force-pushed the gitlab-support-spackbot-rebuild-all branch from 52de50b to 0716d17 Compare October 7, 2022 16:58
@scottwittenburg scottwittenburg marked this pull request as ready for review October 7, 2022 16:59
@scottwittenburg
Copy link
Copy Markdown
Contributor Author

@alalazo Should I retry the failed ci / unit-tests / ubuntu (2.7, original, false) and ci / unit-tests / macos / (3.8) checks? I don't see any tests actually marked as failures in the output. Maybe I'm just missing it though.

@alalazo
Copy link
Copy Markdown
Member

alalazo commented Oct 10, 2022

The test failing is:

lib/spack/spack/test/llnl/util/lock.py::test_write_lock_timeout_on_write_ranges_2[/run/user/1001]

which might be spurious. I'll trigger a re-run.

@scottwittenburg
Copy link
Copy Markdown
Contributor Author

Seems like the ubuntu python 2.7 and macos python 3.8 tests timed out this time. I'll retry again.

@scottwittenburg
Copy link
Copy Markdown
Contributor Author

Retrying the ubunty python 2.7 check passed on the most recent retry. However, the macos python 3.8 check is still failing, but I still don't see the error in there.

# json file.
install_args.extend(["-f", job_spec_json_path])
# Identify spec to install by hash
install_args.append("/{0}".format(job_spec.dag_hash()))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how does this work with "install missing compilers"? then job_spec is neither in the db nor in the environment so it fails? or not?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately compiler bootstrapping pipelines haven't worked ever since we started using the spack.lock to communicate what to build to downstream jobs.

@@ -526,10 +547,8 @@ def ci_rebuild(args):
if compiler_action != "FIND_ANY":
install_args.append("--no-add")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also, what's the point here actually?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like the comment above is wrong?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't recall why we wouldn't want --no-add in all cases. Since we never encounter this in practice any more, we just end up always adding this flag. We use the flag because when the purpose of the current job is to install a dependency of one of the roots of the environment, we just want to install it, not add it as a root itself.

- [x] Allow overriding --prune-dag cli opt with env var
- [x] Use job variable to optionally prevent rebuild jobs early
exit behavior
- [ ] Supply new install argument to insist deps are always
installed from binary, but package is only installed from source.
When doing a "rebuild everything" pipeline, make sure that each
install job only consumes binary dependencies from the mirror
being populated by the current pipeline.  This avoids using, e.g.
binaries from develop, when rebuilding everything on a PR.
When running a pipeline to rebuild everything, do not die because
we generated a hash on the broken specs list.  Instead only warn in
that case.
@scottwittenburg
Copy link
Copy Markdown
Contributor Author

Retrying the unit-tests / macos (3.8) as it failed mysteriously again.

@scottwittenburg
Copy link
Copy Markdown
Contributor Author

Python 2.7 timed out again, retrying.

@scottwittenburg scottwittenburg merged commit 29df7e9 into spack:develop Oct 17, 2022
@scottwittenburg scottwittenburg deleted the gitlab-support-spackbot-rebuild-all branch October 17, 2022 15:45
luke-dt added a commit to dantaslab/spack that referenced this pull request Oct 19, 2022
* hypre 2.26.0 (spack#33299)

* Github Discussions can be used for Q&A (spack#33364)

* Support spackbot rebuilding all specs from source (spack#32596)

Support spackbot rebuilding all specs from source when asked (with "rebuild everything")

- Allow overriding --prune-dag cli opt with env var
- Use job variable to optionally prevent rebuild jobs early exit behavior
- ci rebuild: Use new install argument to insist deps are always installed from binary, but
package is only installed from source.
- gitlab: fix bug w/ untouched pruning
- ci rebuild: install from hash rather than json file
- When doing a "rebuild everything" pipeline, make sure that each install job only consumes
binary dependencies from the mirror being populated by the current pipeline.  This avoids
using, e.g. binaries from develop, when rebuilding everything on a PR.
- When running a pipeline to rebuild everything, do not die because we generated a hash on
the broken specs list.  Instead only warn in that case.
- bugfix: Replace broken no-args tty.die() with sys.exit(1)

* python: add 3.10.7, 3.9.14, 3.8.14, 3.7.14 (spack#32623)

* Add checksum for py-secretstorage 3.3.3 (spack#33366)

* Add checksum for py-ipykernel 6.15.2 (spack#33360)

* GnuPG: add v2.3.8 and update stack (spack#33368)

* installer.py: traverse_dependencies has local deptype (spack#33367)

Currently `traverse_dependencies` fixes deptypes to traverse once and
for all in the recursion, but this is incorrect, since deptypes depend
on the node (e.g. if it's a dependency and cache-only, don't follow
build type edges, even if the parent is build from sources and needs
build deps.)

* py-horovod: add v0.26 (spack#33311)

* py-horovod: add v0.26

* py-petastorm: add v0.12.0

* database: don't warn adding missing build deps (spack#33361)

When installing an individual spec `spack --only=package --cache-only /xyz`
from a buildcache, Spack currently issues tons of warnings about
missing build deps (and their deps) in the database.

This PR disables these warnings, since it's fine to have a spec without
its build deps in the db (they are just "missing").

* Classic Intel compilers do not support gcc-toolchain (spack#33281)

* Classic Intel compilers do not support gcc-toolchain

This fix removes `--gcc-toolchain=` from the ~.fcg` files for the classic Intel
compilers. AFAIK this option is only supported for Clang based compilers.

This lead to an issue when installing cmake. Reproducer:
```
spack install [email protected]%[email protected]~doc+ncurses+ownlibs~qt
build_type=Release arch=linux-amzn2-skylake_avx512
```

Tagging maintainer @rscohn2

* Add `-gcc-name` for icc

.. and `-gxx-name` for icpc.

AFAIK this is used for modern C++ support, so we can ignore `ifort`.

Co-authored-by: Stephen Sachs <[email protected]>

* py-xopen: version bump to 1.6.0 (spack#33231)

* version bump to 1.6.0

* added py-isal, updated URL

* Initial contribution of LibPressio ecosystem (spack#32630)

* Add libpressio and dependencies; some of these packages are
  maintained as forks of the original repositories and in those
  cases the docstring mentions this.
* Add optional dependency in adios2 on libpressio
* cub package: set CUB_DIR environment variable for dependent
  installations
* Clear R_HOME/R_ENVIRON before Spack installation (avoid sources
  outside of Spack from affecting the installation in Spack)
* Rename dlib to dorian3d-dlib and update dependents; add new dlib
  implementation. Pending an official policy on how to handle
  packages with short names, reviewer unilaterally decided that
  the rename was acceptable given that the new Spack dlib package
  is referenced more widely (by orders of magnitude) than the
  original

Co-authored-by: Samuel Li <[email protected]>

* New packages: libbigwig, methyldackel (spack#33273)

* libbigwig: adding new package libbigwig
* methyldackel: adding new package methyldackel
* libbigwig: tighten up curl variant

* grid: reference `fftw-api` instead of `fftw` (spack#33374)

This makes it possible to compile with, e.g., `cray-fftw`, not just `fftw`.

* Bugfix HIP and aluminum rocm build (spack#33344)

* Fixed two bugs in the HIP package recipe.  The first is that the
HIP_PATH was being set to the actual spec, and not the spec prefix.

The second bug is that HIP is expected to be in /opt/rocm-x.y.z/hip
but it's libraries can exist at both /opt/rocm-x.y.z/hip/lib and
/opt/rocm-x.y.z/lib.  This means that the external detection logic may
find it in either and it turns out that some modules only expose one
of those two locations.  Logic is added to ensure that the internal
HIP_PATH and associated ROCM_PATH are correctly set in both cases.

* Added support for Aluminum to use the libfabric plugin with either
RCCL or NCCL.

* lz4: add 1.9.4 (spack#33334)

* e4s ci stack: add trilinos +rocm (spack#31601)

* py-fiona: add v1.8.22 (spack#33372)

* intel-oneapi-compilers: fix Python 2.7 compliance (spack#33383)

* build(deps): bump docker/setup-buildx-action from 2.1.0 to 2.2.0 (spack#33384)

Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@95cb08c...c74574e)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* mothur: add v1.48.0 and variants (spack#33326)

* vsearch: add v2.22.1 (spack#33327)

* papi: fix for Intel OneAPI compiler (spack#33225)

Without this patch one hits this error trying to compiler papi with Intel OneAPI:

icx: error: Note that use of '-g' without any optimization-level option will turn off most compiler optimizations similar to use of '-O0' [-Werror,-Wdebug-disables-optimization]

Signed-off-by: Howard Pritchard <[email protected]>

Signed-off-by: Howard Pritchard <[email protected]>

* go,gcc: Support external go compilers for Go bootstrap (spack#27769)

For ARM64, fallback to gccgo. ([email protected] can't support ARM64)

* Reusable --use-buildcache with better validation (spack#33388)

Co-authored-by: Massimiliano Culpo <[email protected]>

* Docs: Spack info option updates (spack#33376)

* intel-oneapi-compilers: do not pass -Wno-unused-command-line-argument to icc + refactor (spack#33389)

* spack checksum: warn if version is deprecated (spack#32438)

Co-authored-by: Massimiliano Culpo <[email protected]>

* Update the binary index before attempting direct fetches (spack#32137)

"spack install" will not update the binary index if given a concrete
spec, which causes it to fall back to direct fetches when a simple
index update would have helped. For S3 buckets in particular, this
significantly and needlessly slows down the install process.

This commit alters the logic so that the binary index is updated
whenever a by-hash lookup fails. The lookup is attempted again with
the updated index before falling back to direct fetches. To avoid
updating too frequently (potentially once for each spec being
installed), BinaryCacheIndex.update now includes a "cooldown"
option, and when this option is enabled it will not update more
than once in a cooldown window (set in config.yaml).

Co-authored-by: Tamara Dahlgren <[email protected]>

* Relocate "run" type dependencies too (spack#33191)

When downloading from binary cache not only replace RPATHs to dependencies, but
also text references to dependencies.

Example:
`[email protected]` contains a text reference to the executable of its dependency
`perl`:

```
$ grep perl-5 /shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/autoconf-2.69-q3lo/bin/autoreconf
eval 'case $# in 0) exec /shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/perl-5.34.1-yphg/bin/perl -S "$0";; *) exec /shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/perl-5.34.1-yphg/bin/perl -S "$0" "$@";; esac'
```

These references need to be replace or any package using `autoreconf` will fail
as it cannot find the installed `perl`.

Co-authored-by: Stephen Sachs <[email protected]>

* Add a command to bootstrap Spack right now (spack#33407)

* axom: python only reliably available when +python, +devtools (spack#33414)

* pilercr: new package (spack#33251)

* new package
* fixed style
* actually building now

* raja +rocm: use hipcc as CMAKE_CXX_COMPILER (spack#33375)

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Howard Pritchard <[email protected]>
Co-authored-by: Rui Peng Li <[email protected]>
Co-authored-by: Harmen Stoppels <[email protected]>
Co-authored-by: Scott Wittenburg <[email protected]>
Co-authored-by: Carlos Bederián <[email protected]>
Co-authored-by: iarspider <[email protected]>
Co-authored-by: Massimiliano Culpo <[email protected]>
Co-authored-by: Adam J. Stewart <[email protected]>
Co-authored-by: Stephen Sachs <[email protected]>
Co-authored-by: Stephen Sachs <[email protected]>
Co-authored-by: Robert Underwood <[email protected]>
Co-authored-by: Samuel Li <[email protected]>
Co-authored-by: snehring <[email protected]>
Co-authored-by: Mosè Giordano <[email protected]>
Co-authored-by: Brian Van Essen <[email protected]>
Co-authored-by: Michael Kuhn <[email protected]>
Co-authored-by: eugeneswalker <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Howard Pritchard <[email protected]>
Co-authored-by: Bernhard Kaindl <[email protected]>
Co-authored-by: Tamara Dahlgren <[email protected]>
Co-authored-by: Robert Cohn <[email protected]>
Co-authored-by: Jonathon Anderson <[email protected]>
luke-dt added a commit to dantaslab/spack that referenced this pull request Oct 19, 2022
* hypre 2.26.0 (spack#33299)

* Github Discussions can be used for Q&A (spack#33364)

* Support spackbot rebuilding all specs from source (spack#32596)

Support spackbot rebuilding all specs from source when asked (with "rebuild everything")

- Allow overriding --prune-dag cli opt with env var
- Use job variable to optionally prevent rebuild jobs early exit behavior
- ci rebuild: Use new install argument to insist deps are always installed from binary, but
package is only installed from source.
- gitlab: fix bug w/ untouched pruning
- ci rebuild: install from hash rather than json file
- When doing a "rebuild everything" pipeline, make sure that each install job only consumes
binary dependencies from the mirror being populated by the current pipeline.  This avoids
using, e.g. binaries from develop, when rebuilding everything on a PR.
- When running a pipeline to rebuild everything, do not die because we generated a hash on
the broken specs list.  Instead only warn in that case.
- bugfix: Replace broken no-args tty.die() with sys.exit(1)

* python: add 3.10.7, 3.9.14, 3.8.14, 3.7.14 (spack#32623)

* Add checksum for py-secretstorage 3.3.3 (spack#33366)

* Add checksum for py-ipykernel 6.15.2 (spack#33360)

* GnuPG: add v2.3.8 and update stack (spack#33368)

* installer.py: traverse_dependencies has local deptype (spack#33367)

Currently `traverse_dependencies` fixes deptypes to traverse once and
for all in the recursion, but this is incorrect, since deptypes depend
on the node (e.g. if it's a dependency and cache-only, don't follow
build type edges, even if the parent is build from sources and needs
build deps.)

* py-horovod: add v0.26 (spack#33311)

* py-horovod: add v0.26

* py-petastorm: add v0.12.0

* database: don't warn adding missing build deps (spack#33361)

When installing an individual spec `spack --only=package --cache-only /xyz`
from a buildcache, Spack currently issues tons of warnings about
missing build deps (and their deps) in the database.

This PR disables these warnings, since it's fine to have a spec without
its build deps in the db (they are just "missing").

* Classic Intel compilers do not support gcc-toolchain (spack#33281)

* Classic Intel compilers do not support gcc-toolchain

This fix removes `--gcc-toolchain=` from the ~.fcg` files for the classic Intel
compilers. AFAIK this option is only supported for Clang based compilers.

This lead to an issue when installing cmake. Reproducer:
```
spack install [email protected]%[email protected]~doc+ncurses+ownlibs~qt
build_type=Release arch=linux-amzn2-skylake_avx512
```

Tagging maintainer @rscohn2

* Add `-gcc-name` for icc

.. and `-gxx-name` for icpc.

AFAIK this is used for modern C++ support, so we can ignore `ifort`.

Co-authored-by: Stephen Sachs <[email protected]>

* py-xopen: version bump to 1.6.0 (spack#33231)

* version bump to 1.6.0

* added py-isal, updated URL

* Initial contribution of LibPressio ecosystem (spack#32630)

* Add libpressio and dependencies; some of these packages are
  maintained as forks of the original repositories and in those
  cases the docstring mentions this.
* Add optional dependency in adios2 on libpressio
* cub package: set CUB_DIR environment variable for dependent
  installations
* Clear R_HOME/R_ENVIRON before Spack installation (avoid sources
  outside of Spack from affecting the installation in Spack)
* Rename dlib to dorian3d-dlib and update dependents; add new dlib
  implementation. Pending an official policy on how to handle
  packages with short names, reviewer unilaterally decided that
  the rename was acceptable given that the new Spack dlib package
  is referenced more widely (by orders of magnitude) than the
  original

Co-authored-by: Samuel Li <[email protected]>

* New packages: libbigwig, methyldackel (spack#33273)

* libbigwig: adding new package libbigwig
* methyldackel: adding new package methyldackel
* libbigwig: tighten up curl variant

* grid: reference `fftw-api` instead of `fftw` (spack#33374)

This makes it possible to compile with, e.g., `cray-fftw`, not just `fftw`.

* Bugfix HIP and aluminum rocm build (spack#33344)

* Fixed two bugs in the HIP package recipe.  The first is that the
HIP_PATH was being set to the actual spec, and not the spec prefix.

The second bug is that HIP is expected to be in /opt/rocm-x.y.z/hip
but it's libraries can exist at both /opt/rocm-x.y.z/hip/lib and
/opt/rocm-x.y.z/lib.  This means that the external detection logic may
find it in either and it turns out that some modules only expose one
of those two locations.  Logic is added to ensure that the internal
HIP_PATH and associated ROCM_PATH are correctly set in both cases.

* Added support for Aluminum to use the libfabric plugin with either
RCCL or NCCL.

* lz4: add 1.9.4 (spack#33334)

* e4s ci stack: add trilinos +rocm (spack#31601)

* py-fiona: add v1.8.22 (spack#33372)

* intel-oneapi-compilers: fix Python 2.7 compliance (spack#33383)

* build(deps): bump docker/setup-buildx-action from 2.1.0 to 2.2.0 (spack#33384)

Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@95cb08c...c74574e)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* mothur: add v1.48.0 and variants (spack#33326)

* vsearch: add v2.22.1 (spack#33327)

* papi: fix for Intel OneAPI compiler (spack#33225)

Without this patch one hits this error trying to compiler papi with Intel OneAPI:

icx: error: Note that use of '-g' without any optimization-level option will turn off most compiler optimizations similar to use of '-O0' [-Werror,-Wdebug-disables-optimization]

Signed-off-by: Howard Pritchard <[email protected]>

Signed-off-by: Howard Pritchard <[email protected]>

* go,gcc: Support external go compilers for Go bootstrap (spack#27769)

For ARM64, fallback to gccgo. ([email protected] can't support ARM64)

* Reusable --use-buildcache with better validation (spack#33388)

Co-authored-by: Massimiliano Culpo <[email protected]>

* Docs: Spack info option updates (spack#33376)

* intel-oneapi-compilers: do not pass -Wno-unused-command-line-argument to icc + refactor (spack#33389)

* spack checksum: warn if version is deprecated (spack#32438)

Co-authored-by: Massimiliano Culpo <[email protected]>

* Update the binary index before attempting direct fetches (spack#32137)

"spack install" will not update the binary index if given a concrete
spec, which causes it to fall back to direct fetches when a simple
index update would have helped. For S3 buckets in particular, this
significantly and needlessly slows down the install process.

This commit alters the logic so that the binary index is updated
whenever a by-hash lookup fails. The lookup is attempted again with
the updated index before falling back to direct fetches. To avoid
updating too frequently (potentially once for each spec being
installed), BinaryCacheIndex.update now includes a "cooldown"
option, and when this option is enabled it will not update more
than once in a cooldown window (set in config.yaml).

Co-authored-by: Tamara Dahlgren <[email protected]>

* Relocate "run" type dependencies too (spack#33191)

When downloading from binary cache not only replace RPATHs to dependencies, but
also text references to dependencies.

Example:
`[email protected]` contains a text reference to the executable of its dependency
`perl`:

```
$ grep perl-5 /shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/autoconf-2.69-q3lo/bin/autoreconf
eval 'case $# in 0) exec /shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/perl-5.34.1-yphg/bin/perl -S "$0";; *) exec /shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/perl-5.34.1-yphg/bin/perl -S "$0" "$@";; esac'
```

These references need to be replace or any package using `autoreconf` will fail
as it cannot find the installed `perl`.

Co-authored-by: Stephen Sachs <[email protected]>

* Add a command to bootstrap Spack right now (spack#33407)

* axom: python only reliably available when +python, +devtools (spack#33414)

* pilercr: new package (spack#33251)

* new package
* fixed style
* actually building now

* raja +rocm: use hipcc as CMAKE_CXX_COMPILER (spack#33375)

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Howard Pritchard <[email protected]>
Co-authored-by: Rui Peng Li <[email protected]>
Co-authored-by: Harmen Stoppels <[email protected]>
Co-authored-by: Scott Wittenburg <[email protected]>
Co-authored-by: Carlos Bederián <[email protected]>
Co-authored-by: iarspider <[email protected]>
Co-authored-by: Massimiliano Culpo <[email protected]>
Co-authored-by: Adam J. Stewart <[email protected]>
Co-authored-by: Stephen Sachs <[email protected]>
Co-authored-by: Stephen Sachs <[email protected]>
Co-authored-by: Robert Underwood <[email protected]>
Co-authored-by: Samuel Li <[email protected]>
Co-authored-by: snehring <[email protected]>
Co-authored-by: Mosè Giordano <[email protected]>
Co-authored-by: Brian Van Essen <[email protected]>
Co-authored-by: Michael Kuhn <[email protected]>
Co-authored-by: eugeneswalker <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Howard Pritchard <[email protected]>
Co-authored-by: Bernhard Kaindl <[email protected]>
Co-authored-by: Tamara Dahlgren <[email protected]>
Co-authored-by: Robert Cohn <[email protected]>
Co-authored-by: Jonathon Anderson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commands core PR affects Spack core functionality tests General test capability(ies)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants