binary icon indicating copy to clipboard operation
binary copied to clipboard

binary doesn't install with ghc 8.10.3 and containers 0.6.4.1

Open GeorgeCo opened this issue 4 years ago • 2 comments

$ ghc --version The Glorious Glasgow Haskell Compilation System, version 8.10.3 bash-3.2$ cabal install binary --lib Resolving dependencies... cabal: Could not resolve dependencies: [__0] trying: binary-0.8.8.0/installed-0.8.8.0 (user goal) [__1] next goal: containers (user goal) [__1] rejecting: containers-0.6.4.1 (conflict: binary => containers==0.6.2.1/installed-0.6.2.1) [__1] rejecting: containers-0.6.3.1, containers-0.6.2.1/installed-0.6.2.1, containers-0.6.2.1, containers-0.6.1.1, containers-0.6.0.1, containers-0.5.11.0, containers-0.5.10.2, containers-0.5.10.1, containers-0.5.9.2, containers-0.5.8.2, containers-0.5.7.1, containers-0.5.7.0, containers-0.5.6.3, containers-0.5.6.2, containers-0.5.6.1, containers-0.5.6.0, containers-0.5.5.1, containers-0.5.5.0, containers-0.5.4.0, containers-0.5.3.1, containers-0.5.3.0, containers-0.5.2.1, containers-0.5.2.0, containers-0.5.1.0, containers-0.5.0.0, containers-0.4.2.1, containers-0.4.2.0, containers-0.4.1.0, containers-0.4.0.0, containers-0.3.0.0, containers-0.2.0.1, containers-0.2.0.0, containers-0.1.0.1, containers-0.1.0.0, containers-0.5.9.1, containers-0.5.8.1 (constraint from user target requires ==0.6.4.1) [__1] fail (backjumping, conflict set: binary, containers) After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: binary, containers, ghc

GeorgeCo avatar Feb 20 '21 13:02 GeorgeCo

Same problem with GHC ver. 8.10.4, but conflicts with base:

Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: klavia-server-0.1.0.0 (user goal)
[__1] next goal: binary (dependency of klavia-server)
[__1] rejecting: binary-0.8.8.0/installed-0.8.8.0 (conflict: klavia-server => binary^>=0.10.0.0)
[__1] skipping: binary-0.8.8.0, binary-0.8.7.0, binary-0.8.6.0, binary-0.8.5.1, binary-0.8.5.0, binary-0.8.4.1, binary-0.8.4.0, binary-0.8.3.0, binary-0.8.2.1, binary-0.8.2.0, binary-0.8.1.0, binary-0.8.0.1, binary-0.8.0.0, binary-0.7.6.1, binary-0.7.6.0, binary-0.7.5.0, binary-0.7.4.0, binary-0.7.3.0, binary-0.7.2.3, binary-0.7.2.2, binary-0.7.2.1, binary-0.7.2.0, binary-0.7.1.0, binary-0.7.0.1, binary-0.7.0.0, binary-0.6.4.0, binary-0.6.3.0, binary-0.6.2.0, binary-0.6.1.0, binary-0.6.0.0, binary-0.5.1.1, binary-0.5.1.0, binary-0.5.0.2, binary-0.5.0.1, binary-0.5, binary-0.4.5, binary-0.4.4, binary-0.4.3.1, binary-0.4.3, binary-0.4.2, binary-0.4.1, binary-0.4, binary-0.3, binary-0.2 (has the same characteristics that caused the previous version to fail: excluded by constraint '^>=0.10.0.0' from 'klavia-server')
[__1] trying: binary-0.10.0.0
[__2] next goal: base (dependency of klavia-server)
[__2] rejecting: base-4.14.1.0/installed-4.14.1.0 (conflict: binary => base>=4.5.0.0 && <4.13)
[__2] skipping: base-4.15.0.0, base-4.14.1.0, base-4.14.0.0, base-4.13.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '>=4.5.0.0 && <4.13' from 'binary')
[__2] rejecting: base-4.12.0.0, base-4.11.1.0, base-4.11.0.0, base-4.10.1.0, base-4.10.0.0, base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0, base-4.3.1.0, base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (constraint from non-upgradeable package requires installed instance)
[__2] fail (backjumping, conflict set: base, binary, klavia-server)
After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: binary, klavia-server, base

This seems to have to do with the dependency on base; support for versions 4.13 and later has apparently been removed from the latest version of binary. Downgrading binary to version 0.8.8, however, seems to fix the problem.

Hanicef avatar May 01 '21 12:05 Hanicef

It appears that binary-0.10.0.0 was revised to exclude base-4.13 and earlier. The reason for this appears to be compatibility with the MonadFail proposal: the Monad instance for Get tries to define the fail method, which no longer exists. This is fixed in master.

bgamari avatar May 02 '21 01:05 bgamari