SBCLでOpenMusicをコンパイルしようとしている

フランスのどこぞの研究機関で開発されたらしいCommon Lispベースの音楽作曲,プログラミング環境であるOpenMusicをコンパイルしようと試みる.
最新バージョンはLispWorksでしかビルドできないそうで,旧バージョンのSBCL用のソースがあったので取ってくる.

sbcl-1.0.34 + clg-0.93 でコンパイルに失敗する

とりあえずclg(CL上でgtkを使うためのライブラリ)に依存しているので取ってくる.asdf-installには対応していないようだ.
asdファイルがあちこちにちらばっているけど~/.sbcl/systems/以下にまとめてシンボリックリンクを張る.

(asdf:oos 'asdf:load-op :gtk)

なぜか関数sb-alien::shared-object-fileが無いと怒られる.どうやらlibcairoを呼びだすところでひっかかっているらしい. externされてない関数を呼ばないで欲しい.
clg-0.93/tools/asdf-extensions.lisp内の次の関数定義をいじる必要がありそう

(defun load-shared-object (pathname &optional (absolute-p t))
  (let* ((namestring (ensure-namestring pathname))
	 (directory (namestring (pathname-sans-name+type namestring)))
	 (name+type (subseq namestring (length directory))))
    #+sbcl
    (progn
      (sb-alien:load-shared-object namestring)
      (unless absolute-p
	(let ((shared-object (find namestring sb-alien::*shared-objects* 
			      :key #'sb-alien::shared-object-file 
			      :test #'equal)))
	  (setf (sb-alien::shared-object-file shared-object) name+type))))))

sb-alien::shared-object-fileは構造体shared-objectのfileスロットへのアクセサだった模様.shared-objectの仕様変更によりスロットの名前が変わったんじゃないかな.
sb-alien::shared-object-fileをsb-alien::shared-object-namestringに置換すればおk.

追記: CVS版なら普通にコンパイルできた