Hadrian: Suddenly a full build fails with: Rules may not be recursive

Hi, Suddenly I'm unable to build! As usual, I did: git pull upstream master --recurse-submodules=yes git submodule update --init --recursive $ hadrian/build.sh clean Up to date | Removing Hadrian files... | Remove directory _build/stage0 | Remove directory _build/stage1 | Remove directory _build/stage2 | Remove directory _build/stage3 | Remove directory sdistprep | Remove directory _build (after build completes) | Done. ... + statistics $ hadrian/build.sh -c --flavour=devel2 -j2 Up to date | Running boot... Error when running Shake build system: at action, called at src/Rules.hs:68:19 in main:Rules at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) at need, called at src/Hadrian/Oracles/TextFile.hs:90:9 in main:Hadrian.Oracles.TextFile * Depends on: hadrian/cfg/system.config at &%>, called at src/Rules/Configure.hs:21:5 in main:Rules.Configure * Depends on: hadrian/cfg/system.config mk/config.h compiler/ghc.cabal rts/rts.cabal at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) * Raised the exception: Build system error - recursion detected: Key type: OracleQ KeyValue Key value: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) Rules may not be recursive OS is Linux Debian 9 (x86_64) Any ideas what's wrong?? Many thanks and kind regards Roland

The -c flag is broken.
Run ./boot and ./configure manually and then it should work (without -c)
Cheers,
Matt
On Fri, Jun 21, 2019 at 5:55 PM Roland Senn
Hi,
Suddenly I'm unable to build! As usual, I did:
git pull upstream master --recurse-submodules=yes git submodule update --init --recursive
$ hadrian/build.sh clean Up to date | Removing Hadrian files... | Remove directory _build/stage0 | Remove directory _build/stage1 | Remove directory _build/stage2 | Remove directory _build/stage3 | Remove directory sdistprep | Remove directory _build (after build completes) | Done.
... + statistics
$ hadrian/build.sh -c --flavour=devel2 -j2 Up to date | Running boot... Error when running Shake build system: at action, called at src/Rules.hs:68:19 in main:Rules at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) at need, called at src/Hadrian/Oracles/TextFile.hs:90:9 in main:Hadrian.Oracles.TextFile * Depends on: hadrian/cfg/system.config at &%>, called at src/Rules/Configure.hs:21:5 in main:Rules.Configure * Depends on: hadrian/cfg/system.config mk/config.h compiler/ghc.cabal rts/rts.cabal at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) * Raised the exception: Build system error - recursion detected: Key type: OracleQ KeyValue Key value: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) Rules may not be recursive
OS is Linux Debian 9 (x86_64)
Any ideas what's wrong??
Many thanks and kind regards Roland _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

"-c" is a bad option that conflates configuration and build, and leads to
this when certain kinds of configuration changes happen and alter the build
rules that are already running. Stop using "-c" and reconfigure properly
(./boot etc.). Yes, it's "convenient", right up until this happens. And
eventually this *will* happen, because configuration should not be done via
build rules.
On Fri, Jun 21, 2019 at 12:55 PM Roland Senn
Hi,
Suddenly I'm unable to build! As usual, I did:
git pull upstream master --recurse-submodules=yes git submodule update --init --recursive
$ hadrian/build.sh clean Up to date | Removing Hadrian files... | Remove directory _build/stage0 | Remove directory _build/stage1 | Remove directory _build/stage2 | Remove directory _build/stage3 | Remove directory sdistprep | Remove directory _build (after build completes) | Done.
... + statistics
$ hadrian/build.sh -c --flavour=devel2 -j2 Up to date | Running boot... Error when running Shake build system: at action, called at src/Rules.hs:68:19 in main:Rules at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) at need, called at src/Hadrian/Oracles/TextFile.hs:90:9 in main:Hadrian.Oracles.TextFile * Depends on: hadrian/cfg/system.config at &%>, called at src/Rules/Configure.hs:21:5 in main:Rules.Configure * Depends on: hadrian/cfg/system.config mk/config.h compiler/ghc.cabal rts/rts.cabal at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) * Raised the exception: Build system error - recursion detected: Key type: OracleQ KeyValue Key value: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) Rules may not be recursive
OS is Linux Debian 9 (x86_64)
Any ideas what's wrong??
Many thanks and kind regards Roland _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- brandon s allbery kf8nh allbery.b@gmail.com

