[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:
> 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-126.96.36.199-14fEJP30YhAG9w115PODz0:
>> hashable-188.8.131.52-14fEJP30YhAG9w115PODz0 is unusable due to shadowed dependencies:
> This looks like a known Cabal 2.0 bug, which I haven't yet got around to fix:
> 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
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