From e31be3da565dd353cdb75db195c047ab154a8b56 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 2 Jan 2020 19:48:00 -0800 Subject: [PATCH] concretizer bugfix: *at most* one provider for any virtual --- lib/spack/spack/solver/concretize.lp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index e2de60b887..817c529082 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -33,9 +33,9 @@ depends_on(P, D, T) :- declared_dependency(P, D, T), not virtual(D), node(P). 1 { depends_on(P, Q, T) : provides_virtual(Q, V) } 1 :- declared_dependency(P, V, T), virtual(V), node(P). -% for any virtual, there can only be one node providing it in the DAG +% for any virtual, there can be at most one provider in the DAG provider(P, V) :- node(P), provides_virtual(P, V). -1 { provider(P, V) : node(P) } 1 :- virtual(V). +0 { provider(P, V) : node(P) } 1 :- virtual(V). % give dependents the virtuals they want provider_weight(D, N)