■
いかにも無理そうな企画をはじめました。
その名も「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以上が必要だと書いてある。いつものことだけれど、Debianの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の設定によっては、メモリ不足で死ぬことがあるかもしれません。
そのときは、メモリ量やスワップ領域を増やしてみてください。