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

Brandon Allbery allbery.b at gmail.com
Fri Jun 21 16:58:54 UTC 2019


"-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 <rsx at bluewin.ch> 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 at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>


-- 
brandon s allbery kf8nh
allbery.b at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190621/5eefa812/attachment.html>


More information about the ghc-devs mailing list