[Haskell-cafe] Hackage dependencies problem.

Albert Y. C. Lai trebla at vex.net
Mon Nov 19 20:47:40 CET 2012


On 12-11-19 04:45 AM, Ivan Lazar Miljenovic wrote:
> On 19 November 2012 18:21, Magicloud Magiclouds
> <magicloud.magiclouds at gmail.com> wrote:
>> <command line>: cannot satisfy -package Cabal-1.16.0:
>>      Cabal-1.16.0-dd0ce1db6fea670a788547ee85411486 is unusable due to missing
>> or recursive dependencies:
>>        directory-1.2.0.0-8edf300597b0da609c8eccc9aa6d0cc3
>> process-1.1.0.2-03ae5757aa509ffbe497f42660cba52c
>> unix-2.6.0.0-4bc27fc415f60036a88211de7cde3e9a
>>      (use -v for more information)
>>
>>    What should I do? Why user space directory and process would interrupt
>> Cabal in global space?
>
> It shouldn't.
>
> Can you please give an example of a package that gives you an error like this?
>
> Also, what does "ghc-pkg check" say?
>
> The only thing I can think of is that you're trying to upgrade a
> package like array, containers, etc.

It does. It has always been. When unioning user and global, user takes 
precedence: user directory-1.2.0.0 shadows global directory-1.2.0.0 (GHC 
User's Guide 4.9.4). But look closer: user directory-1.2.0.0-feedbabe... 
shadows global directory-1.2.0.0-deadbeef... Therefore, if global 
Cabal-1.16.0 was built against directory-1.2.0.0-deadbeef..., it's a 
missing dependency for you.

See my http://www.vex.net/~trebla/haskell/sicp.xhtml#pigeon

Fortunately, shadowing is a sessional property, not a data-loss 
property. One can say, it's a data-surplus property. To regain working 
sessions, cut surplus data, add -no-user-package-db to all your ghc and 
ghci commands.

"ghc-pkg check" does not report shadowing. Go straight for "ghc -v".

This is what you get for "--reinstall".



More information about the Haskell-Cafe mailing list