Broken slib & slib-guile ― 2006年05月31日 07時25分03秒
今では、母艦のクロック数は当時の十倍にもなる。FreeBSD 6.1-RELEASE の前に、ports を入れ直していた。その時に、slib-guile が壊れているのに気がついた。試しに gnucash を起動してみるも
ERROR: Unbound variable: with-load-pathname
と出てしまい起動しない。これが今年の二月ぐらいだった。その頃は、6.1-RELEASE が間近に迫っていたので、もしかしたら、6.1-RELEASE と共に直るかも知れないと淡い期待を抱いていた。
6.1 のリリースは延びに延びた。やっとリリースされた後、試してみるも slib-guile は未だに broken のまま。取り合えず、原因を追求してみる。
まずは、lang/slib-guile/Makefile を開き、
BROKEN= Does not install
の部分をコメントアウトする。# を先頭につければいい。make install をすると、途中で失敗し、make が止まる。そこで、make -dA をやり、詳しい make の操作を見る。
Examining do-install...non-existent...non-existent and no sources...out-of-date.
do-install:? =
do-install:? =
do-install:> =
do-install:> =
/bin/ln -shf /usr/local/share/slib /usr/local/share/guile/slib
/usr/local/bin/guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
ERROR: Unbound variable: with-load-pathname
*** Error code 2
guile -c の部分で止まっている。ここでは、二つの式を評価している。guile をコマンドラインから、起動しuse-modules を実行すると、何も問題がない。require を実行すると、make で止まったときと同じエラーが出る。問題はこの部分だ。
この後、少し slib と slib-guile のコードを見たのだが、lisp は詳しくないのでほとんどわからなかった。
諦めて、古いバージョンを試すことに。gnucash のサイト調べてみると、slib のバージョンはある程度古くても大丈夫そうだ。そこで cvsweb から、slib-guile の Makefile を覗いたところ、最終更新は約三ヵ月前だ。
今回、portdowngrade を試してみようと思ったが、man を見ると手間がかかりそうなのが良くわかった。以前にも紹介したが、ports は、GEOM_UZIP でports-ccyymmdd.uzip の形にして使っている。そこで、uzip を使うことにした。mount_md -P -F /usr/ports-20060221.uzip md.uzip /usr/ports であっと言う間に、指定日に逆戻り。
三ヵ月前の ports に戻ったところ、slib のアーカイブが見つからなくて、make fetch が止まってしまう。仕方がないので、2005 年の年末まで戻したら、slib と slib-guile 共に問題なくインストールできた。gnucash も問題なく起動する。
最近のコメント