[bknr-devel] Can't even install bknr

Hans Hübner hans at huebner.org
Sun Feb 18 15:06:52 UTC 2007


Hi Martin,

as I wrote, I don't currently use BKNR with sbcl, so I can't really
comment on the problems you have.  It should not be too hard to get
going, though.  A proper SBCL port would be nice, but if you want to
do this, please make sure that cmucl compilation is not broken
afterwards and that you don't put in any new functionality.

Last time I have tried the problem with SBCL was that the thirdparty
releases included in the bknr Subversion repository don't play nice
with SBCL and the other way round.  You may want to try checking out
svn://common-lisp.net/project/bknr/svn/branches/grin-neu which has the
SBCL related patches I did a few weeks ago.

-Hans

2007/2/18, Marcin Tustin <mm3 at zepler.net>:
> On 2/18/07, Hans Hübner <hans at huebner.org> wrote:
> > Hi,
> >
> > it is sad that you can't "even" install bknr.  As it seems, your
> > problem is related to asdf really.  You could try using the
> > "setup-registry" function from tools/make-core.lisp or manually
> > symlink bknr's asdf files to your system repository and try again.
>
> What do you mean by "system repository"?
> tools/make-core.lisp doesn't load, giving the error message: "
>   READER-ERROR at 45 (line 3, column 22) on #<SB-SYS:FD-STREAM for "file
> /usr/lib/sbcl/bknr-svn/tools/make-core.lisp" {AE2ABC9}>:
> package "EXT" not found
> "
>
>
> > I am aware that bknr does not come with a user friendly install
> > procedure, but I do not have the time to change that presently.
>
> I'm willing to contribute some sort of script or documentation if I can
> actually figure out how to install bknr. However, I will need some help to
> install it.
>
> > Best regards,
> > Hans
> >
> > 2007/2/17, Marcin Tustin < mm3 at zepler.net>:
> > > 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
> > >
> > >
> >
>
>



More information about the Bknr-devel mailing list