On Wed, Feb 15, 2012 at 9:25 PM, Brandon Allbery
<allbery.b@gmail.com> wrote:
I think you'll need -v to see what's going on
This seems to provide no more information. There's some extra junk in the output, but it still gives me the same message about a dependency on multiple versions (of *what*? if it knows there exists such a package, presumably it knows *which*?), and despite cabal telling me that -v will provide more information on the missing or recursive dependency (what, are "missing" and "recursive" so similar we can't tell them apart? They seem like totally different problems to me), there is no such extra information with -v.
but my guess is you somehow have multiple versions of either array or containers with the same version number but different hashes, or that one of the packages depends on a no longer installed package with the right version but had a different hash.
My guess is it's containers, because the containers -> array dependency is listed twice --- making me suspicious that those are two separate instances with the same version but different hashes (which aren't normally shown there).
ghc-pkg tells me I have two array versions installed. I unregistered the earlier array-0.3.0.3, but I still get the same error when trying to install cabal-dev.
Cabal-1.14.0-4af45d3c8d10dc27db38ae0e7e5a952b is unusable due to missing or recursive dependencies:
array-0.4.0.0-46f61f5fd9543ebf309552ef84dccc86 containers-0.4.2.1-98f9aa15f9c08b13673dc9d89385f449
This shows the hashes for one of those sets, but not the other.
Sorry, what sets do you mean? I see one hash for array-0.4.0.0, another for containers-0.4.2.1, and another for Cabal-1.14.0.
I guess another thing I don't understand is: why is there both a version number and a hash? I'm told by Hackage that "Re-uploading a package with the same version number is not permitted" (
http://hackage.haskell.org/packages/upload.html), so how could I have a package with two different hashes? Unless one or both came from somewhere other than Hackage, perhaps?
Yet another thing I don't properly understand is the relationship between all these Haskell packaging organizations and programs. cabal seems to have some pseudo-official relationship with Hackage. And how do cabal and ghc-pkg interact? Where are things on my system apart from in ~/.cabal?