纯粹记录一下流程。
1. 下载GHC
没什么特别的,到这里找到下载地址,然后下载。
SRC=http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2
aria2c -j 10 -s 10 -x 10 -Z --min-split-size=10M $SRC
不到两分钟就下好了。
2. 安装GHC
没什么可设置的,设置prefix改变安装路径。
tar xf ghc-7.6.3-x86_64-unknown-linux.tar.bz2
cd ghc-7.6.3
./configure --prefix ~/.opt
make install
记得把${prefix}/bin
加PATH
。
3. 安装cabal-install
到Hackage下载安装
SRC=http://hackage.haskell.org/packages/archive/cabal-install/1.16.0.2/cabal-install-1.16.0.2.tar.gz
aria2c $SRC
tar xf cabal-install-1.16.0.2.tar.gz
cd cabal-install-1.16.0.2
chmod u+x bootstrap.sh
./bootstrap.sh
过一段时间就可以了。完了之后可以把~/.cabal/bin
加到PATH
。
4. (纯折腾)编译GHC HEAD
照着Resources for newcomers to GHC做就可以了,中间有一步设置BuildFlavour
的,我用了quick
,编译dph
的时候出错了,直接删掉libraries/dph
。大约30分钟完成1。
$ ./inplace/bin/ghc-stage2 --version
The Glorious Glasgow Haskell Compilation System, version 7.7.20130824
make binary-dist
还能打包, 不到50M。
编译的时候我还去看The Glasgow Haskell Compiler。
事后感觉
今天凌晨编译了ocaml,和ghc相比,还是小巧很多。GHC提供预编译好的包倒是很不错,可以方便地安装到其他路径。
用
quickest
也是差不多30分钟就能编译好,但是库没有优化。↩