Skip to content

Hadrian binary incompatibility

After a substantial rebase on a branch, I fired up build to rebuild. Previously, when I used make, after a rebase, I would blast away my tree with make maintainer-clean. But I was hoping Hadrian would do better, and so I just tried to rebuild (with --freeze1 --skip-depends even). The result appears to be binary incompatibility in Hadrian's database.

Commit before the rebase: rae/ghc@6d608dfa (this builds, I believe) Commit after the rebase: rae/ghc@90aca10c (this may or may not build, even fresh -- in fact, I doubt it does)

Error message from Hadrian:

Error when reading Shake database _build/hadrian/.shake.database
  Data.Binary.Get.runGet at position 141: not enough bytes
  CallStack (from HasCallStack):
    error, called at libraries/binary/src/Data/Binary/Get.hs:351:5 in binary-0.8.8.0:Data.Binary.Get
All files will be rebuilt

As I write this, it's possible that my report is wrong: note that the last line there says "All files will be rebuilt". So I include the complete output of Hadrian:

Full paste of Hadrian's output

Note: this was run with @bgamari's https://gitlab.haskell.org/bgamari/hadrian-util; the command hadrun2 (inspired by the make 2 of old) is a bash alias: alias hadrun2='hadrian-util run -j5 --flavour=$GHC_FLAVOUR --freeze1 --skip-depends stage2:exe:ghc-bin'. I also have GHC_FLAVOUR=devel2+werror.

rae:08:28:49 ~/ghc/ghc-homo/testsuite/tests> hadrun2
--build-root=_build --flavour=default -j5 --flavour=devel2+werror --freeze1 --skip-depends stage2:exe:ghc-bin
Resolving dependencies...
Build profile: -w ghc-8.10.5 -O1
In order, the following will be built (use -v for more details):
 - hadrian-0.1.0.0 (exe:hadrian) (file src/Main.hs changed)
