Cabal cannot resolve base dependency
When compiling a project with cabal
,
you might find that the base
package
cannot be resolved:
$ cabal run
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: catbox-0.1.0.0 (user goal)
[__1] next goal: base (dependency of catbox)
[__1] rejecting: base-4.17.2.1/installed-4.17.2.1 (conflict: catbox =>
base>=4.14 && <4.17)
[__1] skipping: base-4.20.0.1, base-4.20.0.0, base-4.19.1.0, base-4.19.0.0,
base-4.18.2.1, base-4.18.2.0, base-4.18.1.0, base-4.18.0.0, base-4.17.2.1,
base-4.17.2.0, base-4.17.1.0, base-4.17.0.0 (has the same characteristics that
caused the previous version to fail: excluded by constraint '>=4.14 && <4.17'
from 'catbox')
[__1] rejecting: base-4.16.4.0, base-4.16.3.0, base-4.16.2.0, base-4.16.1.0,
base-4.16.0.0, base-4.15.1.0, base-4.15.0.0, base-4.14.3.0, base-4.14.2.0,
base-4.14.1.0, base-4.14.0.0, base-4.13.0.0, 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)
[__1] fail (backjumping, conflict set: base, catbox)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, catbox
Unlike with other dependencies,
cabal
can't simply install any version
of base
on demand because it is tied to
your GHC version. In order for the compilation to
work, you need to either require the right version
of base or change the version of GHC installed on
your system. 1