Happstackを試そうとしたらインストールではまった
haskellのweb frameworkとして Happstack(http://happstack.com/index.html)というものがあるらしく試そうとしても失敗してあきらめてたのですが、いろいろやってみたらインストールできたのでメモしておきます。
使用した環境
上記の環境以外の場合はすんなりインストールできるかもしれません。
やることとしては
となります。
なにやらdirectoryとfilepathはふたつよみこまれてしまうようで、haskell platformについてきた directoryとfilepathを無効にしておけばよいです。
ついでに調べててわかったことですが、 .cabal を削除するだけだとインストールされていると認識されるようでそちらは .ghc に保存されてるようです。
がっつり削除したくなった場合は
$ rm -rf ~/.cabal
$ rm -rf ~/.ghc
などとしておくといままでしたことがなかったことにできるようです。
そのあとに
$ ghc-pkg hide directory
$ ghc-pkg hide filepath
$ cabal update
$ cabal install happstack
とするとインストールできました。
本家にサンプルも動作しました。
詳細
エラーの内容を保存しわすれた orz
GHCi runtime linker: fatal error: I found a duplicate definition for symbol___hscore_S_IFDIR
上記のようなシンボルが2度登場してるのが原因っぽくてログをよくみてみると
directoryとfilepathという一部のパッケージが古いversionに依存していて新しいものと古いものの両方を読みこんでしまうようでした。
なので上記にかいたとおり無効にして対処したというわけです。