Update ./configure to require ghc >= 9.0 for ghc HEAD
Summary
Building ghc HEAD with boot ghc version of 8.10.7 fails. Apparently it's no longer supported, so it should be rejected by ./configure. This would save people time and annoyance.
Steps to reproduce
Configure with ghc-8.10.7
GHC=/usr/local/bin/ghc-8.10.7 ./configure
Build
./hadrian/build --flavour=devel2 stage1:exe:ghc-bin
Fails building bytestring with a template-haskell related type error:
Command line: /usr/local/bin/ghc-8.10.7 -Wall -Wcompat -hisuf hi -osuf o -hcsuf hc -static -hide-all-packages -no-user-package-db '-package-env -' '-package-db _build/stage0/inplace/package.conf.d' '-this-unit-id bytestring-0.11.3.1' '-package-id base-4.14.3.0' '-package-id deepseq-1.4.4.0' '-package-id ghc-prim-0.6.1' '-package-id template-haskell-2.19.0.0' -i -i/home/duncan/prgs/ghc/_build/stage0/libraries/bytestring/build -i/home/duncan/prgs/ghc/_build/stage0/libraries/bytestring/build/autogen -i/home/duncan/prgs/ghc/libraries/bytestring -I_build/stage0/libraries/bytestring/build -I_build/stage0/libraries/bytestring/build/include -Ilibraries/bytestring/include -I/usr/local/lib64/ghc-8.10.7/base-4.14.3.0/include -I/usr/local/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/include -I/usr/local/lib64/ghc-8.10.7/include -optP-include -optP_build/stage0/libraries/bytestring/build/autogen/cabal_macros.h -outputdir _build/stage0/libraries/bytestring/build -fdiagnostics-color=always -optc-Wno-error=inline -optP-Wno-nonportable-include-path -c libraries/bytestring/Data/ByteString/Internal.hs -o _build/stage0/libraries/bytestring/build/Data/ByteString/Internal.o -O -H64m -Wall -fwarn-tabs -O2 -fmax-simplifier-iterations=10 -fdicts-cheap -fspec-constr-count=6 -XHaskell2010 -fno-warn-deprecated-flags
===> Command failed with error code: 1
libraries/bytestring/Data/ByteString/Internal.hs:277:23: error:
• Couldn't match type ‘m’ with ‘TH.Q’
‘m’ is a rigid type variable bound by
the type signature for:
TH.lift :: forall (m :: * -> *).
TH.Quote m =>
ByteString -> m TH.Exp
at libraries/bytestring/Data/ByteString/Internal.hs:277:3-6
Expected type: m TH.Exp
Actual type: TH.Q TH.Exp
• In the expression:
[| unsafePackLenLiteral |]
`TH.appE` TH.litE (TH.integerL (fromIntegral len))
`TH.appE`
TH.litE (TH.BytesPrimL $ TH.Bytes ptr 0 (fromIntegral len))
In an equation for ‘TH.lift’:
TH.lift (BS ptr len)
= [| unsafePackLenLiteral |]
`TH.appE` TH.litE (TH.integerL (fromIntegral len))
`TH.appE`
TH.litE (TH.BytesPrimL $ TH.Bytes ptr 0 (fromIntegral len))
In the instance declaration for ‘TH.Lift ByteString’
• Relevant bindings include
lift :: ByteString -> m TH.Exp
(bound at libraries/bytestring/Data/ByteString/Internal.hs:277:3)
|
277 | lift (BS ptr len) = [| unsafePackLenLiteral |]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^...
Command failed
Build failed.
Expected behavior
The ./configure script should reject this ghc version if it is no longer supported.
Environment
- ghc-8.10.7