[Haskell-cafe] Cabal hell (8.2.1,/Haskell Package/MacOS X)

Albert Y. C. Lai trebla at vex.net
Fri Oct 6 02:48:57 UTC 2017


On 2017-10-05 11:47 AM, Mikhail Glushenkov wrote:
> Hi,
> 
> On 5 October 2017 at 16:29, Stuart A. Kurtz <stuart at cs.uchicago.edu> wrote:
>> I have problems around trying to install some standard packages: hlint, aeson. A typical error reported by cabal is
>>
>> <command line>: cannot satisfy -package-id hashable-1.2.6.1-14fEJP30YhAG9w115PODz0:
>>      hashable-1.2.6.1-14fEJP30YhAG9w115PODz0 is unusable due to shadowed dependencies:
>>        text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH
> 
> This looks like a known Cabal 2.0 bug, which I haven't yet got around to fix:
> 
> https://github.com/haskell/cabal/issues/4728
> 
> IIUC, this affects both Stack and Cabal, but only when used with GHC
> 8.2.1. Downgrading to GHC 8.0.2 should help for now.

I have found the cause (first-order cause anyway) and wrote it up on the 
cabal issue and the haskell-platform issue, and explained why the stack 
issue is unrelated, all on github. Please refer to those issues 
separately for details. Oh too bad the Haskell Platform people closed 
theirs, because it is totally a Haskell Platform build error for some 
builds.

In short, while I don't have Mac and so I need you to do the following 
checks, I have Linux and checked it. Best to start with a fresh install, 
full binary version, for minimum doubt:

1. "ghc -v" to see you already have shadowing messages right from the 
start with a clean slate.

2. "ghc-pkg field hashable abi-depends" for example and look at the 
oddity "text-...=inplace" in contrast to more common ones like 
"base-...=hexstring". This is why GHC says it can't find the right text 
for hashable. (See also "ghc-pkg field base abi" and "ghc-pkg field text 
abi", these are what GHC checks against.)

The Windows version doesn't have this problem because the abi-depends 
fields don't even exist there. This is probably because the Windows 
versions was built by Cabal 1.x.

The core versions don't have this problem.


More information about the Haskell-Cafe mailing list