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.
Thanks
Ian
More information about the Glasgow-haskell-users
mailing list