GHC fails with "Dynamic linker not initialised" when -j is on and trying to load nonexistent .so file
For ghc 8.0.2 (on Linux, in nixpkgs 0c041520c3 for exact reproducibility), when TH is used in a ghc --make -j1 invocation, and thus ghc does the whole
cc -fno-stack-protector -DTABLES_NEXT_TO_CODE '-std=c++14' -Wno-deprecated-declarations --print-file-name liblibglog.so
Loading object (dynamic) glog ... done
business, and the .so file in question does not exist, then usually GHC prints
<command line>: user specified .o/.so/.DLL could not be loaded (libglog.so: cannot open shared object file: No such file or directory)
However, I found that when parallel compilation is enabled, (e.g. ghc -j4), I can get this instead:
[ 23 of 130] Compiling Mymodule ( Mymodule.hs, dist/build/Mymodule.o )
<no location info>: error:
ghc: panic! (the 'impossible' happened)
(GHC version 8.0.2 for x86_64-unknown-linux):
Dynamic linker not initialised
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.0.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | #9868 (closed), #10355 (closed), #13137 (closed) |
| Blocking | |
| CC | Phyx-, angerman, nh2 |
| Operating system | |
| Architecture |