ASDF-installを使ってCFFIをインストール

さてさて,OpenGLをフリーのCommonLispから使いたい..というわけでググったところ,cl-openglが使える模様であるので,これをインストールしたいわけである.このcl-openglは,CFFIという外部関数を呼ぶ出すパッケージから使うことができるみたい.さらにこのCFFIは,これはASDFのパッケージとなっているみたい.
ASDFというのは,CommonLispにおけるライブラリを管理するシステムでPerlCPANのようにインターネットからダウンロードする仕掛けASDF-installが用意されている(MCLに依存しまくりのmuは恥ずかしながら,今頃知ったというわけなのであるが).
このあたりのやり方はEsden氏のBLOGにあったので,これを参考にしている.
SBCLでは,ASDFASDF-installはプレインストールされているので,requireするだけである.
※ここでProxyで守られた内部ネットワークだとうまくいかなかった.

  1. sbclを起動
  2. asdf-installをロード
 * (require 'asdf-install)

; loading system definition from
; /usr/local/lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.asd into #
; registering # as SB-BSD-SOCKETS
; registering # as SB-BSD-SOCKETS-TESTS
; loading system definition from /usr/local/lib/sbcl/sb-posix/sb-posix.asd into
; #
; registering # as SB-POSIX
; registering # as SB-POSIX-TESTS
("ASDF-INSTALL" "SB-BSD-SOCKETS" "SB-POSIX" "SB-GROVEL" "ASDF")
  1. CFFIをネットワークからインストール

最初にシステムワイドにインストールするか,個人環境にインストールするかを聞いてくる.
システムワイドに登録したければ,1を選ぶが,権限がないとエラーで止まる.
その後,GPGでシグニチャをチェックするか聞いてくるが,SKIP-GPG-CHECKを選んで,ここでは無視した.
いくつか関連するパッケージをインストールするためか,何度か,同じことを聞かれて,同じように答えれば完了する.

 * (asdf-install:install :cffi)
Install where?
1) System-wide install:
System in /usr/local/lib/sbcl/site-systems/
Files in /usr/local/lib/sbcl/site/
2) Personal installation:
System in /Users/username/.sbcl/systems/
Files in /Users/username/.sbcl/site/
    • > 1
Downloading 153995 bytes from http://common-lisp.net/project/cffi/releases/cffi_0.9.2.tar.gz ... debugger invoked on a ASDF-INSTALL::KEY-NOT-FOUND: No key found for key id 0xF1DCE557E86007A0. Try some command like gpg --recv-keys 0xF1DCE557E86007A0 Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [SKIP-GPG-CHECK] Don't check GPG signature for this package 1: [ABORT ] Exit debugger, returning to top level. (ASDF-INSTALL::VERIFY-GPG-SIGNATURE/STRING "-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQBFAdkO8dzlV+hgB6ARAmzTAJ9C/oHh1+ECAmcZJBnWKYtrWLe13ACfQcpA g2x4HitUK9F0jqk1CAcbhFU= =NpH4 -----END PGP SIGNATURE----- " #P"/Users/username/CFFI.asdf-install-tmp") 0] :0 Installing /Users/username/CFFI.asdf-install-tmp in /usr/local/lib/sbcl/site/,/usr/local/lib/sbcl/site-systems/ cffi_0.9.2/ ............(省略).............