Issue with package "pretty"

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Sun Apr 27 15:42:01 EDT 2008


On Sun, 2008-04-27 at 18:47 +0100, Ian Lynagh wrote:
> On Sun, Apr 27, 2008 at 06:32:57PM +0100, David MacIver wrote:
> > 
> > The problem is that if you install pretty, Cabal will suddenly cease
> > working until you recompile it. It depends on a version of pretty
> > which gets bundled with GHC is purportedly of the same version as the
> > one on hackage, but the two aren't binary compatible. So when it tries
> > to use it, everything goes boom.
> 
> If you compile with different flags then the results will not
> necessarily be binary compatible. I suspect that's what happened here.

Another way to look at the problem is that the user package basically
allows interposing global packages and then other global packages will
get linked against the user package not the global one they were built
with.

The solution is not to identify installed packages by their name and
version but by a hash that identifies the package ABI.

Another hack would be to maintain a more complex notion of package
overlays and have dependencies within a package db be satisfied from the
same package db or the one 'below' but never the one 'above'.

Duncan



More information about the Libraries mailing list