summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Becker <becker33@llnl.gov>2019-08-07 18:34:41 -0700
committerPeter Scheibel <scheibel1@llnl.gov>2019-08-07 18:34:41 -0700
commit36fbd6cf4cce68424bdea92a8426ddcfce922595 (patch)
treee8b821a8f99e965b2f434d73d29b0782d7936906
parenta791234676549fa9f840315639e39de3cd5505bd (diff)
downloadspack-36fbd6cf4cce68424bdea92a8426ddcfce922595.tar.gz
spack-36fbd6cf4cce68424bdea92a8426ddcfce922595.tar.bz2
spack-36fbd6cf4cce68424bdea92a8426ddcfce922595.tar.xz
spack-36fbd6cf4cce68424bdea92a8426ddcfce922595.zip
bugfix: spack stacks mixed dependency and non-dep constraints (#12315)
Spack stacks drop invalid dependencies applied to packages by a spec_list matrix operation Without this fix, Spack would raise an error if orthogonal dependency constraints and non-dependency constraints were applied to the same package by a matrix and the dependency constraint was invalid for that package. This is an error, fixed by this PR. An example failing configuration: spack: definitions: - packages: [libelf, hdf5+mpi] - compilers: ['%gcc'] - mpis: [^openmpi] specs: - matrix: - $packages - $compilers - $mpis
-rw-r--r--lib/spack/spack/environment.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py
index 0e59cba746..86b88b8a51 100644
--- a/lib/spack/spack/environment.py
+++ b/lib/spack/spack/environment.py
@@ -1346,7 +1346,7 @@ def _concretize_from_constraints(spec_constraints):
for d in invalid_msg.split()
if d != 'or']
invalid_deps = [c for c in spec_constraints
- if any(c.satisfies(invd)
+ if any(c.satisfies(invd, strict=True)
for invd in invalid_deps_string)]
if len(invalid_deps) != len(invalid_deps_string):
raise e