I think this is because `--configure` is currently broken
https://gitlab.haskell.org/ghc/ghc/issues/16809. You can work around by
running bootstrap and configure manually for now.
On Fri, Jun 21, 2019 at 12:55 PM Roland Senn
Hi,
Suddenly I'm unable to build! As usual, I did:
git pull upstream master --recurse-submodules=yes git submodule update --init --recursive
$ hadrian/build.sh clean Up to date | Removing Hadrian files... | Remove directory _build/stage0 | Remove directory _build/stage1 | Remove directory _build/stage2 | Remove directory _build/stage3 | Remove directory sdistprep | Remove directory _build (after build completes) | Done.
... + statistics
$ hadrian/build.sh -c --flavour=devel2 -j2 Up to date | Running boot... Error when running Shake build system: at action, called at src/Rules.hs:68:19 in main:Rules at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) at need, called at src/Hadrian/Oracles/TextFile.hs:90:9 in main:Hadrian.Oracles.TextFile * Depends on: hadrian/cfg/system.config at &%>, called at src/Rules/Configure.hs:21:5 in main:Rules.Configure * Depends on: hadrian/cfg/system.config mk/config.h compiler/ghc.cabal rts/rts.cabal at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) * Raised the exception: Build system error - recursion detected: Key type: OracleQ KeyValue Key value: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) Rules may not be recursive
OS is Linux Debian 9 (x86_64)
Any ideas what's wrong??
Many thanks and kind regards Roland _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- *Shayne Fletcher* Language Engineer */* +1 917 699 7663 *Digital Asset* https://digitalasset.com/, creators of *DAML https://daml.com/* -- This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message.

Sorry @Matthew Pickering
I think this is because `--configure` is currently broken https://gitlab.haskell.org/ghc/ghc/issues/16809. You can work around by running bootstrap and configure manually for now.
On Fri, Jun 21, 2019 at 12:55 PM Roland Senn
wrote: Hi,
Suddenly I'm unable to build! As usual, I did:
git pull upstream master --recurse-submodules=yes git submodule update --init --recursive
$ hadrian/build.sh clean Up to date | Removing Hadrian files... | Remove directory _build/stage0 | Remove directory _build/stage1 | Remove directory _build/stage2 | Remove directory _build/stage3 | Remove directory sdistprep | Remove directory _build (after build completes) | Done.
... + statistics
$ hadrian/build.sh -c --flavour=devel2 -j2 Up to date | Running boot... Error when running Shake build system: at action, called at src/Rules.hs:68:19 in main:Rules at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) at need, called at src/Hadrian/Oracles/TextFile.hs:90:9 in main:Hadrian.Oracles.TextFile * Depends on: hadrian/cfg/system.config at &%>, called at src/Rules/Configure.hs:21:5 in main:Rules.Configure * Depends on: hadrian/cfg/system.config mk/config.h compiler/ghc.cabal rts/rts.cabal at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.2- fca156899176fbf7a9b05f30b3ec991784b3e60af38a503ea1cb277fd96f971e:Develo pment.Shake.Internal.Rules.Oracle * Depends on: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) * Raised the exception: Build system error - recursion detected: Key type: OracleQ KeyValue Key value: OracleQ (KeyValue ("hadrian/cfg/system.config","host- os")) Rules may not be recursive
OS is Linux Debian 9 (x86_64)
Any ideas what's wrong??
Many thanks and kind regards Roland _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- *Shayne Fletcher* Language Engineer */* +1 917 699 7663 *Digital Asset* https://digitalasset.com/, creators of *DAML https://daml.com/*
-- *Shayne Fletcher* Language Engineer */* +1 917 699 7663 *Digital Asset* https://digitalasset.com/, creators of *DAML https://daml.com/* -- This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message.
participants (4)
-
Brandon Allbery
-
Matthew Pickering
-
Roland Senn
-
Shayne Fletcher