[bknr-devel] Can't even install bknr
Tchavdar Roussanov
troussan at gmail.com
Mon Feb 19 04:36:59 UTC 2007
Hi Marcin,
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.
Also you will need the latest versions of all thirdparty libraries in order
to compile with SBCL.
-Tchavdar
On 2/17/07, Marcin Tustin <mm3 at zepler.net> wrote:
>
> I'm trying to install bknr, but I can't get my lisp (sbcl) to find it.
>
> 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.
>
> 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}>:
> component "bknr" not found."
>
> ------------------
> init.lisp:
>
>
> (in-package :cl-user)
> (require :asdf)
>
> ;;;;;;;;;;;;;
> ;; Tweak this
> (eval-when (:execute :compile-toplevel :load-toplevel)
> #+allegro
> (setf (logical-pathname-translations "bknr")
> `(("**;*.*.*" "bknr/**/"))
> (logical-pathname-translations "bknr-thirdparty")
> `(("**;*.*.*" "thirdparty/**/"))
> (logical-pathname-translations "eboy")
> `(("**;*.*.*" "eboy/**/")))
>
> #+cmu
> (setf (logical-pathname-translations "bknr")
> `(("**;*.*.*" "home:bknr-sputnik/bknr/**/"))
> (logical-pathname-translations "bknr-thirdparty")
> `(("**;*.*.*" "home:bknr-sputnik/thirdparty/**/"))
> (logical-pathname-translations "eboy")
> `(("**;*.*.*" "home:bknr-sputnik/eboy/**/")))
>
> #+sbcl
> (setf (logical-pathname-translations "bknr")
> `(("**;*.*.*"
> ,(merge-pathnames
> (make-pathname :directory '(:relative "bknr-svn" "bknr"
> :wild-inferiors)
> :name :wild
> :type :wild
> :version :wild)
> (POSIX-GETENV "SBCL_HOME"))))
> (logical-pathname-translations "bknr-thirdparty")
> `(("**;*.*.*"
> ,(merge-pathnames
> (make-pathname :directory '(:relative "bknr-svn" "thirdparty"
> :wild-inferiors)
> :name :wild
> :type :wild
> :version :wild)
> (POSIX-GETENV "SBCL_HOME"))))
> (logical-pathname-translations "eboy")
> `(("**;*.*.*"
> ,(merge-pathnames
> (make-pathname :directory '(:relative "bknr-svn" "eboy"
> :wild-inferiors)
> :name :wild
> :type :wild
> :version :wild)
> (POSIX-GETENV "SBCL_HOME"))))))
>
> (eval-when (:execute :compile-toplevel :load-toplevel)
> #-sbcl
> (load #p"bknr-thirdparty:asdf;asdf")
> #+sbcl
> (require :asdf))
>
> (pushnew (translate-logical-pathname #p"bknr:src;")
> asdf:*central-registry* :test #'equal)
> (pushnew (translate-logical-pathname #p"eboy:src;")
> asdf:*central-registry* :test #'equal)
>
> (defparameter *patch-directory* "bknr:patches;")
>
> (defun load-patches (&optional (directory *patch-directory*))
> (dolist (file (directory (merge-pathnames directory #p"patch-*.lisp")))
> (warn "; Loading patch from file ~A~%" file)
> (load file)))
>
> (defun fix-dpd ()
> #+cmu
> ;; Die Sache mit dem aktuellen Verzeichnis hat CMUCL noch immer nicht im
> ;; Griff. Nachbessern!
> (setf *default-pathname-defaults*
> (pathname
> (concatenate 'string
> (nth-value 1 (unix:unix-current-directory))
> "/"))))
>
> (defun make-wild-pathname (type directory)
> (merge-pathnames (make-pathname :type type
> :name :wild
> :directory '(:relative :wild-inferiors))
> directory))
>
> (defun setup-registry ()
> (mapc #'(lambda (asd-pathname)
> (pushnew (make-pathname :directory (pathname-directory
> asd-pathname))
> asdf:*central-registry*
> :test #'equal))
> (append (directory #p"bknr-thirdparty:**;*.asd")
> (directory #p"bknr:**;*.asd"))))
>
> (defun clean-registry (&optional (dirs asdf:*central-registry*))
> (let ((files (mapcan #'directory
> (mapcan #'(lambda (dir)
> (when (pathnamep dir)
> (list (make-wild-pathname "fas" dir)
> (make-wild-pathname "lib" dir)
> (make-wild-pathname "x86f" dir)
> (make-wild-pathname "fasl" dir))))
> dirs))))
> (dolist (file files)
> (when (probe-file file)
> (format t "Deleting binary file ~S~%" file)
> (delete-file file)))))
>
> #+cmu
> (load-patches)
>
> (setup-registry)
> (fix-dpd)
>
> (pushnew :cl-gd-gif *features*)
>
>
> _______________________________________________
> bknr-devel mailing list
> bknr-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/bknr-devel/attachments/20070218/4656262b/attachment.html>
More information about the Bknr-devel
mailing list