Haskell cabal-install errors

cabal, cabal-install, haskell, package

Solution

`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

Problem

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.

Original source