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>