ghci cannot find symbols defined by TH's addForeignFilePath
This causes T14298 to fail in the ghci
way, for example:
$ make fulltest TEST="T14298"
...
=====> T14298(ghci) 1 of 1 [0, 0, 0]
cd "./th/T14298.run" && "/home/alp/WT/ghc-slow-validate/inplace/test spaces/ghc-stage2" T14298.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output -XTemplateHaskell -package template-haskell --interactive -v0 -ignore-dot-ghci -fno-ghci-history +RTS -I0.1 -RTS -v0< T14298.genscript
Actual stderr output differs from expected:
diff -uw "/dev/null" "./th/T14298.run/T14298.run.stderr.normalised"
--- /dev/null 2018-05-11 09:42:48.644575222 +0200
+++ ./th/T14298.run/T14298.run.stderr.normalised 2018-05-17 15:59:33.340172963 +0200
@@ -0,0 +1,13 @@
+ghc: ^^ Could not load 'foo', dependency unresolved. See top entry above.
+
+
+ByteCodeLink: can't find label
+During interactive linking, GHCi couldn't find the following symbol:
+ foo
+This may be due to you not asking GHCi to load extra object files,
+archives or DLLs needed by your current session. Restart GHCi, specifying
+the missing library using the -L/path/to/object/dir and -lmissinglibname
+flags, or simply by naming the relevant files on the GHCi command line.
+Alternatively, this link failure might indicate a bug in GHCi.
+If you suspect the latter, please send a bug report to:
+ glasgow-haskell-bugs@haskell.org
*** unexpected failure for T14298(ghci)
More generally, there is some phasing issue and Ben indicated to me we would have to suspend the compilation of the current file, compile and link the foreign one and then resume. For now I'll just mark T14298 as expected broken for the ghci
way.
Trac metadata
Trac field | Value |
---|---|
Version | 8.5 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | GHCi |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |