I'm trying to install leksah as my development environment using cabal but I ran into errors.
user@home:~$ cabal install leksah
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: leksah-0.15.2.0 (user goal)
next goal: base (dependency of leksah-0.15.2.0)
rejecting: base-4.10.0.0/installed-4.1... (conflict: leksah => base>=4.0.0.0 && <4.9)
rejecting: 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)
Backjump limit reached (currently 2000, change with --max-backjumps or
try to run with --reorder-goals).
other detauls regarding haskell install in my machine are as follows -
user@home:~$ ghci --version
The Glorious Glasgow Haskell Compilation System, version 8.2.1
user@home:~$ cabal --version
cabal-install version 1.24.0.2
compiled using version 1.24.2.0 of the Cabal library
user@home:~$ stack --version
Version 1.3.2, Git revision 3f675146590da4f3edf768b89355f798229da2a5 (4395 commits) x86_64 hpack-0.15.0
Any suggestions to resolve these errors?
Let's get the dependencies straight:
leksah
has version 0.15.2
, which has been released ~18 months ago. It depends on a base
package strictly lower than 4.9
(see also the version bump commit).ghc
has version 8.2.1
. According to the release notes, the base
package has version 4.10.0.0
.You cannot install another base package - it is intrinsically linked to the ghc version (see this post). Note that the version of the base package for ghc 8.0.1
(release notes) is4.9.0.0
.
So either
leksah
from its github source (install instructions), or0.15.1
(or whatever) just bumping versions (provided it's still working of course).It looks weird though - there are commits in the last two weeks, however the download page mentions that they are planning a 0.16
version - this was half a year ago.
I'm kind of wondering why there is an upper limit on ghc
s minor version - currently the version requirement is set to base >=4.0.0.0 && <4.11
. So when a ghc next
bumps the base
package again, the same problem arises. So leksah
is pretty much locked to the ghc
release cycle.