さくらインターネットでasdf-installを使う
さくらインターネットでclispを使ったCGIアプリを動かしたいと思って少しづつ色々試してます。
いろいろ嵌ったりしていて、うまく纏めてここに記録しておくのが一番いいんですが、なにしろ試行錯誤しすぎて混乱してますので、断片的にでも書いておこうと思います。
clisp ffi
drakma(http clientのライブラリ)は、cffiに依存しています。clispでは、cffiは、clispのffi(clispの外部関数呼び出しの機能)というパッケージに依存しています。しかし、clispのバージョンによって、ソースからインストールしたときに、ffiパッケージが有効になるバージョンと有効にならないバージョンがあるようでした。
clisp version | ffi |
---|---|
2.42 | 有効 |
2.44.1 | 無効 |
2.47 | 無効 |
全部調べてないので、どれがffiが有効になるかは正確にはわかりません。2.42をインストールして、ffiパッケージが使えるようになりました。でも、2.42をインストールして実行するとバージョン表記が2.41.1とっているのはバグなんだろうか?
asdf-install
インストール時にgnuのtarが使われています。使っているさくらのサーバにgnuのtarが入ってなかったので、home以下にgnuのtarとgzipをインストールしました。インストールしたtarとgzipが使われるようにコマンド検索のパスを追加しました。tar へのシンボリックリンク gtarを作成しておきました。
asdf-install/variables.lisp:
(defvar *shell-search-paths* '((:absolute "home" "smeghead" "bin") (:absolute "bin") (:absolute "usr" "bin")) "A list of places to look for shell commands.")
asdf-installのソースでOS判定しているところがあったので、*features*を調べてみたけど、freebsdが入ってなかったので、初期化ファイルに追加しました。
~/.clisprc.lisp
(push :freebsd *features*)
asdf-install パッケージのダウンロードに失敗する
clisp + freebsdだと問題が発生するみたいでした。
http://common-lisp.net/pipermail/asdf-install-devel/2008-July/000215.html
このURLのパッチを当てたら直りました。
asdf-install ダウンロード後のGPG認証を無効にする
認証のためのファイルが存在しないパッケージもあるので無効にしました。
(setq asdf-install:*verify-gpg-signatures* nil)
結果、~/.clisprc.lispは以下のようになりました。
(push :freebsd *features*) (push (merge-pathnames ".asdf-install-dir/" (user-homedir-pathname)) custom:*load-paths*) (load '#:asdf) (push (merge-pathnames ".asdf-install-dir/systems/" (user-homedir-pathname)) asdf:*central-registry*) #-:asdf-install (asdf:operate 'asdf:load-op :asdf-install) (setq asdf-install:*verify-gpg-signatures* nil)
以上、断片的な記録でした。なんとか、asdf-installでdrakmaがインストールできました。
Magnificent site. Plenty of useful data here. I’m delivering this a number of buddies ans also revealing throughout delightful. As well as clearly, many thanks inside your sweating!