Unable to build Hadrian with GHC 9.0.2
If I try running hadrian/ghci
with GHC 9.0.2 as the bootstrapping compiler, it will fail with:
$ ./hadrian/ghci
cabal: Could not resolve dependencies:
[__0] trying: hadrian-0.1.0.0 (user goal)
[__1] trying: unordered-containers-0.2.15.0 (dependency of hadrian)
[__2] trying: hashable-1.4.0.1 (dependency of unordered-containers)
[__3] next goal: base (dependency of hadrian)
[__3] rejecting: base-4.15.1.0/installed-4.15.1.0 (conflict: hashable =>
ghc-bignum>=1.0 && <1.1 || >=1.2 && <1.3, base =>
ghc-bignum==1.1/installed-1.1)
[__3] rejecting: base-4.16.0.0, base-4.15.0.0, base-4.14.3.0, base-4.14.2.0,
base-4.14.1.0, base-4.14.0.0, base-4.13.0.0, base-4.12.0.0, base-4.11.1.0,
base-4.11.0.0, base-4.10.1.0, base-4.10.0.0, base-4.9.1.0, base-4.9.0.0,
base-4.8.2.0, base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1,
base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0,
base-4.4.1.0, base-4.4.0.0, base-4.3.1.0, base-4.3.0.0, base-4.2.0.2,
base-4.2.0.1, base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2,
base-3.0.3.1 (constraint from non-upgradeable package requires installed
instance)
[__3] fail (backjumping, conflict set: base, hadrian, hashable)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, hashable, unordered-containers,
hadrian
Try running with --minimize-conflict-set to improve the error message.
The culprit is that Hadrian's cabal.project
is using an old index-state
such that no version of hashable
that supports ghc-bignum-1.1
(which GHC 9.0.2 bundles) can be found. If I update the index-state
to a more recent one, the issue disappears.
Patch incoming.