I'm trying to install bknr, but I can't get my lisp (sbcl) to find it.<br><br>In brief, I've put bknr-svn in $SBCL_HOME, and I have the file $SBCL_HOME/bknr-svn/bknr/init.lisp looking as below.<br><br>The problem is that once I load the file, (asdf:oos 'asdf:load-op :bknr) just drops me into the debugger with the message "debugger invoked on a ASDF:MISSING-COMPONENT in thread #<THREAD "initial thread" {A744531}>:
<br>  component "bknr" not found."<br><br>------------------<br>init.lisp:<br><br><br>(in-package :cl-user)<br>(require :asdf)<br><br>;;;;;;;;;;;;;<br>;; Tweak this<br>(eval-when (:execute :compile-toplevel :load-toplevel)
<br>  #+allegro<br>  (setf (logical-pathname-translations "bknr")<br>    `(("**;*.*.*" "bknr/**/"))<br>    (logical-pathname-translations "bknr-thirdparty")<br>    `(("**;*.*.*" "thirdparty/**/"))
<br>    (logical-pathname-translations "eboy")<br>    `(("**;*.*.*" "eboy/**/")))<br><br>  #+cmu<br>  (setf (logical-pathname-translations "bknr")<br>    `(("**;*.*.*" "home:bknr-sputnik/bknr/**/"))
<br>    (logical-pathname-translations "bknr-thirdparty")<br>    `(("**;*.*.*" "home:bknr-sputnik/thirdparty/**/"))<br>    (logical-pathname-translations "eboy")<br>    `(("**;*.*.*" "home:bknr-sputnik/eboy/**/")))
<br><br>  #+sbcl<br>  (setf (logical-pathname-translations "bknr")<br>      `(("**;*.*.*"<br>         ,(merge-pathnames<br>           (make-pathname :directory '(:relative "bknr-svn" "bknr"  :wild-inferiors)
<br>                          :name    :wild<br>                          :type    :wild<br>                          :version :wild)<br>            (POSIX-GETENV "SBCL_HOME"))))<br>       (logical-pathname-translations "bknr-thirdparty")
<br>      `(("**;*.*.*"<br>         ,(merge-pathnames<br>           (make-pathname :directory '(:relative "bknr-svn" "thirdparty" :wild-inferiors)<br>                          :name    :wild
<br>                          :type    :wild<br>                          :version :wild)<br>            (POSIX-GETENV "SBCL_HOME"))))<br>       (logical-pathname-translations "eboy")<br>      `(("**;*.*.*"
<br>         ,(merge-pathnames<br>           (make-pathname :directory '(:relative "bknr-svn" "eboy" :wild-inferiors)<br>                          :name    :wild<br>                          :type    :wild
<br>                          :version :wild)<br>            (POSIX-GETENV "SBCL_HOME"))))))<br><br>(eval-when (:execute :compile-toplevel :load-toplevel)<br>  #-sbcl<br>  (load #p"bknr-thirdparty:asdf;asdf")
<br>  #+sbcl<br>  (require :asdf))<br><br>(pushnew (translate-logical-pathname #p"bknr:src;") asdf:*central-registry* :test #'equal)<br>(pushnew (translate-logical-pathname #p"eboy:src;") asdf:*central-registry* :test #'equal)
<br><br>(defparameter *patch-directory* "bknr:patches;")<br><br>(defun load-patches (&optional (directory *patch-directory*))<br>  (dolist (file (directory (merge-pathnames directory #p"patch-*.lisp")))
<br>    (warn "; Loading patch from file ~A~%" file)<br>    (load file)))<br><br>(defun fix-dpd ()<br>  #+cmu<br>  ;; Die Sache mit dem aktuellen Verzeichnis hat CMUCL noch immer nicht im<br>  ;; Griff.  Nachbessern!
<br>  (setf *default-pathname-defaults*<br>        (pathname<br>         (concatenate 'string<br>                      (nth-value 1 (unix:unix-current-directory))<br>                      "/"))))<br><br>(defun make-wild-pathname (type directory)
<br>  (merge-pathnames (make-pathname :type type<br>                  :name :wild<br>                  :directory '(:relative :wild-inferiors))<br>           directory))<br><br>(defun setup-registry ()<br>  (mapc #'(lambda (asd-pathname)
<br>        (pushnew (make-pathname :directory (pathname-directory asd-pathname))<br>             asdf:*central-registry*<br>             :test #'equal))<br>    (append (directory #p"bknr-thirdparty:**;*.asd")
<br>        (directory #p"bknr:**;*.asd"))))<br><br>(defun clean-registry (&optional (dirs asdf:*central-registry*))<br>  (let ((files (mapcan #'directory<br>               (mapcan #'(lambda (dir)<br>
                   (when (pathnamep dir)<br>                     (list (make-wild-pathname "fas" dir)<br>                       (make-wild-pathname "lib" dir)<br>                       (make-wild-pathname "x86f" dir)
<br>                       (make-wild-pathname "fasl" dir))))<br>                   dirs))))<br>    (dolist (file files)<br>      (when (probe-file file)<br>    (format t "Deleting binary file ~S~%" file)
<br>    (delete-file file)))))<br><br>#+cmu<br>(load-patches)<br><br>(setup-registry)<br>(fix-dpd)<br><br>(pushnew :cl-gd-gif *features*)<br><br>