libffi copies files into rts build tree
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
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.6.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System (Hadrian) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |