Cabal install performs worse on Hugs

Duncan Coutts duncan.coutts at
Sun Jun 15 17:22:39 EDT 2008

On Sun, 2008-06-15 at 21:00 +0100, Duncan Coutts wrote:
> On Sat, 2008-06-14 at 15:05 +0100, Neil Mitchell wrote:
> > Hi,
> > 
> > Using Cabal 1.4 Branch and Cabal-install HEAD:
> > 
> > C:\Neil\uniplate>cabal install --hugs
> > Resolving dependencies...
> > cabal: internal error: could not construct a valid install plan.
> > The proposed (invalid) plan contained the following problems:
> > Package uniplate-1.1 has an invalid configuration, in particular:
> >   the package has a dependency base >=3 but no package has been selected to sati
> > sfy it.
> >   the package has a dependency containers -any but no package has been selected
> > to satisfy it.
> >   the package has a dependency mtl -any but no package has been selected to sati
> > sfy it.
> We changed the dependency resolution stuff a lot and have not updated
> the grievous hacks required to do anything sensible when we do not know
> what is installed.
> Generating install plans with hugs is actually impossible which does
> make things a bit tricky to do in a regular way since we do now rather
> rely on install plans as a unifying abstraction.

Actually it's not impossible. We just have to lie. We can make a valid
install plan so long as we do not require that it reflect reality. The
trick is to make one where we say that all the dependencies are already
installed. So we fake it by making up exactly the installed dependencies
that we know we need. We then say that each of those deps has no other
deps and we're done.


More information about the cabal-devel mailing list