らんだむな記憶

blogというものを体験してみようか!的なー

はぢめてのHaskell(2)

はぢめてのHaskell - らんだむな記憶のはやり方が違った!色々ggりながら再挑戦。

$ cd ghc-7.10.2
$ pwd
/home/xxx/ghc-7.10.2
$ ./configure 
checking for gfind... no
checking for find... /usr/bin/find
checking for sort... /usr/bin/sort
checking for GHC Git commit id... given 0da488c4438d88c9252e0b860426b8e74b5fc9e8
checking for ghc... no
configure: error: GHC is required.

なんぢゃこりゃーーー
GHCのビルドにGHCが必要らしい。最悪だ...。

https://groups.google.com/forum/#!topic/start-haskell/UjCVKvrpI0kから始めようとしたらスタート地点にさえ立てていない...。

もういいよ、なんでもかんでもコンパイルとか面倒すぎる。

$ sudo apt-get install docker

Dockerを入れるよ。

$ which docker
しーーーん

...あれ?入らん...。くそー。
ubuntu 14.04にDockerをインストール - Qiita

$ wget -qO- https://get.docker.com/ | sh
$ which docker
/usr/bin/docker
$ docker --version
Docker version 1.9.0, build 76d6bc9
$ sudo usermod -aG docker $USER

ふぅ。一応再起動。

Dockerを入れたので、以下の文書の手順に従う。
Building/Preparation/Linux – GHC

$ cd ghc-7.10.2
$ pwd
/home/xxx/ghc-7.10.2
$ docker run --rm -i -t -v `pwd`:/home/ghc gregweber/ghc-haskell-dev /bin/bash

Linuxは嫌いだ。
うはぁ。なんか開発環境のでっかいイメージのダウンロードが始まった...。
10分くらい放心してたら終わってた。

ghc@1025eaaae3ff:~$

続き。

$ sudo apt-get install haskell-platform git autoconf automake libtool make libgmp-dev ncurses-dev g++ python bzip2

う~ん。「haskell-platform」とか見えるんだけど。これビルドしなくてもHaskellの古いバージョンなら使えるようになるってことだよね?なんかもうこれで良くなってきたぞ...。

こわくないHaskell入門(初級) - Qiitaを参考に

[main.txt]

main = do
    putStrLn "Hello..."
$ runghc main.txt 
Hello...

急激にやる気なくなってきたな。

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

う~ん。ビルドしたいのは、ghc-7.10.2だけど、それと比してぼちぼち新しいんじゃね?うゎー。
GHCのビルドのためにGHCを入れたらぼちぼち新しいのが入っちゃったとか、やる気そがれるぅ~

おぬぬめに従いつつ

$ cabel update
$ cabal install alex happy

ふむ。
ふむむ。
ふむむむ...。
はっ!?ここまで動いているならDockerコンテナ使わなくてもGHCビルドできるんじゃね!?何やってんだーーー
もういい。コンテナからはexit。結局何が正解なんだ...。

$ ./configure --prefix=/opt/ghc

やっぱ通るよー。最悪だよー。Docker要らなかったよー。

$ sudo apt-get install python-sphinx
$ sudo apt-get install dblatex docbook-xsl docbook-utils libxml2-utils texlive-font-utils
$ sudo apt-get install linux-tools-generic xutils-dev

それっぽいものも全部入れてしまう。

$ make

... 何時間たったかなぁー...。異常なので調べると、そんなもんらしい。GHCなんてビルドするもんじゃないな...。

$ sudo make install

終わり。haskell-platformのほうもビルドしたほうがいいのかな?