Comments (7)
I think this line means that the package depends on boot non-upgradable package ghci that happens to link against transformers==0.5.6.2, so you have to use that version of transformers, period. The tickets I linked above may shed some more light on what I wrote or prove it's incorrect altogether. I remember there is an effort (a GHC ticket, I think) to make non-upgradable package upgradable. It may be linked inside the tickets above.
from hspec.
@PilchardFriendly thanks for reporting this. The ghc
package comes with GHC. It cannot be built from source. The same is true for other packages, most notably base
.
I am not exactly sure for what reason cabal
tries to build ghc
on your system.
@Mikolaj do you have any input on this? Do you know if there are any related Cabal issues?
from hspec.
Yes, there are:
haskell/cabal#8554
haskell/cabal#8489
It's cabal's fault if your package (or any of its deps [edit; rather, including deps]) depends on both ghc and Cabal >= 3.8. Will be fixed in cabal 3.10. For now --allow-newer
, etc., should help.
from hspec.
@Mikolaj Are allow-newers also intended to work when upgrading boot packages?
For example, cabal build hspec-core --constraint='transformers>=0.6'
yields the error
[__5] next goal: ghc (dependency of hspec-core)
[__5] rejecting: ghc-9.4.3/installed-9.4.3 (conflict: transformers==0.6.0.4,
ghc => transformers==0.5.6.2/installed-0.5.6.2)
So far, so good, that is expected.
But if I add --allow-newer=transformers,ghci,ghc-boot
to get around this error, it still fails with the same error message. This is unexpected, as I thought I was telling it to ignore any bounds on dependencies for transformers
.
This is with cabal-install version 3.8.1.0.
from hspec.
It complains about ghc
, but you say ghc-boot
. These are different packages, I presume?
from hspec.
@Mikolaj even adding ghc
and ghc-heap
gives
% cabal build hspec-core --constraint='transformers>=0.6' --allow-newer=transformers,ghci,ghc-boot,ghc,ghc-heap
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: hspec-2.10.6 (user goal)
[__1] trying: base-4.17.0.0/installed-4.17.0.0 (dependency of hspec)
[__2] trying: QuickCheck-2.14.2 (dependency of hspec)
[__3] next goal: transformers (dependency of QuickCheck)
[__3] rejecting: transformers-0.5.6.2/installed-0.5.6.2 (constraint from
command line flag requires >=0.6)
[__3] trying: transformers-0.6.0.4
[__4] trying: hspec-core-2.10.6 (user goal)
[__5] next goal: ghc (dependency of hspec-core)
[__5] rejecting: ghc-9.4.3/installed-9.4.3 (conflict: transformers==0.6.0.4,
ghc => transformers==0.5.6.2/installed-0.5.6.2)
[__5] trying: ghc-9.4.2
[__6] next goal: ghci (dependency of ghc)
[__6] rejecting: ghci-9.4.3/installed-9.4.3 (conflict: transformers==0.6.0.4,
ghci => transformers==0.5.6.2/installed-0.5.6.2)
[__6] rejecting: ghci-8.10.2 (conflict: ghc => ghci>=9.4.2)
[__6] skipping: ghci-8.10.1, ghci-8.8.3, ghci-8.8.1, ghci-8.6.5, ghci-8.6.4,
ghci-8.6.1, ghci-8.4.4, ghci-8.4.3, ghci-8.4.2, ghci-8.4.1, ghci-8.2.2,
ghci-8.2.1, ghci-8.0.2, ghci-8.0.1 (has the same characteristics that caused
the previous version to fail: excluded by constraint '>=9.4.2' from 'ghc')
[__6] fail (backjumping, conflict set: ghc, ghci, transformers)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: hspec-core, ghc, ghci, base,
transformers, hspec, QuickCheck
Try running with --minimize-conflict-set to improve the error message.
It's this line I don't understand
[__6] rejecting: ghci-9.4.3/installed-9.4.3 (conflict: transformers==0.6.0.4,
ghci => transformers==0.5.6.2/installed-0.5.6.2)
Why is there a conflict if newer transformers
are allowed?
from hspec.
#755 / hspec-2.10.7
addresses this.
from hspec.
Related Issues (20)
- Disabling QuickCheck `chatty` globally HOT 6
- I’ve run into what I think is a similar case – `describe "meh" $ around_ inTempDirectory $ do …` was breaking our hspec-golden tests, because `evaluateExample` for `Example (IO (Golden str))` expects to read/write the golden file. HOT 1
- `around_` inadvertently affects the test context HOT 2
- Can't set up auto discovery HOT 1
- Test output formatting HOT 2
- How can I get the "it" description? HOT 1
- Use displayException instead of show HOT 2
- with fail-fast the cleanup action of aroundAllWith is not executed HOT 2
- `x-partial` warning with GHC 9.8 HOT 1
- suggestion for more convenient test feedback using Cabal HOT 4
- Please revise Hackage base bounds on hspec-core 2.10 series HOT 2
- How to verify a predicate against each element of a list? HOT 5
- Benchmarks
- hspec-discover: builderMainLoop: exec: invalid argument (Bad file descriptor) HOT 4
- Spec hook for each discovered file in `hspec-discover`
- hspec-core-2.11.7 build failure with QuickCheck-2.15 HOT 2
- `hspec` version bounds permit QuickCheck 2.15 - breaking the build HOT 2
- docs: Add favicon / shortcut icon
- Question: Using a custom monads for tests in combination with hooks HOT 1
- Limit Duration of Every Test HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hspec.