haskell / cabal

Official upstream development repository for Cabal and cabal-install
https://haskell.org/cabal
Other
1.61k stars 691 forks source link

Strange Behavior of cabal install (maybe my fault) #9795

Open joaofaugusto opened 6 months ago

joaofaugusto commented 6 months ago

I had coded a example to study parallelism and I had used the parallel build-depends, as the cabal conf file show it up: build-depends: base == 4.13.0.0, parallel == 3.2.2.0, time == 1.9.3, containers == 0.6.2.1 but when I run: cabal install parallel I got this error message: LICENSE: openBinaryFile: does not exist (No such file or directory) As I had saw on another place, I runned: cabal init and when I tried to run cabal install again, I got this error message: Resolving dependencies... cabal: Could not resolve dependencies: [0] next goal: binary (user goal) [0] rejecting: binary-0.8.9.1, binary-0.8.9.0, binary-0.8.8.0 (constraint from user target requires ==0.8.7.0) [0] trying: binary-0.8.7.0/installed-0.8... [1] next goal: bytestring (user goal) [1] rejecting: bytestring-0.12.1.0 (conflict: binary => bytestring==0.10.10.1/installed-0.1...) [1] rejecting: bytestring-0.12.0.2, bytestring-0.12.0.1, bytestring-0.12.0.0, bytestring-0.11.5.3, bytestring-0.11.5.2, bytestring-0.11.5.1, bytestring-0.11.5.0, bytestring-0.11.4.0, bytestring-0.11.3.1, bytestring-0.11.3.0, bytestring-0.11.2.0, bytestring-0.11.1.0, bytestring-0.11.0.0, bytestring-0.10.12.1, bytestring-0.10.12.0, bytestring-0.10.10.1/installed-0.1..., bytestring-0.10.10.1, bytestring-0.10.10.0, bytestring-0.10.9.0, bytestring-0.10.8.2, bytestring-0.10.8.1, bytestring-0.10.8.0, bytestring-0.10.6.0, bytestring-0.10.4.1, bytestring-0.10.4.0, bytestring-0.10.2.0, bytestring-0.10.0.2, bytestring-0.10.0.1, bytestring-0.10.0.0, bytestring-0.9.2.1, bytestring-0.9.2.0, bytestring-0.9.1.10, bytestring-0.9.1.9, bytestring-0.9.1.8, bytestring-0.9.1.7, bytestring-0.9.1.6, bytestring-0.9.1.5, bytestring-0.9.1.4, bytestring-0.9.1.3, bytestring-0.9.1.2, bytestring-0.9.1.1, bytestring-0.9.1.0, bytestring-0.9.0.4, bytestring-0.9.0.3, bytestring-0.9.0.2, bytestring-0.9.0.1, bytestring-0.9 (constraint from user target requires ==0.12.1.0) [__1] fail (backjumping, conflict set: binary, bytestring) After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: binary, bytestring, ghc

This is the part of the code I had imported the parallel module: import Control.Parallel (par) ...(hidden ending)

when I try to run the code, this happen: Main.hs:2:1: error: Could not load module ‘Control.Parallel’ It is a member of the hidden package ‘parallel-3.2.2.0’. You can run ‘:set -package parallel’ to expose it. (Note: this unloads all the modules in the current scope.) Use -v (or :set -v in ghci) to see a list of the files searched for. | 2 | import Control.Parallel (par) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I tried this: rm -rf ~/.cabal/store

but when I tried to compile again, this happen: ghc: can't find a package database at /home/name/.cabal/store/ghc-8.8.4/package.db

I just wanna study parallelism, what happened? Cabal Version: cabal-install version 3.0.0.0 compiled using version 3.0.1.0 of the Cabal library GHC Version: The Glorious Glasgow Haskell Compilation System, version 8.8.4

Bodigrim commented 6 months ago

but when I run: cabal install parallel

Why do you want to run this? Even if it works out, it will do no good. Is there a text book or an article you are trying to follow?

build-depends: base == 4.13.0.0, parallel == 3.2.2.0, time == 1.9.3, containers == 0.6.2.1

Do not set versions so tightly; build-depends: base, parallel, time, containers will do just fine for learning purposes.

when I try to run the code, this happen:

How exactly are you executing it?