marg-do's

関数型生活

CentOSにHaskell開発環境を構築してみる

最近Haskellを勉強しているのですが、開発環境をVM上にまとめてしまおうということでやってみました。

実行環境など

ghcをインストール

現時点で最新のghc7.6.3のソースURLをGHC: Download version 7.6.3からとってくる。

$ wget http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2
$ tar xjvf ghc-7.6.3-x86_64-unknown-linux.tar.bz2
$ cd ghc-7.6.3/
$ ./configure --prefix=/usr/local/haskell/ghc/7.6.3
$ sudo make install

一時的にパスを通す

Haskell Platformのコンパイルghcが必要なので一時的にghcへパスを通します。

$ export PATH=/usr/local/haskell/ghc/7.6.3/bin:$PATH

以下のコマンドで動作確認

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3

Haskell Platformをインストール

現時点で最新のhaskell-platform-2013.2.0.0のソースURLをHaskell Platform for Linuxから取ってくる。

$ wget http://www.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz
$ tar xzvf haskell-platform-2013.2.0.0.tar.gz
$ cd haskell-platform-2013.2.0.0/

gmpとopenGL関連でエラーが出たので入れておきます
$ sudo yum -y install gmp-devel freeglut-devel

$ ./configure --prefix=/usr/local/haskell/haskell-platform/2013.2.0.0
$ make
$ sudo make install

パスを通す

最後に、ghcHaskell Platformへとパスを通しておきます。

~/.bashrcに以下を追記

export PATH=/usr/local/haskell/haskell-platform/2013.2.0.0/bin:/usr/local/haskell/ghc/7.6.3/bin:$PATH

追記

sudo cabal install cabal-install --global

をするためにはパスをsudoに引継ぐ必要がありました。
こちらを参照→CentOS で sudo 時に実行ユーザーのPATHを引き継ぐ - Qiita
もっといい方法はないものか…