Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Haskell cabal-install errors

I am having lots of problems with cabal-install:
1: Every time I do cabal update, it tells me to do cabal install cabal-install, so I do, and then when I do cabal update again, it says the same thing.

2: When I try to install ghc-mod from hackage, it gives me this error:

[username@arch ~]$ cabal install ghc-mod
In order, the following will be installed:
haskell-src-exts-1.14.0 (reinstall) changes: pretty-1.1.1.1 -> 1.1.1.0
hlint-1.8.55 (reinstall)
ghc-mod-3.1.4
setup: The program happy version >=1.17 is required but it could not be found.
ghc-mod-3.1.4 depends on haskell-src-exts-1.14.0 which failed to install.
haskell-src-exts-1.14.0 failed during the configure step.
hlint-1.8.55 depends on haskell-src-exts-1.14.0 which failed to install.

So the problem was The program happy version >=1.17 is required but it could not be found., so I installed happy 1.19.2 using cabal install happy without problems.

I tried cabal install ghc-mod again, same error, so I tried cabal install haskell-src-exts --reinstall --force-reinstalls. It gave me the following error:

[username@arch ~]$ cabal install haskell-src-exts --reinstall --force-reinstalls
Configuring haskell-src-exts-1.14.0...
setup: The program happy version >=1.17 is required but it could not be found.
Failed to install haskell-src-exts-1.14.0
cabal: Error: some packages failed to install:
haskell-src-exts-1.14.0 failed during the configure step. The exception was:
ExitFailure 1

Basically The program happy version >=1.17 is required but it could not be found.. So happy is the problem again?

I have also tried downloading the tar.gz files from hackage and using cabal install on the .cabal file, also modified the .cabal file to ignore dependencies, still failed.

like image 448
functorial Avatar asked Dec 08 '13 23:12

functorial


2 Answers

cabal install places executables in ~/.cabal/bin.

If you add it to your path, you will be able to use the new executables installed by cabal:

$ PATH=$HOME/.cabal/bin:$PATH
like image 61
Etienne Laurin Avatar answered Oct 31 '22 14:10

Etienne Laurin


I encountered with same problem and I solved the problem with installing happy package(confusing package name). So install it with your package manager(apt-get, pacman etc) before install package with cabal. This should be fix the problem.

like image 27
Mesut Tasci Avatar answered Oct 31 '22 14:10

Mesut Tasci