読者です 読者をやめる 読者になる 読者になる

本当は怖い情報科学

情報系大学院生の趣味&実益ブログ。

Haskell Pugs Haskell Pugs

いかにも無理そうな企画をはじめました。
その名も「Pugsのソースを10%読もうプロジェクト」です。
まぁ全部読もうとしたら当然挫折しますから、適当にわかったような気分になれば良いやといういい加減な方針です。


目的は、来たるPerl6の予習と、Haskellの勉強。


そのうち頓挫すると思いますが、とりあえずはじめたいと思います。

とりあえずPugsのインストールから。

環境は、Debian sarge on coLinux (2.6.11-co-0.6.4)。
Debianのパッケージを用いて[http://www.haskell.org/ghc/:title=ghc]はインストールしてあったので、
とりあえずPugsのソースをダウンロードしてみることにします。

$ wget http://search.cpan.org/CPAN/authors/id/A/AU/AUDREYT/Perl6-Pugs-6.2.13.tar.gz
$ tar -zxvf Perl6-Pugs-6.2.13.tar.gz 

INSTALLを読んでいたら、おやおや、GHCの6.4.1以上が必要だと書いてある。いつものことだけれど、DebianGHCではバージョンが低すぎることが判明。

そこで、まずはGHCを手動でコンパイルすることに挑戦。

$ wget http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src.tar.bz2  
$ wget http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src-extralibs.tar.bz2
$ tar -xjvf ghc-6.6-src.tar.bz2
$ tar -xjvf ghc-6.6-src-extralibs.tar.bz2
$ cd ghc-6.6
$ autoreconf
$ ./configure
$ make

としたら、makeの途中で

xargs: /usr/bin/ar: terminated by signal 9

といって死ぬ。
http://blog.gmane.org/gmane.comp.lang.haskell.glasgow.user/month=20030701
調べてみたら、mk/build.mk

SplitObj=NO

を指定したみたらうまくいくようになりました。よくわからんけど結果オーライ。
というわけでコンパイルが完了。めでたしめでたし。

環境やcoLinuxの設定によっては、メモリ不足で死ぬことがあるかもしれません。
そのときは、メモリ量やスワップ領域を増やしてみてください。

ちなみに、ビルド時間は約4時間半でした。次回はPugsコンパイル

【広告】