Commit 4dfb76f2 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 211776b1
......@@ -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