Cabal hell (8.2.1,/Haskell Package/MacOS X)

Dear Cafe, I've had my first extended visit into cabal hell... ghc: 8.2.1 (Haskell Platform) cabal: 2.0.0.2 cabal-install: 2.0.0.0 OS: MacOS X 10.13 (High Sierra) 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 FWIW, the versions of these packages reported by ghc-pkg are hashable-1.2.6.1 text-1.2.2.2 Suggestions welcome... Peace, Stu

New version of Haskell Platform, like past ones, has proven
troublesome for users.
I'd suggest using Stack (http://haskellstack.org) with the current LTS
which uses GHC 8.0.2, which is has been stable my work.
I'm happy to help if you have any questions.
— Chris
On Thu, Oct 5, 2017 at 10:29 AM, Stuart A. Kurtz
Dear Cafe,
I've had my first extended visit into cabal hell...
ghc: 8.2.1 (Haskell Platform) cabal: 2.0.0.2 cabal-install: 2.0.0.0 OS: MacOS X 10.13 (High Sierra)
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
FWIW, the versions of these packages reported by ghc-pkg are
hashable-1.2.6.1 text-1.2.2.2
Suggestions welcome...
Peace,
Stu
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- Chris Allen Currently working on http://haskellbook.com

Hi,
On 5 October 2017 at 16:29, Stuart A. Kurtz
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.

On 2017-10-05 11:47 AM, Mikhail Glushenkov wrote:
Hi,
On 5 October 2017 at 16:29, Stuart A. Kurtz
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.

On Thu, Oct 5, 2017 at 10:48 PM, Albert Y. C. Lai
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.)
There are already a couple of nasty bugs that were found in Cabal 2.0; this one might even be known already. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Thu, Oct 5, 2017 at 11:13 PM, Brandon Allbery
On Thu, Oct 5, 2017 at 10:48 PM, Albert Y. C. Lai
wrote: 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.)
There are already a couple of nasty bugs that were found in Cabal 2.0; this one might even be known already.
To be more clear: at least one case known of mis-registering a package. This could be a case where, on later registering an inplace build (the stuff in dist/), it's accidentally using the information from dist instead of the correct information. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Thanks for the heads-up Albert, and for the good detective work. I’m digging into this now… -g On October 5, 2017 at 10:51:20 PM, Albert Y. C. Lai (trebla@vex.net) wrote:
On 2017-10-05 11:47 AM, Mikhail Glushenkov wrote:
Hi,
On 5 October 2017 at 16:29, Stuart A. Kurtz wrote:
I have problems around trying to install some standard packages: hlint, aeson. A typical error reported by cabal is
: 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. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (6)
-
Albert Y. C. Lai
-
Brandon Allbery
-
Christopher Allen
-
Gershom B
-
Mikhail Glushenkov
-
Stuart A. Kurtz