Solution is to change directory (cd) somewhere else and try again. (There's 
also cabal install -z flag feature request, -z to ignore local project; but 
it's not yet merged).
Yes, that's what I worked out in the end.   But it doesn't feel like a 
solution; it feels like a workaround.
My point is that (for this user at least) it's deeply strange. I would not 
expect 'apt install <blah>' to behave differently in different directories.  
I'm saying "please do X" - in this case install a package - and it's terribly 
confusing to me if that's radically affected by which directory I'm in.
I'm not saying it's wrong - everything about UI is a judgement - just that it 
may be very counter-productive for some users.
Simon

From: Oleg Grenrus <oleg.gren...@iki.fi>
Sent: 31 May 2019 09:31
To: Simon Peyton Jones <simo...@microsoft.com>; cabal-devel@haskell.org
Subject: Re: Cabal install


Hi Simon,

I see, you triggered another feature/bug of cabal install, namely when you are 
in a project directory, project settings affect solving process. And when 
there's a .cabal file, it's a project.
So cabal tried to find an install plan containing local packages (that makes 
sense, if you try to install local lhs2tex for example!)

Solution is to change directory (cd) somewhere else and try again. (There's 
also cabal install -z flag feature request, -z to ignore local project; but 
it's not yet merged).

- Oleg
On 31.5.2019 11.02, Simon Peyton Jones wrote:
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.gren...@iki.fi><mailto:oleg.gren...@iki.fi>
Sent: 30 May 2019 20:19
To: Simon Peyton Jones <simo...@microsoft.com><mailto:simo...@microsoft.com>; 
cabal-devel@haskell.org<mailto: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://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhaskell%2Fcabal%2Fissues%2F5888&data=02%7C01%7Csimonpj%40microsoft.com%7C287418e6b3e247b9b0ec08d6e5a258c4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636948882792816120&sdata=Xo9%2FS%2BkTGwMtCCOxh023gBA95fhWjQDJPJ884u%2BakFY%3D&reserved=0>
 https://github.com/haskell/cabal/issues/5559
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhaskell%2Fcabal%2Fissues%2F5559&data=02%7C01%7Csimonpj%40microsoft.com%7C287418e6b3e247b9b0ec08d6e5a258c4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636948882792826128&sdata=oMPeTq2zVN0cGAGmFUT9BMUK%2FVPSmOvNDnum4VUSv7o%3D&reserved=0>

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 list

cabal-devel@haskell.org<mailto:cabal-devel@haskell.org>

http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fcabal-devel&data=02%7C01%7Csimonpj%40microsoft.com%7C287418e6b3e247b9b0ec08d6e5a258c4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636948882792836141&sdata=88b2BLNklnNp%2BHNLmSOrYrgVQHONHq6aIGNAa%2ByRvJ4%3D&reserved=0>
_______________________________________________
cabal-devel mailing list
cabal-devel@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel

Reply via email to