Build failure -- missing dependency? Help!
Viktor Dukhovni
ietf-dane at dukhovni.org
Mon Mar 15 08:17:47 UTC 2021
> On Mar 14, 2021, at 6:53 PM, Simon Peyton Jones via ghc-devs <ghc-devs at haskell.org> wrote:
>
> I’m getting this (with ‘sh validate –legacy’). Oddly
>
> • It does not happen on HEAD
> • It does happen on wip/T19495, a tiny patch with one innocuous change to GHC.Tc.Gen.HsType
> I can’t see how my patch could possible cause “missing files” in ghc-bignum!
>
> I’m guessing that there is a missing dependency that someone doesn’t show up in master, but does in my branch, randomly.
>
> There’s something funny about ghc-bignum; it doesn’t seem to be a regular library
>
> Can anyone help?
I managed to reproduce the issue on my machine, and noticed that after:
$ cd libraries/ghc-bignum/
$ gmake
$ cd ../..
$ ./validate --legacy --no-clean
the build continues OK. So it looks like the legacy parallel build
has a missing dependency on the completion of the build of
libraries/ghc-bignum at the point when it is trying to run:
$ "inplace/bin/ghc-stage1" -v1 \
-hisuf hi \
-osuf o \
-hcsuf hc \
-static -O0 -H64m -Wall -fllvm-fill-undef-with-garbage -Werror \
-this-unit-id base-4.16.0.0 \
-hide-all-packages -package-env - -i \
-ilibraries/base/. \
-ilibraries/base/dist-install/build \
-Ilibraries/base/dist-install/build \
-ilibraries/base/dist-install/build/./autogen \
-Ilibraries/base/dist-install/build/./autogen \
-Ilibraries/base/include \
-Ilibraries/base/dist-install/build/include \
-optP-include \
-optPlibraries/base/dist-install/build/./autogen/cabal_macros.h \
-package-id ghc-bignum-1.0 \
-package-id ghc-prim-0.8.0 \
-package-id rts \
-this-unit-id base \
-Wcompat -Wnoncanonical-monad-instances \
-XHaskell2010 -O \
-dcore-lint -dno-debug-output \
-no-user-package-db \
-rtsopts \
-Wno-trustworthy-safe -Wno-deprecated-flags -Wnoncanonical-monad-instances \
-outputdirlibraries/base/dist-install/build \
-dynamic-too \
-c libraries/base/./GHC/Exception/Type.hs-boot \
-o libraries/base/dist-install/build/GHC/Exception/Type.o-boot \
-dyno libraries/base/dist-install/build/GHC/Exception/Type.dyn_o-boot
My best guess is that the problem command fires via
libraries/base/dist-install/package-data.mk which
is created by cabal, and things get rather complicated
from there...
--
Viktor.
More information about the ghc-devs
mailing list