7月27時点のGauche trunkをビルドした
目的はparse.pegを動かすため。 以下に、手順をメモしておく。 (7月27時点のGauche trunk は 0.8.14 としてリリースされるハズのバージョンです)
Gauche-0.8.12をアンインストール
-
アンインストールでやられる MacOS X leopardで Gauche 0.8.12が入っている状態からスタート。 Gauche trunkのビルドには最新のリリースバージョン(0.8.13)が必要なので、まずはアンインストール。 Gaucheに限らないけど、システムに2バージョン以上の処理系が上書きインストールされた状態で使うと正しいバージョンのライブラリがロードされないとかいろいろ問題が起きると思われる。 そんなのでハマりたくないので、ちゃんとアンインストールする。 で、別の問題でハマる。 Gauche-0.8.12のmake uninstallを実行すると、Boehm GCのダイナミックリンクライブラリが消えた。 やられた。 Gaucheのリリースノートを見ると0.8.13で直っていると書いてある。 だからといって、今回の件は0.8.12をアンインストールする段にはどうしようもない。 同じBoehm GCを使うw3m-0.5.2が動かなくなって気がついた。
-
気を取りなおして、Boehm GC 7.1をインストール 前は、Boehm GC 7.0をインストールしていたが、この際最新にしてみた。 ちなみに、Gaucheのディストリビューションにはgcが内蔵してあるので、後で上書きされるかも。 Gauche trunkもBoehm GC 7.1になっているのでまあどちらでも良しとしよう。 w3m-0.5.2が動くようになった。 w3mとの相性としては、後方互換性が有るようだ。
Gauche-0.8.13をインストール
Gaucheのtrunkをビルドするにあたって、なるべく新しい方ものをベースにするほうが良さそうなので0.8.13をビルドする。 問題なくビルド・インストールできた。
Gauche trunkをインストール
autoconfが必要な以外は、configure && make && make installできた。 ちなみに、ポイントだけ書いておくと、0.8.13アンインストールもちゃんとやるほうが良いだろう。 私の実施した手順は
- Gauche trunk – Subversionから取得 – ./DIST gen – configure – make
- Gauche 0.8.13 – make uninstall
- Gauche trunk – make install
ちなみに、この時点でのGauche trunkはバージョン表示が0.8.13のままなのでtrunkをインストールしたことを忘れてしまわないこと。
$ gosh -V
Gauche scheme interpreter, version 0.8.13 *utf-8,pthreads*
trunkなのに勘違いして0.8.13の積もりでバグ報告すると、shiroさんが混乱されるので注意。
parse.pegが動くかテスト
testに全てパスしたよ。めでたしめでたし。
bash-3.2$ cd Gauche-trunk-20080727/Gauche/ext/peg
bash-3.2$ gosh ./test.scm
Testing parser.peg ...
<peg>--------------------------------------------------------------------------
testing bindings in #<module parser.peg> ... ok
test rope->string, expects "abc" ==> ok
test rope->string, expects "012abcX" ==> ok
test rope->string, expects #<error> ==> ok
<primitives>-------------------------------------------------------------------
test $return (success), expects "xyz" ==> ok
test $fail (failure), expects (0 "error") ==> ok
test $expect (failure), expects (0 "character") ==> ok
<string>-----------------------------------------------------------------------
test $string (success), expects "abc" ==> ok
.
(略)
.
test calculator (success), expects 36 ==> ok
test calculator (success), expects -1 ==> ok
passed.
bash-3.2$