Hi Marcin,<br><br>I think that the value of your $SBCL_HOME  ends with 'sbcl' without '/'.  In this case  merge-pathnames will consider sbcl as a regular file name and will remove it. Check the value of asdf:*central-registry* after loading the 
init.lisp file. It should contain paths to all directories with *.asd files.<br><br>Also you will need the latest versions of all thirdparty libraries in order to compile with SBCL.<br><br>-Tchavdar<br><br><div><span class="gmail_quote">
On 2/17/07, <b class="gmail_sendername">Marcin Tustin</b> <<a href="mailto:mm3@zepler.net">mm3@zepler.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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>
<br>_______________________________________________<br>bknr-devel mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bknr-devel@common-lisp.net">bknr-devel@common-lisp.net</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel" target="_blank">
http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel</a><br><br></blockquote></div><br>