Preprocessing executable 'hadrian' for hadrian-0.1.0.0..
Building executable 'hadrian' for hadrian-0.1.0.0..
[ 5 of 98] Compiling Hadrian.Utilities ( src/Hadrian/Utilities.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Utilities.o )
[11 of 98] Compiling Hadrian.Expression ( src/Hadrian/Expression.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Expression.o )
[12 of 98] Compiling Hadrian.Oracles.ArgsHash ( src/Hadrian/Oracles/ArgsHash.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Oracles/ArgsHash.o ) [Hadrian.Expression changed]
[13 of 98] Compiling Hadrian.Builder.Tar ( src/Hadrian/Builder/Tar.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Builder/Tar.o ) [Hadrian.Expression changed]
[14 of 98] Compiling Hadrian.Builder.Sphinx ( src/Hadrian/Builder/Sphinx.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Builder/Sphinx.o ) [Hadrian.Expression changed]
[15 of 98] Compiling Hadrian.Builder.Ar ( src/Hadrian/Builder/Ar.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Builder/Ar.o ) [Hadrian.Expression changed]
[20 of 98] Compiling Oracles.Setting  ( src/Oracles/Setting.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Oracles/Setting.o )
[21 of 98] Compiling Oracles.Flag     ( src/Oracles/Flag.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Oracles/Flag.o )
[22 of 98] Compiling Hadrian.Builder  ( src/Hadrian/Builder.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Builder.o ) [Hadrian.Expression changed]
[28 of 98] Compiling Context.Path     ( src/Context/Path.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Context/Path.o ) [Hadrian.Expression changed]
[29 of 98] Compiling Context          ( src/Context.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Context.o ) [Hadrian.Expression changed]
[30 of 98] Compiling Rules.Library[boot] ( src/Rules/Library.hs-boot, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Library.o-boot )
[31 of 98] Compiling Packages         ( src/Packages.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Packages.o )
[32 of 98] Compiling Builder          ( src/Builder.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Builder.o )
[33 of 98] Compiling Target           ( src/Target.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Target.o ) [Builder changed]
[34 of 98] Compiling Rules.SourceDist ( src/Rules/SourceDist.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/SourceDist.o ) [Builder changed]
[35 of 98] Compiling Expression.Type  ( src/Expression/Type.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Expression/Type.o ) [Builder changed]
[36 of 98] Compiling Expression       ( src/Expression.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Expression.o )
[37 of 98] Compiling Settings.Warnings ( src/Settings/Warnings.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Warnings.o ) [Expression changed]
[38 of 98] Compiling Rules.Nofib      ( src/Rules/Nofib.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Nofib.o ) [Builder changed]
[39 of 98] Compiling Oracles.ModuleFiles ( src/Oracles/ModuleFiles.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Oracles/ModuleFiles.o ) [Builder changed]
[40 of 98] Compiling Flavour.Type     ( src/Flavour/Type.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Flavour/Type.o ) [Expression changed]
[41 of 98] Compiling Settings.Default[boot] ( src/Settings/Default.hs-boot, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Default.o-boot )
[42 of 98] Compiling UserSettings     ( src/UserSettings.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/UserSettings.o ) [Expression changed]
[43 of 98] Compiling Flavour          ( src/Flavour.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Flavour.o )
[44 of 98] Compiling Settings.Flavours.Validate ( src/Settings/Flavours/Validate.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/Validate.o )
[45 of 98] Compiling Settings.Flavours.Quickest ( src/Settings/Flavours/Quickest.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/Quickest.o ) [Expression changed]
[46 of 98] Compiling Settings.Flavours.QuickCross ( src/Settings/Flavours/QuickCross.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/QuickCross.o ) [Expression changed]
[47 of 98] Compiling Settings.Flavours.Quick ( src/Settings/Flavours/Quick.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/Quick.o )
[48 of 98] Compiling Settings.Flavours.Performance ( src/Settings/Flavours/Performance.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/Performance.o ) [Expression changed]
[49 of 98] Compiling Settings.Flavours.GhcInGhci ( src/Settings/Flavours/GhcInGhci.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/GhcInGhci.o ) [Expression changed]
[50 of 98] Compiling Settings.Flavours.Development ( src/Settings/Flavours/Development.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/Development.o ) [Expression changed]
[51 of 98] Compiling Settings.Flavours.Benchmark ( src/Settings/Flavours/Benchmark.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Flavours/Benchmark.o ) [Expression changed]
[52 of 98] Compiling CommandLine      ( src/CommandLine.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/CommandLine.o )
[53 of 98] Compiling Settings         ( src/Settings.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings.o ) [CommandLine changed]
[54 of 98] Compiling Utilities        ( src/Utilities.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Utilities.o ) [Expression changed]
[55 of 98] Compiling Settings.Packages ( src/Settings/Packages.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Packages.o )
[56 of 98] Compiling Settings.Builders.Common ( src/Settings/Builders/Common.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Common.o )
[57 of 98] Compiling Settings.Builders.Xelatex ( src/Settings/Builders/Xelatex.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Xelatex.o ) [Builder changed]
[58 of 98] Compiling Settings.Builders.MergeObjects ( src/Settings/Builders/MergeObjects.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/MergeObjects.o ) [Builder changed]
[59 of 98] Compiling Settings.Builders.Ld ( src/Settings/Builders/Ld.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Ld.o ) [Builder changed]
[60 of 98] Compiling Settings.Builders.Hsc2Hs ( src/Settings/Builders/Hsc2Hs.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Hsc2Hs.o ) [Builder changed]
[61 of 98] Compiling Settings.Builders.HsCpp ( src/Settings/Builders/HsCpp.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/HsCpp.o )
[62 of 98] Compiling Settings.Builders.Happy ( src/Settings/Builders/Happy.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Happy.o ) [Builder changed]
[63 of 98] Compiling Settings.Builders.GhcPkg ( src/Settings/Builders/GhcPkg.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/GhcPkg.o ) [Builder changed]
[64 of 98] Compiling Settings.Builders.GenPrimopCode ( src/Settings/Builders/GenPrimopCode.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/GenPrimopCode.o ) [Builder changed]
[65 of 98] Compiling Settings.Builders.DeriveConstants ( src/Settings/Builders/DeriveConstants.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/DeriveConstants.o )
[66 of 98] Compiling Settings.Builders.Cc ( src/Settings/Builders/Cc.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Cc.o )
[67 of 98] Compiling Settings.Builders.Cabal ( src/Settings/Builders/Cabal.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Cabal.o )
[68 of 98] Compiling Settings.Builders.Alex ( src/Settings/Builders/Alex.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Alex.o ) [Builder changed]
[69 of 98] Compiling Rules.Lint       ( src/Rules/Lint.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Lint.o )
[70 of 98] Compiling Rules.Libffi     ( src/Rules/Libffi.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Libffi.o ) [Builder changed]
[71 of 98] Compiling Settings.Builders.Ghc ( src/Settings/Builders/Ghc.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Ghc.o ) [Builder changed]
[72 of 98] Compiling Rules.Rts        ( src/Rules/Rts.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Rts.o )
[73 of 98] Compiling Rules.Gmp        ( src/Rules/Gmp.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Gmp.o )
[74 of 98] Compiling Settings.Builders.Configure ( src/Settings/Builders/Configure.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Configure.o ) [Builder changed]
[75 of 98] Compiling Rules.Docspec    ( src/Rules/Docspec.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Docspec.o ) [Settings.Builders.Common changed]
[76 of 98] Compiling Rules.Selftest   ( src/Rules/Selftest.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Selftest.o ) [Builder changed]
[77 of 98] Compiling Rules.Generate   ( src/Rules/Generate.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Generate.o )
[78 of 98] Compiling Rules.ToolArgs   ( src/Rules/ToolArgs.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/ToolArgs.o ) [Builder changed]
[79 of 98] Compiling Rules.Documentation ( src/Rules/Documentation.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Documentation.o ) [Builder changed]
[80 of 98] Compiling Settings.Builders.Haddock ( src/Settings/Builders/Haddock.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Haddock.o ) [Builder changed]
[81 of 98] Compiling Rules.Dependencies ( src/Rules/Dependencies.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Dependencies.o ) [Builder changed]
[82 of 98] Compiling Rules.Compile    ( src/Rules/Compile.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Compile.o )
[83 of 98] Compiling Oracles.Flavour  ( src/Oracles/Flavour.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Oracles/Flavour.o ) [Flavour changed]
[85 of 98] Compiling Settings.Builders.Make ( src/Settings/Builders/Make.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/Make.o ) [Builder changed]
[86 of 98] Compiling Oracles.TestSettings ( src/Oracles/TestSettings.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Oracles/TestSettings.o )
[87 of 98] Compiling Settings.Builders.RunTest ( src/Settings/Builders/RunTest.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Builders/RunTest.o )
[88 of 98] Compiling Settings.Default ( src/Settings/Default.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Default.o ) [Builder changed]
[89 of 98] Compiling Hadrian.Haskell.Cabal.Parse ( src/Hadrian/Haskell/Cabal/Parse.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Haskell/Cabal/Parse.o ) [Builder changed]
[90 of 98] Compiling Rules.Register   ( src/Rules/Register.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Register.o ) [Builder changed]
[91 of 98] Compiling Rules.Library    ( src/Rules/Library.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Library.o ) [Builder changed]
[92 of 98] Compiling Rules.Program    ( src/Rules/Program.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Program.o ) [Builder changed]
[93 of 98] Compiling Hadrian.Oracles.Cabal.Rules ( src/Hadrian/Oracles/Cabal/Rules.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Hadrian/Oracles/Cabal/Rules.o ) [Builder changed]
[94 of 98] Compiling Rules.Test       ( src/Rules/Test.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/Test.o )
[95 of 98] Compiling Rules.SimpleTargets ( src/Rules/SimpleTargets.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/SimpleTargets.o ) [CommandLine changed]
[96 of 98] Compiling Rules.BinaryDist ( src/Rules/BinaryDist.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules/BinaryDist.o )
[97 of 98] Compiling Rules            ( src/Rules.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Rules.o )
[98 of 98] Compiling Main             ( src/Main.hs, /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Main.o )
Linking /Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian ...
clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
ld: warning: object file (/Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Environment.o) was built for newer macOS version (11.5) than being linked (11.0)
ld: warning: object file (/Users/rae/ghc/ghc-homo/hadrian/dist-newstyle/build/x86_64-osx/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian-tmp/Settings/Parser.o) was built for newer macOS version (11.5) than being linked (11.0)
Error when reading Shake database _build/hadrian/.shake.database
  Data.Binary.Get.runGet at position 141: not enough bytes
  CallStack (from HasCallStack):
    error, called at libraries/binary/src/Data/Binary/Get.hs:351:5 in binary-0.8.8.0:Data.Binary.Get
