Dynamic libraries by default and GHC 7.8

Ian Lynagh ian at well-typed.com
Wed Nov 28 13:41:13 CET 2012

On Wed, Nov 28, 2012 at 09:09:58AM +0000, Simon Marlow wrote:
> On 27/11/12 23:28, Joachim Breitner wrote:
> >
> >Hence, Debian will continue to provide its libraries built the static
> >way.
> So let me try to articulate the options, because I think there are
> some dependencies that aren't obvious here.  It's not a
> straightforward choice between -dynamic/-static being the default,
> because of the GHCi interaction.
> Here are the 3 options:
> (1) (the current situation) GHCi is statically linked, and -static is
>     the default.  Uses the RTS linker.
> (2) (the proposal, at least for some platforms) GHCi is dynamically
>     linked, and -dynamic is the default.  Does not use the RTS linker.
> (3) GHCi is dynamically linked, but -static is the default.  Does not
>     use the RTS linker.  Packages must be installed with -dynamic,
>     otherwise they cannot be loaded into GHCi, and only objects
>     compiled with -dynamic can be loaded into GHCi.
> You seem to be saying that Debian would do (3), but we hadn't
> considered that as a viable option because of the extra hoops that
> GHCi users would have to jump through.  We consider it a
> prerequisite that GHCi continues to work without requiring any extra
> flags.

I think what Joachim means is that the binaries /in Debian packages/
will be explicitly linked with -static, but the open question below is
about whether to make -static or -dynamic the default for GHC.

> >Open question: What should GHC on Debian do when building binaries,
> >given that all libraries are likely available in both ways – shared or
> >static. Shared means that all locally built binaries (e.g. xmonad!) will
> >suddenly break when the user upgrades its Haskell packages, as the
> >package management is ignorant of unpackaged, locally built programs.
> >I’d feel more comfortable if that could not happen.


More information about the Glasgow-haskell-users mailing list