diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index c18b99b8f1d..cdfea9883ae 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -613,6 +613,18 @@ attr("variant_value", Package, Variant, Value) :- variant(Package, Variant), build(Package). +error(0, "'{0}' required multiple values for single-valued variant '{1}'\n Requested 'Spec({1}={2})' and 'Spec({1}={3})'", Package, Variant, Value1, Value2, startcauses, Cause1, Cause2) + :- attr("node", Package), + variant(Package, Variant), + variant_single_value(Package, Variant), + build(Package), + attr("variant_value", Package, Variant, Value1), + imposed_constraint(Cause1, "variant_set", Package, Variant, Value1), + condition_holds(Cause1), + attr("variant_value", Package, Variant, Value2), + imposed_constraint(Cause2, "variant_set", Package, Variant, Value2), + condition_holds(Cause2), + Value1 < Value2. % see[1] error(100, "'{0}' required multiple values for single-valued variant '{1}'", Package, Variant) :- attr("node", Package), diff --git a/lib/spack/spack/solver/display.lp b/lib/spack/spack/solver/display.lp index ff7c8f987fc..868062b3f48 100644 --- a/lib/spack/spack/solver/display.lp +++ b/lib/spack/spack/solver/display.lp @@ -25,6 +25,7 @@ #show error/6. #show error/7. #show error/8. +#show error/9. % show cause -> effect data for errors #show condition_cause/2.