ghcmod-vim というプラグインと併用したりすると Vim で Haskell 書くときに かなり便利できるらしい.emacs とかでもよしなにアレできるようだ,ということでインストールしようとすると,どこでもこう書いてあるコマンド
$ cabal install ghc-mod
で,ずらずらずら……
setup: The program happy version >=1.17 is required but it could not be found.
Failed to install haskell-src-exts-1.14.0.1
cabal: Error: some packages failed to install:
ghc-mod-3.1.6 depends on haskell-src-exts-1.14.0.1 which failed to install.
haskell-src-exts-1.14.0.1 failed during the configure step. The exception was:
ExitFailure 1
hlint-1.8.59 depends on haskell-src-exts-1.14.0.1 which failed to install.
となってしまう話.ふーむそれならば
$ cabal install haskell-src-exts
つらつら
setup: The program happy version >=1.17 is required but it could not be found.
Failed to install haskell-src-exts-1.14.0.1
cabal: Error: some packages failed to install:
haskell-src-exts-1.14.0.1 failed during the configure step. The exception was:
ExitFailure 1
ふーむなるほど.happy ってのは Happy: The Parser Generator for Haskell というやつらしく,
stackoverflow でもいろんなパッケージが依存してるのでとりあえず入れとくと良かったりするぜみたいなことが書かれている.
そこで
$ cabal install happy
...
..
.
Installed happy-1.19.3
これで勇んでさっきと同じく
$ cabal install ghc-mod
とやると同様のエラーで落ちるのだが,これは結局 cabal
のインストール先が path に入ってないので,ということらしく (thanks: stackoverflow),
export PATH="$HOME/.cabal/bin:$PATH"
(僕の環境では)してからこんどこそよろしくおねがいしまーす
$ cabal install ghc-mod
Resolving dependencies...
[1 of 1] Compiling Main ( /tmp/haskell-src-exts-1.14.0.1-15273/haskell-src-exts-1.14.0.1/Setup.hs, /tmp/haskell-src-exts-1.14.0.1-15273/haskell-src-exts-1.14.0.1/dist/setup/Main.o )
Linking /tmp/haskell-src-exts-1.14.0.1-15273/haskell-src-exts-1.14.0.1/dist/setup/setup ...
Configuring haskell-src-exts-1.14.0.1...
Building haskell-src-exts-1.14.0.1...
Preprocessing library haskell-src-exts-1.14.0.1...
[ 1 of 22] Compiling Language.Haskell.Exts.Annotated.Syntax ( src/Language/Haskell/Exts/Annotated/Syntax.hs, dist/build/Language/Haskell/Exts/Annotated/Syntax.o )
おっいい感じかな?
Preprocessing executable 'hlint' for hlint-1.8.59...
なんか良さげな感じを経て
Installed ghc-mod-3.1.6
ありがとうございました.
Happy
がなぜ依存関係として勝手にインストールされなかったのかには少し疑問がある,なんでなんだろう.案外最初に path 通しとけば全部うまく行ったのかもという気も微かにするが.で,上記の通り少なくとも
Happy
入れるとあとはさっくり行けてしまったので,「ghc-mod
インストールしよう」系の記事に言及がないのは,こうやって意識されないからなのかもしれませんね.Python のパッケージ入れるときとかに python-dev
への依存を言及しないみたいな感じで.しらんけど.
8May2014 追記:
$ sudo cabal
でやると, ubuntu の sudo の仕様により $PATH
が変わって上記のようにやっても happy
がないかのように振る舞います.
No comments:
Post a Comment