All files will be rebuilt

| Successfully generated _build/ghc-stage2.
| Make '_build/ghc-stage2' executable.
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Program, pkgName = "ghc-bin", pkgPath = "ghc"})))
| Copy file: driver/ghc-usage.txt => _build/stage1/lib/ghc-usage.txt
| Copy file: driver/ghci-usage.txt => _build/stage1/lib/ghci-usage.txt
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "array", pkgPath = "libraries/array"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "base", pkgPath = "libraries/base"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "bytestring", pkgPath = "libraries/bytestring"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "containers", pkgPath = "libraries/containers/containers"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "deepseq", pkgPath = "libraries/deepseq"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "directory", pkgPath = "libraries/directory"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "exceptions", pkgPath = "libraries/exceptions"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "filepath", pkgPath = "libraries/filepath"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc", pkgPath = "compiler"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc-boot", pkgPath = "libraries/ghc-boot"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc-prim", pkgPath = "libraries/ghc-prim"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghci", pkgPath = "libraries/ghci"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "haskeline", pkgPath = "libraries/haskeline"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "process", pkgPath = "libraries/process"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "time", pkgPath = "libraries/time"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "transformers", pkgPath = "libraries/transformers"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "unix", pkgPath = "libraries/unix"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "binary", pkgPath = "libraries/binary"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc-bignum", pkgPath = "libraries/ghc-bignum"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc-boot-th", pkgPath = "libraries/ghc-boot-th"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc-heap", pkgPath = "libraries/ghc-heap"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "hpc", pkgPath = "libraries/hpc"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "integer-gmp", pkgPath = "libraries/integer-gmp"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "mtl", pkgPath = "libraries/mtl"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "parsec", pkgPath = "libraries/parsec"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "rts", pkgPath = "rts"})))
Warning: rts/rts.cabal:540:5: Unknown field: "extra-source-files"
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "stm", pkgPath = "libraries/stm"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "template-haskell", pkgPath = "libraries/template-haskell"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "terminfo", pkgPath = "libraries/terminfo"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "pretty", pkgPath = "libraries/pretty"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "text", pkgPath = "libraries/text"})))
| System GMP library/framework will be used
| Copy file: libraries/ghc-bignum/gmp/ghc-gmp.h => _build/stage1/libraries/ghc-bignum/build/include/ghc-gmp.h
| Copy file: llvm-targets => _build/stage1/lib/llvm-targets
| Copy file: llvm-passes => _build/stage1/lib/llvm-passes
| Configure package 'rts'
Error when running Shake build system:
  at want, called at src/Main.hs:104:30 in main:Main
