Dynamically built GHC crashes on MacOS
Since 79d5427e (which add support for dynamically linking GHC), the default ./hadrian/build.sh
is broken for MacOS. In particular, the ghc
built always crashes with a "Symbol not found" error. Example:
$ ./hadrian/build.sh -j -c
# << fails shortly after building first ghc >>
$ _build/stage1/bin/ghc
dyld: Symbol not found: _ffi_type_double
Referenced from: _build/stage1/lib/../lib/x86_64-osx-ghc-8.7.20181202/libHSghci-8.7-ghc8.7.20181202.dylib
Expected in: flat namespace
in _build/stage1/lib/../lib/x86_64-osx-ghc-8.7.20181202/libHSghci-8.7-ghc8.7.20181202.dylib
[1] 52701 abort _build/stage1/bin/ghc
See https://phabricator.haskell.org/rGHC79d5427e1f9de02c0b171bf5db46b6b49c6f85e3 for more discussion. The core of the issue seems to be that -Wl,-dead_strip_dylibs
accidentally strips some essential libraries (libffi
is one of these).
Trac metadata
Trac field | Value |
---|---|
Version | 8.7 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Build System (Hadrian) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |