From 71726a9b3392c3ca5f2dd8745d770dc3d0a238e6 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 3 Jan 2020 17:32:30 -0800 Subject: concretizer bugfix: require at least one value for multi-value variants We didn't have a cardinality constraint for multi-valued variants, so the solver wasn't filling them in. - [x] add a requirement for at least one value for multi-valued variants --- lib/spack/spack/solver/concretize.lp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib') diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 817c529082..6f5b584dfa 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -78,6 +78,10 @@ node(D) :- node(P), depends_on(P, D). 1 { variant_value(P, V, X) : variant_possible_value(P, V, X) } 1 :- node(P), variant(P, V), variant_single_value(P, V). +% at least one variant value for multi-valued variants. +1 { variant_value(P, V, X) : variant_possible_value(P, V, X) } + :- node(P), variant(P, V), not variant_single_value(P, V). + % if a variant is set to anything, it is considered 'set'. variant_set(P, V) :- variant_set(P, V, _). -- cgit v1.2.3-70-g09d2