metatilitiesのインストール

CL勉強会の予習のために、metatilitiesというライブラリを読んでみようとしています。

ここで、metatilitiesをダウンロードしてきて展開してソースを斜め読みしはじめたんですが、結構今の自分には難易度が高くて、とてもじゃないけどインストールして動かしながらじゃないと、感じがつかめないと思いました。

なんか、lispboxのasdfは、設定がどうなってるか良くわからなかったけど、試しに、(asdf:operate ‘asdf:load-op :cl-ppcre) として cl-ppcre をロードしてみたら、下のパスから読んでいるみたいでした。

/usr/local/lispbox-0.7/portableaserve-20051204.214932/libs/cl-ppcre/cl-ppcre.asd

試しに、metatilities を /usr/local/lispbox-0.7/portableaserve-20051204.214932/libs の配下にラ

イブラリを配置してみました。

配置後、(asdf:operate ‘asdf:load-op :metatilities)を実行すると、次は以下のエラーが。

component :ASDF-SYSTEM-CONNECTIONS not found, required by #1=#<SYSTEM "metatilities" #x204290A6>
[Condition of type MISSING-DEPENDENCY]

ということでインストール。

$ cd /usr/local/lispbox-0.7/portableaserve-20051204.214932/libs
$ wget http://common-lisp.net/project/asdf-system-connections/asdf-system-connections.tar.gz
$ tar xfz asdf-system-connections.tar.gz

配置後、(asdf:operate ‘asdf:load-op :metatilities)を実行すると、次は以

下のエラーが。

component :METABANG-BIND not found, required by #1=#<SYSTEM "metatilities" #x2042EC56>
[Condition of type MISSING-DEPENDENCY]

続いてMETABANG-BINDのインストール。なんか、依存地獄に入っちゃったか

な?

$ wget http://common-lisp.net/project/metabang-bind/metabang-bind_latest.tar.gz
$ tar zxf metabang-bind_latest.tar.gz

あと、何回かこんなことを繰り返しました。

$ wget http://common-lisp.net/project/cl-containers/cl-containers_latest.tar.gz
$ tar zxf cl-containers_latest.tar.gz
$ wget http://common-lisp.net/project/metatilities-base/metatilities-base.tar.gz
$ tar zxf metatilities-base.tar.gz
$ wget http://common-lisp.net/project/cl-containers/moptilities/moptilities_latest.tar.gz
$ tar zxf moptilities_latest.tar.gz
$ wget http://common-lisp.net/project/closer/ftp/closer-mop_latest.tar.gz
$ tar zxf closer-mop_latest.tar.gz

ようやく、metatilitiesをロードできました。

CL勉強会までにコードを眺めようとしたんですが、インストールして終わっちゃった。

今の状態は、本当にインストールしただけで、使うところまで行ってません。使うには、use-packageでいいんだっけ?

デフォルトのパッケージで(use-package :metatilities)してみると、find-itemがダブってるというようなエラーが出たので、テスト用のパッケージを作って、そこへuse-packageしたら、とりあえず、use-packageは成功しました。

CL-USER> (defpackage :metatest (:use common-lisp))
#<PACKAGE METATEST>
CL-USER> (in-package :metatest)
#<PACKAGE METATEST>
METATEST> (use-package :metatilities)
T

asdf-installを入れれば、依存関係の解決もしてくれるらしいので、導入すべきですね。

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.