Skip to content

Hadrian should build dynamically linked ghc binary

The ghc binary is dynamically linked via make in various flavors (e.g. quick). Hadrian builds a static linked binary in these cases (this is a bug). Various change are needed to fix this:

  1. Add new .cabal file field extra-dynamic-library-flavours (see this PR).
  2. Use .cabal extra-dynamic-library-flavours for the RTS (see this comment, depends on 1.)
  3. Hadrian: fix management of nontrivial dynamic flavours of libHSrts (see this PR).
  4. Hadrian should build ghc with the -fPIC -dynamic options (see this comment, depends on 3.).
  5. Use the correct relative path to the dynamically linked libraries (see D5281, depends on 3. and 4.).
  6. Build ghc-iserv-dyn, as it is will be required required by many tests (Phab:D5327)
  7. Hadrian should only use "-shared -dynload deploy" when linking shared libraries (definitely not when linking executables). This problem causes ghc-iserv-dyn to segfault because it is built as a shared library instead of as an executable.
Edited by davide
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information