さくらインターネットでasdf-installを使う

さくらインターネットでclispを使ったCGIアプリを動かしたいと思って少しづつ色々試してます。

いろいろ嵌ったりしていて、うまく纏めてここに記録しておくのが一番いいんですが、なにしろ試行錯誤しすぎて混乱してますので、断片的にでも書いておこうと思います。

clisp ffi

drakma(http clientのライブラリ)は、cffiに依存しています。clispでは、cffiは、clispのffi(clispの外部関数呼び出しの機能)というパッケージに依存しています。しかし、clispのバージョンによって、ソースからインストールしたときに、ffiパッケージが有効になるバージョンと有効にならないバージョンがあるようでした。

clisp versionffi
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がインストールできました。

1件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください