[Haskell-cafe] Upgrading GHC 7.6.3 global packages to latest versions

Albert Y. C. Lai trebla at vex.net
Tue Jul 2 21:57:47 CEST 2013


On 13-06-28 04:06 AM, Rouan van Dalen wrote:
> Now when I try to install the latest version of the [time] package, I have 2
> time packages, 1 in the global package db (the older version), and 1 in
> the user package db
> (the newer version).
>
> Now I would like subsequent installed packages to always use the latest
> version of the [time]
> package.  But if i try to install the [plugins] package, cabal says:

You're trying to use plugins. That means you're also trying to use the 
GHC API (because plugins uses it). Then you have 0 options.

The GHC API manifests as a package, called "ghc" again. It comes with 
GHC, and it is built againt whatever instances of array, bytestring, 
containers, time, template-haskell, etc etc that also come with GHC. It 
will not work with any array, bytestring, containers, time, 
template-haskell, etc etc that you build later. Definitely not different 
versions, and highly likely not even same version. It is sensitive to 
the exact build. Look at the output of

ghc-pkg field ghc depends

You see versions and hashes. You have to match versions and hashes, both 
of them. It accepts no substitute.

More generally, it is confusing for cabal non-pros to allow two versions 
to co-exist. Oh, the pros keep saying it's fine, but that's because they 
are pros, they aren't confused. To determine whether you are a pro, read my

http://www.vex.net/~trebla/haskell/sicp.xhtml

If it contains some information new to you, you are not a pro.



More information about the Haskell-Cafe mailing list