haskellcabalcabal-installleksah

couldn't install leksah on Ubuntu 16.10 using cabal 1.24.0.2/ghc 8.2.1


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?


Solution

  • Let's get the dependencies straight:

    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

    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 ghcs 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.