From 035131749bdd7f7283a81a349e8db4df1c531a18 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 20 Feb 2025 16:39:25 +0100 Subject: [PATCH] macOS: improve error message for required compilers --- lib/spack/spack/solver/concretize.lp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 6e88247e0c2..cb2005b567f 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -902,8 +902,10 @@ required_provider(Provider, Virtual) pkg_fact(Virtual, condition_effect(ConditionID, EffectID)), imposed_constraint(EffectID, "node", Provider). -:- provider(node(Y, Package), node(X, Virtual)), required_provider(Provider, Virtual), Package != Provider, - internal_error("If a provider is required the concretizer must use it"). +error(1, "Trying to use {0} as a provider for {1}, but {2} is required", Package, Virtual, Provider) :- + provider(node(Y, Package), node(X, Virtual)), + required_provider(Provider, Virtual), + Package != Provider. % TODO: the following choice rule allows the solver to add compiler % flags if their only source is from a requirement. This is overly-specific