Thanks Oleg
my first guess is that: when working on the unsaturated type families paper, you did `cabal install --lib report`; or something similar. `report` is probably some internal library to that paper / project.
I am confident I did nothing like that. But there is a file called report.cabal in the directory where I did the ‘cabal install lhs2tex’ command.
To confirm, check what is in your ~/.ghc/x86_64-linux-8.6.5/environments/default (or similar), is some `package-id report-0.1.0.0-hexhash` line there?
There is no such file:
bash$ ls ~/.ghc
ghci_history x86_64-linux-8.9.0.20190414 x86_64-linux-8.9.0.20190508
x86_64-linux-8.6.4 x86_64-linux-8.9.0.20190430 x86_64-linux-8.9.0.20190527
bash$ ls ~/.ghc/x86_64-linux-8.6.4/
package.conf.d
Simon
From: Oleg Grenrus <oleg.grenrus@iki.fi>
Sent: 30 May 2019 20:19
To: Simon Peyton Jones <simonpj@microsoft.com>; cabal-devel@haskell.org
Subject: Re: Cabal install
Hi Simon,
my first guess is that: when working on the unsaturated type families paper, you did `cabal install --lib report`; or something similar. `report` is probably some internal library to that paper / project.
In that case, you are hitting the unfortunate cabal bug [1].
To confirm, check what is in your ~/.ghc/x86_64-linux-8.6.5/environments/default (or similar), is some `package-id report-0.1.0.0-hexhash` line there? If so, the simplest fix is to remove that environment file.
- [1]
https://github.com/haskell/cabal/issues/5888 https://github.com/haskell/cabal/issues/5559
Cheers,
Oleg
On 30.5.2019 16.50, Simon Peyton Jones wrote:
Dear friendly Cabal folk
Here’s what happened to me today
bash$ cabal install lhs2tex
cabal: Could not resolve dependencies:
[__0] next goal: report (user goal)
[__0] rejecting: report-0.1.0.0 (conflict: requires UnsaturatedTypeFamilies)
[__0] fail (backjumping, conflict set: report)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: report
Crumbs. What is ‘report’? Why does it need UnsaturatedTypeFamilies? I’m totally lost.
Then, in an inspired moment, I thought to change to a different directory, ~/tmp.
Then quite different things happened – it downloaded and built relevant libraries.
I think that there just happened to be a .cabal file in the original directory I was in at the time. That appears to affect what ‘cabal install’ does in a truly radical way.
My point is this: this is terribly confusing for the user (at least for this on). I’d be shocked if ‘apt install blah’ behaved utterly differently in different directories. I’m going to make a little empty directory somewhere, and cd to it before invoking cabal in future. But that just feels like a workaround, not a solution.
I’m not saying it’s wrong – just giving you a data point that it had one user completely stumped
Simon
_______________________________________________cabal-devel mailing listcabal-devel@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel