Commit graph

21759 commits

Author SHA1 Message Date
Massimiliano Culpo
32f1aa607c
Add an audit system to Spack (#23053)
Add a new "spack audit" command. This command can check for issues
with configuration or with packages and is intended to help a
user debug a failed Spack build. 

In some cases the reported issues are always errors but are too
costly to check for (e.g. packages that specify missing variants on
dependencies). In other cases the issues may be legitimate but
uncommon usage of Spack and we want to be sure the user intended the
behavior (e.g. duplicate compiler definitions).

Audits are grouped by theme, and for now the two themes are packages
and configuration. For example you can run all available audits
on packages with "spack audit packages". It is intended that in
the future users will be able to define their own audits.

The package audits are good candidates for running in package_sanity
(i.e. they could catch bugs in user-submitted packages before they
are merged) but that is left for a later PR.
2021-06-18 07:52:08 -06:00
Adam J. Stewart
8ad05d6a74
FBGEMM: GCC 5+ and AVX2 required (#24356) 2021-06-18 08:49:18 -05:00
Massimiliano Culpo
57467d05e1
Disable magma in the E4S pipeline (#24395)
Building magma has been failing consistently and is currently
blocking PRs from being merged. Disable that spec while we
investigate the failure and work on a fix.
2021-06-18 12:55:31 +00:00
Glenn Johnson
9750459e05
gsl package: update patch for later version (#22968)
Old patch is still provided for older versions.
2021-06-17 17:37:57 -07:00
Frank Willmore
2c1e9cc7b7
oneAPI compiler: update openmp flag (#23771) 2021-06-17 17:26:46 -07:00
Vanessasaurus
e7ac422982
Adding support for spack monitor with containerize (#23777)
This should get us most of the way there to support using monitor during a spack container build, for both Singularity and Docker. Some quick notes:

### Docker
Docker works by way of BUILDKIT and being able to specify --secret. What this means is that you can prefix a line with a mount of type secret as follows:

```bash
# Install the software, remove unnecessary deps
RUN --mount=type=secret,id=su --mount=type=secret,id=st cd /opt/spack-environment && spack env activate . && export SPACKMON_USER=$(cat /run/secrets/su) && export SPACKMON_TOKEN=$(cat /run/secrets/st) && spack install --monitor --fail-fast && spack gc -y
```
Where the id for one or more secrets corresponds to the file mounted at `/run/secrets/<name>`. So, for example, to build this container with su (spackmon user) and sv (spackmon token) defined I would export them on my host and do:

```bash
$ DOCKER_BUILDKIT=1 docker build --network="host" --secret id=st,env=SPACKMON_TOKEN --secret id=su,env=SPACKMON_USER -t spack/container . 
```
And when we add `env` to the secret definition that tells the build to look for the secret with id "st" in the environment variable `SPACKMON_TOKEN` for example.

If the user is building locally with a local spack monitor, we also need to set the `--network` to be the host, otherwise you can't connect to it (a la isolation of course.)

## Singularity

Singularity doesn't have as nice an ability to clearly specify secrets, so (hoping this eventually gets implemented) what I'm doing now is providing the user instructions to write the credentials to a file, add it to the container to source, and remove when done.

## Tags

Note that the tags PR https://github.com/spack/spack/pull/23712 will need to be merged before `--monitor-tags` will actually work because I'm checking for the attribute (that doesn't exist yet):

```bash
"tags": getattr(args, "monitor_tags", None)
```
So when that PR is merged to update the argument group, it will work here, and I can either update the PR here to not check if the attribute is there (it will be) or open another one in the case this PR is already merged. 

Finally, I added a bunch of documetation for how to use monitor with containerize. I say "mostly working" because I can't do a full test run with this new version until the container base is built with the updated spack (the request to the monitor server for an env install was missing so I had to add it here).

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-06-17 17:15:22 -07:00
eugeneswalker
e916b699ee
e4s ci env: package preferences: use newer versions (#24371) 2021-06-17 15:17:49 -06:00
Erik Schnetter
fa89ca2eb0
vtk: Limit freetype versions (#24389)
freetype 2.0.3 introduces an incompatible change

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-06-17 15:13:33 -06:00
Adam J. Stewart
1c22742eed
gloo: add +cuda variant (#24390) 2021-06-17 20:32:38 +00:00
Erik Schnetter
d4b5911671
hwloc: New version 2.5.0 (#24387) 2021-06-17 13:16:28 -06:00
Erik Schnetter
47e9b62b43
freetype: Add version 2.0.2 (#24386) 2021-06-17 12:37:31 -06:00
Todd Gamblin
100078ec3a
codecov: disable inline annotations on PRs (#24362)
Inline codecov annotations make the code hard to read, and they add annotations
in files that seemingly have nothing to do with the PR. Sadly, they add a whole
lot of noise and not a lot of benefit over looking at the PR on codecov. We
should just have people look at the coverage on codecov itself.
2021-06-17 12:22:23 -06:00
Adam J. Stewart
54d8fea9fc
MAGMA: add v2.6.0, sm_37 support (#24383) 2021-06-17 11:10:39 -06:00
Adam J. Stewart
3eee93ee76
ONNX: add new package (#24384) 2021-06-17 11:07:35 -06:00
Nick Forrington
b5cb75e5ec
arm-forge: add v21.0.2 and variant to detect PMU counters (#24298) 2021-06-17 05:55:32 -06:00
Harmen Stoppels
75675de02a
Fix an issue where cray module files may not have CRAY_MPICH_DIR set (#24267) 2021-06-17 04:28:25 -06:00
Tom Payerle
b8ad621907
vtk: patch to replace use of FT_CALLBACK_DEF (#24238) 2021-06-17 04:19:23 -06:00
Andreas Baumbach
eac757da8c
New package: py-pyusb (#23733)
* New package: py-pyusb

Change-Id: I606127858b961b5841c60befc5a8353df0f9f38c

* fixup dependencies

Change-Id: I0c9b0ccee693d2c4e847717950d4ce64cb319794

* fixup 2

Change-Id: Ibaccbdafd865e363564f491054e4e4ceb778727b

* Update var/spack/repos/builtin/packages/py-pyusb/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-06-17 03:58:21 -06:00
Harmen Stoppels
011a940f44
Break llvm-amdgpu circular dependency with rocm-device-libs (#23859) 2021-06-17 03:52:33 -06:00
Anton Kozhevnikov
85c5589620
add -fallow-argument-mismatch flag for gcc10 (#24354) 2021-06-17 03:40:27 -06:00
Scott Wittenburg
ee9b1a6ea5
ci: add all locally computed hashes as job variables (#24359) 2021-06-17 03:37:31 -06:00
Jen Herting
986776c937
New package: py-pyscreeze (#24251)
* [py-pyscreeze] created template

* [py-pyscreeze] added dependencies

* [py-pyscreeze] depends on scrot

* [py-pyscreeze] Final cleanup

- added homepage
- added description
- removed fixmes

* [py-pyscreeze] using pil provider
2021-06-17 03:31:33 -06:00
Howard Pritchard
2739edd42c
open mpi: add v4.0.6 and fix a bug (#24344)
A patch no longer applies cleanly as its fixed in v4.0.6 - fix it here

==> Installing openmpi-4.0.6-in47f6rxspbnyibkdx6x4ekg6piujobd
==> No binary for openmpi-4.0.6-in47f6rxspbnyibkdx6x4ekg6piujobd found: installing from source
==> Fetching https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.6.tar.bz2
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
2 out of 2 hunks ignored -- saving rejects to file opal/include/opal/sys/gcc_builtin/atomic.h.rej

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-06-17 03:28:37 -06:00
Harmen Stoppels
e4d80c997a
Unset LD_PRELOAD and DYLD_INSERT_LIBRARIES (#24177)
When running executables from build dependencies, we want to avoid that
`LD_PRELOAD` and `DYLD_INSERT_LIBRARIES` any of their shared libs build
by spack with system libraries.
2021-06-17 09:25:19 +00:00
Manuela Kuhn
3571c1b812
nss: add nssutil3 library to pkg-config (#24364)
This is needed for qt+webkit to build correctly.
As reference the debian package was taken:
https://salsa.debian.org/mozilla-team/nss/-/blob/master/debian/nss.pc.in
2021-06-17 03:19:31 -06:00
snehring
7831d6be75
bowtie2: add constraints for the simde dependency (#24226) 2021-06-17 01:52:27 -06:00
Asher Mancinelli
c8f58c5f1d
hiop: add v0.4.4, use commits for tags (#24365) 2021-06-17 08:53:31 +02:00
Adam J. Stewart
56f1904538
NNPACK: add new package (#24333) 2021-06-17 00:01:24 -06:00
Adam J. Stewart
10608edd24
py-peachpy: add new package (#24373) 2021-06-16 23:34:18 -06:00
Adam J. Stewart
3adee93d14
py-opcodes: add new package (#24372) 2021-06-17 07:04:38 +02:00
John Jolly
d31d339bf6
z3: update package to use CMake build system (#24337)
The Z3 solver provides a Z3Config.cmake file when built using the CMake build
system. This submission changes the package build system to inherit the
CMakePackage type. In addition to changing the build system, this submission:

- Adds the GMP variant
- Removes v4.4.0 and v4.4.1 as CMake was implemented starting with v4.5.0
2021-06-17 07:03:37 +02:00
Adam J. Stewart
5692c15e3a
TensorPipe: add new package (#24335)
* TensorPipe: add new package

* Add libuv dependency

* Add min supported version of libuv
2021-06-16 16:36:48 -05:00
Adam J. Stewart
f0a85059c2
XNNPACK: add new package (#24334)
* XNNPACK: add new package

* XNNPACK: add resources
2021-06-16 16:35:56 -05:00
Adam J. Stewart
551ae264fe
gloo: add py-torch submodule commits (#24330)
* gloo: add py-torch submodule commits

* gloo: add new version

* gloo: add master branch

* gloo: use Ninja generator
2021-06-16 10:06:40 -05:00
OliverPerks
a92bed0dc5
openssl: architecture check is now based on spec target (#24228) 2021-06-16 08:10:43 -06:00
Nicolas Cornu
3f9f2c2abe
eigen: fix build with nvhpc (#24253) 2021-06-16 07:58:31 -06:00
Adam J. Stewart
72c6fc2fda
kineto: add new package (#24319) 2021-06-16 07:43:47 -06:00
Adam J. Stewart
38088dd898
FBGEMM: add new package (#24318) 2021-06-16 07:37:44 -06:00
Tim Haines
4f40454800
Dyninst: add v11.0.1 (#24322) 2021-06-16 07:34:39 -06:00
Glenn Johnson
46214b0caa
Set r-chipseq to bioconductor format (#24315)
- added description
- converted to git from url
- set commit rather than sha256
2021-06-16 15:18:13 +02:00
Adam J. Stewart
ce0eb4862f
QNNPACK: add py-torch submodule commits (#24329) 2021-06-16 14:57:37 +02:00
Steven Smith
058ae3f0fd
ParFlow: add new package (#24331) 2021-06-16 14:56:36 +02:00
Glenn Johnson
2439b8d59c
r-effects: new package (#24342) 2021-06-16 03:11:16 -06:00
archxlith
891207f20e
kaldi: fix building with mkl (#24338) 2021-06-16 03:10:39 -06:00
archxlith
5ec708cb48
openfst: add v1.7.3 (#24339)
It's the highest version allowed in kaldi package
2021-06-16 03:07:17 -06:00
snehring
822d6a93fb
openmolcas: add v21.02, add mpi variant (#24343) 2021-06-16 10:37:36 +02:00
Adam J. Stewart
64f3e37479
cpuinfo: prevent downloads during build (#24345) 2021-06-16 08:28:25 +02:00
Adam J. Stewart
8a938978a4
pthreadpool: more specific resource destination (#24346) 2021-06-16 08:27:20 +02:00
Marc Fehling
a067b48112
p4est: add v2.3.2 (#24311) 2021-06-15 23:46:19 -06:00
Axel Huebl
ca1d1c427c
openPMD-api: Build with Legacy API (#24341)
Allow to build with `^hdf5@1.12.0 api=v110` and `v18`.
2021-06-15 18:37:52 -07:00