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 |