[Haskell-cafe] circular dependencies in cabal

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Sun Feb 1 09:53:31 EST 2009


On Sun, 2009-02-01 at 01:33 -0800, Valentyn Kamyshenko wrote:
> Hello all,
> 
> when I tried to install plugins package with cabal, I've got the  
> following error:
> 
> # sudo cabal install plugins --global
> Resolving dependencies...
> cabal: dependencies conflict: ghc-6.10.1 requires process ==1.0.1.1  
> however
> process-1.0.1.1 was excluded because ghc-6.10.1 requires process  
> ==1.0.1.0

For the most part I refer you to:

http://haskell.org/pipermail/haskell-cafe/2009-January/054523.html

However the difference is that you've got this problem only within the
global package db rather than due to overlap in the global and user
package db.

> It looks like both versions of process package are currently required:

It looks like you installed process-1.0.1.1 and then rebuilt almost
every other package against it. Of course you cannot rebuild the ghc
package but you did rebuild some of its dependencies which is why it now
depends on multiple versions of the process package.

Generally rebuilding a package without also rebuilding the packages that
depend on it is a bit dodgy (it can lead to linker errors or segfaults).
Unfortunately cabal-install does not prevent you from shooting yourself
in the foot in these circumstances.

> Any suggestions?

Aim for a situation where you only have one version of the various core
packages. If you do not need to install packages globally then
installing them per-user means you at least cannot break the global
packages.

Duncan



More information about the Haskell-Cafe mailing list