Debian (lenny) に Gauche 0.9 + SLIB のインストール

Debianは標準のインストールだとgccが入ってないので

$ su
# apt-get install gcc

gccをインストール。


続いてGaucheのインストール。
Gaucheのダウンロードページからソースを取ってきて展開してビルドを実行。

$ gzip -dc Gauche-0.9.tgz | tar xvf -
$ cd Gauche-0.9
$ ./configure
$ make
$ su 
# make install。

一発OK。


SLIBはDebianのaptから

$ su
# apt-get install slib

でこちらも一発OK。


SLIBは/usr/share/slib配下にインストールされるので.bash_profileに

SCHEME_LIBRARY_PATH=/usr/share/slib/
export SCHEME_LIBRARY_PATH

を追加。


端末にログインしなおして

$ gosh

でgoshも無事起動。


SLIBが使えるか確認。

gosh> (use slib)
#<undef>
gosh> (require 'trace)
*** ERROR: couldn't open output file: "/usr/local/share/gauche/0.9/lib/slibcat"
Stack Trace:
_______________________________________
  0  (call-with-output-file catpath (lambda (op) (define (display* . ar ...
        At line 22 of "/usr/share/slib/mklibcat.scm"
  1  (slib:load-source (in-vicinity (library-vicinity) "mklibcat"))
        At line 79 of "/usr/share/slib/require.scm"
  2  (catalog:get feature)
        At line 145 of "/usr/share/slib/require.scm"

エラーになっちゃった....


SLIBが使えない原因は何だろと思ったら、GaucheのFAQに答えが書いてあった。
rootユーザでmake installしたのでインストールディレクトリに一般ユーザが書き込めないのね。
rootユーザでgoshを起動してslibをロードしたら、他のユーザでも使えるようになった。


ふー、珍しくすんなりいったな。