kiyoka.2008_07_27 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2008_07
55555555555555555555555555555555555355555553335555555555555555555555555555544
5

[Gauche] 7月27時点のGauche trunkをビルドした

5

目的はparse.pegを動かすため。

5

以下に、手順をメモしておく。

5

(7月27時点のGauche trunk は 0.8.14 としてリリースされるハズのバージョンです)

5

 

5

Gauche-0.8.12をアンインストール

5
アンインストールでやられる
5

MacOS X leopardで Gauche 0.8.12が入っている状態からスタート。

5

Gauche trunkのビルドには最新のリリースバージョン(0.8.13)が必要なので、まずはアンインストール。

5

Gaucheに限らないけど、システムに2バージョン以上の処理系が上書きインストールされた状態で使うと正しいバージョンのライブラリがロードされないとかいろいろ問題が起きると思われる。

5

そんなのでハマりたくないので、ちゃんとアンインストールする。

5

で、別の問題でハマる。

5

Gauche-0.8.12のmake uninstallを実行すると、Boehm GCのダイナミックリンクライブラリが消えた。

5

やられた。

5

Gaucheのリリースノートを見ると0.8.13で直っていると書いてある。

5

だからといって、今回の件は0.8.12をアンインストールする段にはどうしようもない。

5

同じBoehm GCを使うw3m-0.5.2が動かなくなって気がついた。

5

 

5
気を取りなおして、Boehm GC 7.1をインストール
5

前は、Boehm GC 7.0をインストールしていたが、この際最新にしてみた。

5

ちなみに、Gaucheのディストリビューションにはgcが内蔵してあるので、後で上書きされるかも。

5

Gauche trunkもBoehm GC 7.1になっているのでまあどちらでも良しとしよう。

5

w3m-0.5.2が動くようになった。

5

w3mとの相性としては、後方互換性が有るようだ。

5

 

5

Gauche-0.8.13をインストール

5

Gaucheのtrunkをビルドするにあたって、なるべく新しい方ものをベースにするほうが良さそうなので0.8.13をビルドする。

5

問題なくビルド・インストールできた。

5

 

5

Gauche trunkをインストール

5

autoconfが必要な以外は、configure && make && make installできた。

5

ちなみに、ポイントだけ書いておくと、0.8.13アンインストールもちゃんとやるほうが良いだろう。

5

私の実施した手順は

5
Gauche trunk
5
Subversionから取得
3
./DIST gen
5
configure
5
make
5
Gauche 0.8.13
5
make uninstall
5
Gauche trunk
5
make install
5

 

3

ちなみに、この時点でのGauche trunkはバージョン表示が0.8.13のままなのでtrunkをインストールしたことを忘れてしまわないこと。

3
 $ gosh -V
3
 Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
5

trunkなのに勘違いして0.8.13の積もりでバグ報告すると、shiroさんが混乱されるので注意。

5

 

5

parse.pegが動くかテスト

5

testに全てパスしたよ。めでたしめでたし。

5
 bash-3.2$ cd Gauche-trunk-20080727/Gauche/ext/peg
5
 bash-3.2$ gosh ./test.scm 
5
 Testing parser.peg ...                                           
5
 <peg>--------------------------------------------------------------------------
5
 testing bindings in #<module parser.peg> ... ok
5
 test rope->string, expects "abc" ==> ok
5
 test rope->string, expects "012abcX" ==> ok
5
 test rope->string, expects #<error> ==> ok
5
 <primitives>-------------------------------------------------------------------
5
 test $return (success), expects "xyz" ==> ok
5
 test $fail (failure), expects (0 "error") ==> ok
5
 test $expect (failure), expects (0 "character") ==> ok
5
 <string>-----------------------------------------------------------------------
5
 test $string (success), expects "abc" ==> ok
5
   .
5
  (略)
5
   .
5
 test calculator (success), expects 36 ==> ok
5
 test calculator (success), expects -1 ==> ok
5
 passed.
5
 bash-3.2$ 
5

 

5

参考URL

5
Gauche:VMの最適化EXT
5
Gauche:VM命令セットの変更とビルドEXT
4

 

4

...comment disabled...