* Depends on: stage2:exe:ghc-bin
  at need, called at src/Rules/SimpleTargets.hs:37:5 in main:Rules.SimpleTargets
* Depends on: _build/stage1/bin/ghc
  at need, called at src/Rules/Register.hs:79:5 in main:Rules.Register
* Depends on: _build/stage1/lib/x86_64-osx-ghc-9.3.20210725/ghc-9.3/libHSghc-9.3.a
  at need, called at src/Rules/Library.hs:45:5 in main:Rules.Library
* Depends on: _build/stage1/lib/package.conf.d/ghc-9.3.conf
  at need, called at src/Rules/Register.hs:103:34 in main:Rules.Register
* Depends on: _build/stage1/lib/settings
  at error, called at src/Hadrian/Oracles/TextFile.hs:39:42 in main:Hadrian.Oracles.TextFile
* Raised the exception:
Key 'use-libffi-for-adjustors' not found in file 'hadrian/cfg/system.config'


hadrian-util: Received ExitFailure 1 when running
Raw command: /Users/rae/ghc/ghc-homo/hadrian/build-cabal --build-root=_build --flavour=default -j5 --flavour=devel2+werror --freeze1 --skip-depends stage2:exe:ghc-bin
Run from: /Users/rae/ghc/ghc-homo

Bottom line here: I'm going now to "Hadrian harder" by omitting e.g. --skip-depends, and see if that yields fruit, but I suspect I'll need to blast away my tree. That is not the end of the world (I'm not stuck by any means!), but it seems a slight disappointment from the promise of Hadrian, hence this bug report.

Thanks!

Edited by Richard Eisenberg
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information