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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

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

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.
Reply | Threaded
Open this post in threaded view
|

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

Christopher Allen
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 <[hidden email]> wrote:

> 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
_______________________________________________
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.
Reply | Threaded
Open this post in threaded view
|

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

Mikhail Glushenkov
In reply to this post by Stuart A. Kurtz
Hi,

On 5 October 2017 at 16:29, Stuart A. Kurtz <[hidden email]> 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.
_______________________________________________
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.
Reply | Threaded
Open this post in threaded view
|

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

Stuart A. Kurtz
In reply to this post by Stuart A. Kurtz
Dear Imants,

> Is it possible that some ghc version is installed with /usr prefix, and another with /usr/local
> ?
>
> If yes - try uninstalling the older versions.
> You may need to clean up the obsolete library folders.

Joy!

Which is to say, after several unsuccessful attempts involving progressively more draconian deletion strategies, ending with

% uninstall-hs all --remove

and reinstalling the Core Platform from the installer, which finally worked.

Many thanks!

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.
Reply | Threaded
Open this post in threaded view
|

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

Albert Y. C. Lai
In reply to this post by Mikhail Glushenkov
On 2017-10-05 11:47 AM, Mikhail Glushenkov wrote:

> Hi,
>
> On 5 October 2017 at 16:29, Stuart A. Kurtz <[hidden email]> 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.
_______________________________________________
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.
Reply | Threaded
Open this post in threaded view
|

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

Brandon Allbery
On Thu, Oct 5, 2017 at 10:48 PM, Albert Y. C. Lai <[hidden email]> 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. 

--
brandon s allbery kf8nh                               sine nomine associates
[hidden email]                                  [hidden email]
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

_______________________________________________
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.
Reply | Threaded
Open this post in threaded view
|

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

Gershom Bazerman
In reply to this post by Albert Y. C. Lai
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 ([hidden email]) 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.

_______________________________________________
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.
Reply | Threaded
Open this post in threaded view
|

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

Brandon Allbery
In reply to this post by Brandon Allbery
On Thu, Oct 5, 2017 at 11:13 PM, Brandon Allbery <[hidden email]> wrote:
On Thu, Oct 5, 2017 at 10:48 PM, Albert Y. C. Lai <[hidden email]> 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
[hidden email]                                  [hidden email]
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

_______________________________________________
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.