[Haskell-cafe] circular dependencies in cabal

allan a.d.clark at ed.ac.uk
Mon Feb 2 10:35:34 EST 2009


Are you still in a "not-able-to-do-a-cabal-install" state?
I had this problem as well and I solved it by simply deleting (or moving) my ~/.ghc directory and then re-installing ghc, as per this message:


Note: that this should only be used if you can't solve it the suggested way which is to look in your pkg database for packages registered in both user and global databases and unregister the user one.


Valentyn Kamyshenko wrote:
> So, in practical terms, you suggest that no new version of the package 
> that ghc package depends on (directly or indirectly) should ever be 
> installed?
> For example, as soon as process- is installed on my computer, 
> I'll have this problem with every package that depends on "process"?
> Another question: would not cabal-install automatically fetch the most 
> recent version of the "process" package, as soon as I will try to install
> a package that depends on it (such as, for example, "plugins")?
> -- Valentyn.
> On Feb 1, 2009, at 6:53 AM, Duncan Coutts wrote:
>> 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 ==
>>> however
>>> process- was excluded because ghc-6.10.1 requires process
>>> ==
>> 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- 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
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

More information about the Haskell-Cafe mailing list