[GHC] #16272: libffi copies files into rts build tree
GHC
ghc-devs at haskell.org
Fri Feb 1 18:11:29 UTC 2019
#16272: libffi copies files into rts build tree
-------------------------------------+-------------------------------------
Reporter: mpickering | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Build System | Version: 8.6.3
(Hadrian) |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
The `rts` should explicitly depend on `ffi.h` and `ffitarget.h`, then use
this path to copy in these two header files itself rather than relying on
the libffi build rule to copy them into the `rts/build` directory.
You can see this happening in `Rules.Libffi.libffiRules`
This often results in a failure where the `rts` rule will fail to produce
these files after deleting build products in `_build`.
{{{
shakeArgsWith 0.000s 0%
Function shake 0.006s 0%
Database read 1.051s 0%
Database compression 0.146s 0%
With database 0.031s 0%
Running rules 121.010s 98% =========================
Total 122.244s 100%
Error when running Shake build system:
at src/Main.hs:58:30-42:
* Depends on: stage1:lib:text
at src/Rules/SimpleTargets.hs:31:5-15:
* Depends on: integersimple/stage1/lib/package.conf.d/text-1.2.3.1.conf
* Depends on: OracleQ (ContextDataKey (Context {stage = Stage1, package =
Package {pkgType = Library, pkgName = "text", pkgPath = "libraries/text"},
way = v}))
* Depends on: integersimple/stage1/libraries/text/setup-config
* Depends on: integersimple/stage1/lib/package.conf.d/base-4.12.0.0.conf
* Depends on: OracleQ (ContextDataKey (Context {stage = Stage1, package =
Package {pkgType = Library, pkgName = "base", pkgPath = "libraries/base"},
way = v}))
* Depends on: integersimple/stage1/libraries/base/setup-config
* Depends on: integersimple/stage1/lib/package.conf.d/rts-1.0.conf
* Depends on: integersimple/stage1/rts/build/libHSrts-1.0_thr_l.a
* Depends on: integersimple/stage1/rts/build/c/Interpreter.thr_l_o
* Depends on: integersimple/stage1/rts/build/ffi.h
* Depends on: integersimple/stage1/rts/build/ffi.h
integersimple/stage1/rts/build/ffitarget.h
* Raised the exception:
Error, &%> rule failed to produce 2 files (out of 2)
integersimple/stage1/rts/build/ffi.h - MISSING
integersimple/stage1/rts/build/ffitarget.h - MISSING
CallStack (from HasCallStack):
error, called at src/Development/Shake/Internal/Rules/Files.hs:245:13 in
shake-0.17.2-586622e6ae1d899ec790b1028cae3413c00a616f124bac634769a9607581e631:Development.Shake.Internal.Rules.Files
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16272>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list