[Haskell-cafe] Haskell Platform dependency hell

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Fri Jul 16 08:32:44 EDT 2010


Kevin Jardine <kevinjardine at yahoo.com> writes:

> I have Haskell Platform 2010.1.0.0 installed under Windows and I often
> find that Haskell breaks if I try upgrading some of the current
> modules.
>
> For example, after using cabal to upgrade to the latest version of
> Network.CGI, I can no longer compile any code and instead get this
> message:
>
> cabal.exe: dependencies conflict: ghc-6.12.1 requires array ==0.3.0.1
> however
> array-0.3.0.1 was excluded because ghc-6.12.1 requires array ==0.3.0.0
>
> The only way I have found to fix this problem in the past has been to
> uninstall the Haskell Platform and start over.
>
> Can anyone tell me:
>
> a. why does this occur, and

There are some packages that should not be upgraded; these are the
libraries that come with GHC (with the exception of Cabal).  These are
commonly referred to as the _boot libraries_.

> b. what can I do to stop it from occurring again?

Stop doing "cabal upgrade foo", and instead do "cabal install foo" to
upgrade individual packages (assuming foo isn't one of the boot
libraries).  Once you have done that, do "ghc-pkg check" to see which
libraries are broken and then re-install them.

> Is it the case that the Haskell Platform is simply not upgradable and
> that I need to wait for the next release?

I think there will be less breakage (or at least more manageable
breakage) if you install/upgrade extra package in a user DB rather than
the global DB.

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list