Skip to content

cabal new-install --lib adds process-1.6.5.1 to GHC's environment #6165

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
trajafri opened this issue Jul 28, 2019 · 3 comments · Fixed by #8607
Closed

cabal new-install --lib adds process-1.6.5.1 to GHC's environment #6165

trajafri opened this issue Jul 28, 2019 · 3 comments · Fixed by #8607
Assignees

Comments

@trajafri
Copy link

Describe the bug
Running cabal new-install --lib will silently add process-1.6.5.1 to GHC's environment listing. This causes issues with running new-install in the future:

To Reproduce

  1. Create a new cabal package (I used cabal init)
  2. cabal new-install --lib
  3. cabal new-install --lib

Step 3 should fail.

$ cabal init 
$ cabal new-install --lib
Resolving dependencies...
Up to date

$ cabal new-install --lib
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: base-4.12.0.0/installed-4.1... (user goal)
[__1] trying: ghc-8.6.5/installed-8.6... (user goal)
[__2] next goal: process (user goal)
[__2] rejecting: process-1.6.5.1 (conflict: ghc =>
process==1.6.5.0/installed-1.6...)
[__2] rejecting: process-1.6.5.0/installed-1.6..., process-1.6.5.0,
process-1.6.4.0, process-1.6.3.0, process-1.6.2.0, process-1.6.1.0,
process-1.6.0.0, process-1.5.0.0, process-1.4.3.0, process-1.4.2.0,
process-1.4.1.0, process-1.4.0.0, process-1.3.0.0, process-1.2.3.0,
process-1.2.2.0, process-1.2.1.0, process-1.2.0.0, process-1.1.0.2,
process-1.1.0.1, process-1.1.0.0, process-1.0.1.5, process-1.0.1.4,
process-1.0.1.3, process-1.0.1.2, process-1.0.1.1, process-1.0.0.0 (constraint
from user target requires ==1.6.5.1)
[__2] fail (backjumping, conflict set: ghc, process)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, process, ghc, ghc:buildable

Expected behavior
I am new to cabal so new-install failing to install tools like hlint was confusing. Thankfully, folks at #haskell were able to deduce what could have gone wrong.

System informataion

  • Operating system: Manjaro Linux x86_64
  • cabal: 2.4.1.0
    , ghc versions: 8.6.5

Additional context
In this case, the solution was to delete the process listing under environments/default

@23Skidoo
Copy link
Member

/cc @typedrat

@typedrat
Copy link
Collaborator

typedrat commented Jul 29, 2019 via email

@ulysses4ever
Copy link
Collaborator

This looks like a more egregious instance of #5559, which literally starts with: "Because new-install wants to keep every package that GHC bundles in the environment…". So, not sure if this ticket needs to be open. It's a good reproducer for #5559, though.

With GHC 9.0.2 and cabal 3.8 it fails with analogous error but for directory rather than process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants