Commit 33f5f9e4 authored by Edward Z. Yang's avatar Edward Z. Yang
Browse files

Allocate different ComponentId for lib and exe.

In the old code, we assumed that only libraries could get
installed, but with executable dependencies this is no
longer true.  Handle it correctly.

This bug caused cycles in the elaborated install plan which
could cause dependency closure to fail, resulting in
weird errors.

Fixes #3996.
Signed-off-by: default avatarEdward Z. Yang <>
parent a7fb9b9a
......@@ -2824,7 +2824,10 @@ packageHashInputs
}) =
PackageHashInputs {
pkgHashPkgId = packageId elab,
pkgHashComponent = Nothing,
pkgHashComponent =
case elabPkgOrComp elab of
ElabPackage _ -> Nothing
ElabComponent comp -> Just (compSolverName comp),
pkgHashSourceHash = srchash,
pkgHashPkgConfigDeps = Set.fromList (elabPkgConfigDependencies elab),
pkgHashDirectDeps =
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment