Broken dependencies on cabal install haddock

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Tue Feb 17 17:26:42 EST 2009


On Tue, 2009-02-17 at 16:03 +0000, Dave Tapley wrote:
> Hey Duncan,
> 
> Thanks for the fast reply / sorry about my slow one!
> The next instalment:
> 
> dave at eliza:~$ ghc-pkg check
> package ghc-6.8.2 has missing dependencies:
>     Cabal-1.2.3.0
> 
> Which is interesting, no?

Indeed.

It looks like you accidentally unregistered Cabal-1.2.3.0, which breaks
dependent packages (ghc-6.8.2). Unfortunately you cannot fix this by
re-installing Cabal-1.2.3.0. You cannot guarantee that you'll get the
exact same ABI. You either need to re-register the original version (the
actual files are almost certainly still installed) or re-install ghc.

If you're on debian or gentoo then you're in luck as they both provide a
backup of the original package.conf as package.conf.shipped. This will
let you re-register the original by:

$ ghc-pkg describe Cabal-1.2.3.0 -f package.conf.shipped > pkg
$ ghc-pkg register pkg

In ghc-6.10 it's be a bit harder to break packages by unregistering
their dependencies. ghc-pkg unregister now complains and makes you use
--force if you really do want to break dependencies.

Duncan

> Dave,
> 
> 
> 2009/2/4 Duncan Coutts <duncan.coutts at worc.ox.ac.uk>:
> > On Thu, 2009-02-05 at 00:03 +0100, David Waern wrote:
> >> 2009/2/4 Ross Paterson <ross at soi.city.ac.uk>:
> >> > On Wed, Feb 04, 2009 at 10:52:32PM +0000, Dave Tapley wrote:
> >> >> dave at eliza:~$ cabal install haddock
> >> >> Resolving dependencies...
> >> >> cabal: cannot configure haddock-2.4.1. It requires ghc >=6.8.2 && <6.13
> >> >> There is no available version of ghc that satisfies >=6.8.2 && <6.13
> >> >> dave at eliza:~$ ghc --version
> >> >> The Glorious Glasgow Haskell Compilation System, version 6.8.2
> >> >
> >> > There is also a library package called ghc.
> >>
> >> Which should be installed if you have the compiler. Hmm.
> >
> > If the package is broken due to missing dependencies then cabal-install
> > ignores it. It's on my TODO list to make it report more clearly the fact
> > that it needed a package that is broken (ie instead of removing the
> > broken packages from the set of installed packages, add a constraint not
> > to use that version and when we get a constraint conflict with we can
> > report a more helpful message).
> >
> > Dave, you can confirm if the ghc package is broken by running ghc-pkg
> > check.
> >
> > Duncan
> >
> >
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries



More information about the Libraries mailing list