Hadrian fails to run test cases
Summary
Compiling utils/check-exact/Preprocess.hs
fails with unknown symbol 'allocateWrite'
.
Steps to reproduce
On a fresh extracted tree (in my case 20210402) run:
hadrian/build clean
hadrian/build --flavour=devel2 -j2 -c
hadrian/build test --flavour=devel2 --freeze1 -j2 --only=break012 stage2:exe:ghc-bin
The first 2 commands work well. However the third fails before running the test case:
Up to date
| Successfully generated _build/ghc-stage2.
| Make '_build/ghc-stage2' executable.
# bash (for _build/test/bin/ghc-config)
| Copy file: testsuite/timeout/timeout.py => _build/testsuite/timeout/install-inplace/bin/timeout.py
| Make '_build/testsuite/timeout/install-inplace/bin/timeout' executable.
Linking _build/test/bin/ghc-config ...
# ghc-config (for _build/test/ghcconfig)
| Successfully generated _build/stage2/lib/ghcversion.h.
| Successfully generated _build/stage2/lib/ghcplatform.h.
| Successfully generated _build/stage2/lib/ghcautoconf.h.
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Program, pkgName = "check-ppr", pkgPath = "utils/check-ppr"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Program, pkgName = "check-exact", pkgPath = "utils/check-exact"})))
# ghc (for _build/test/bin/check-ppr)
# ghc (for _build/test/bin/check-exact)
[1 of 1] Compiling Main ( /home/roland/Projekte/ghchead/utils/check-ppr/Main.hs, /home/roland/Projekte/ghchead/utils/check-ppr/Main.o ) [Data.Data changed]
[1 of 8] Compiling Types ( utils/check-exact/Types.hs, utils/check-exact/Types.o ) [Data.Data changed]
Linking /home/roland/Projekte/ghchead/_build/test/bin/check-ppr ...
[2 of 8] Compiling Lookup ( utils/check-exact/Lookup.hs, utils/check-exact/Lookup.o ) [GHC.Base changed]
[3 of 8] Compiling Utils ( utils/check-exact/Utils.hs, utils/check-exact/Utils.o ) [Control.Arrow changed]
[4 of 8] Compiling Transform ( utils/check-exact/Transform.hs, utils/check-exact/Transform.o ) [Control.Monad.Fail changed]
[5 of 8] Compiling Preprocess ( utils/check-exact/Preprocess.hs, utils/check-exact/Preprocess.o )
ghc: /home/roland/Projekte/ghchead/_build/stage1/lib/x86_64-linux-ghc-9.1.20210402/ghci-9.1/HSghci-9.1.o: unknown symbol `allocateWrite'
ghc: Could not load Object Code /home/roland/Projekte/ghchead/_build/stage1/lib/x86_64-linux-ghc-9.1.20210402/ghci-9.1/HSghci-9.1.o.
ghc: unable to load unit `ghci-9.1'
Error when running Shake build system:
at want, called at src/Main.hs:104:30 in main:Main
* Depends on: test
at need, called at src/Rules/Test.hs:135:9 in main:Rules.Test
* Depends on: _build/test/bin/check-exact
at cmd, called at src/Rules/Test.hs:85:13 in main:Rules.Test
* Raised the exception:
Development.Shake.cmd, system command failed
Command line: /home/roland/Projekte/ghchead/_build/stage1/bin/ghc -package Cabal -package base -package bytestring -package containers -package directory -package filepath -package ghc -package ghc-boot -package mtl -o /home/roland/Projekte/ghchead/_build/test/bin/check-exact /home/roland/Projekte/ghchead/utils/check-exact/Main.hs -iutils/check-exact
Exit code: 1
Stderr:
ghc: /home/roland/Projekte/ghchead/_build/stage1/lib/x86_64-linux-ghc-9.1.20210402/ghci-9.1/HSghci-9.1.o: unknown symbol `allocateWrite'
ghc: Could not load Object Code /home/roland/Projekte/ghchead/_build/stage1/lib/x86_64-linux-ghc-9.1.20210402/ghci-9.1/HSghci-9.1.o.
ghc: unable to load unit `ghci-9.1'
The issue doesn't occur on an older tree with newest commit c83e4d05.
Expected behavior
Hadrian should build all necessary programs and run the test case.
Environment
- GHC version used: 8.10.2 and 9.0.1
Optional:
- Operating System: Debian 10
- System Architecture: x86_64