From eadmund42 at gmail.com Sun Jun 24 19:51:59 2007 From: eadmund42 at gmail.com (Robert Uhl) Date: Sun, 24 Jun 2007 13:51:59 -0600 Subject: [lift-devel] LIFT Bug with SBCL: SYSTEM-RELATIVE-PATHNAME Message-ID: Installing using ASDF-INSTALL. ; loading system definition from /usr/lib/sbcl/site-systems/lift-test.asd ; into # ; registering # as lift-test ; loading system definition from /usr/lib/sbcl/site-systems/lift.asd into ; # ; registering # as lift ; compiling file "/usr/lib/sbcl/site/lift/dev/packages.lisp" (written 23 JUN 2007 01:06:14 PM): ; compiling (in-package #:common-lisp-user) ; compiling (unless (find-package #) ...) ; /usr/lib/sbcl/site/lift/dev/packages.fasl written ; compilation finished in 0:00:00 ; compiling file "/usr/lib/sbcl/site/lift/dev/measuring.lisp" (written 23 JUN 2007 01:06:14 PM): ; compiling (in-package #:lift) ; compiling (declaim (optimize # ...)) ; compiling (defmacro with-measuring ...) ; compiling (defmacro measure-time ...) ; compiling (defmacro measure-conses ...) ; compiling (defun measure-fn ...) ; file: /usr/lib/sbcl/site/lift/dev/measuring.lisp ; in: defun measure-fn ; (APPLY LIFT::FN LIFT::ARGS) ; --> MULTIPLE-VALUE-CALL ; ==> ; (SB-KERNEL:%COERCE-CALLABLE-TO-FUN LIFT::FN) ; ; note: unable to ; optimize away possible call to FDEFINITION at runtime ; due to type uncertainty: ; The first argument is a (or function symbol), not a function. ; (LIFT::MEASURE-CONSES (LIFT::BYTES) ; (SETF LIFT::RESULT (APPLY LIFT::FN LIFT::ARGS))) ; --> LIFT::WITH-MEASURING LET SETF SETQ THE ; ==> ; (- (LIFT::TOTAL-BYTES-ALLOCATED) #:G38) ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a rational. ; The second argument is a number, not a float. ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a float. ; The second argument is a number, not a rational. ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a single-float. ; The second argument is a number, not a double-float. ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a double-float. ; The second argument is a number, not a single-float. ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a (complex single-float). ; The second argument is a number, not a (complex single-float). ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a (complex single-float). ; The second argument is a number, not a real. ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a real. ; The second argument is a number, not a (complex single-float). ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a (complex double-float). ; The second argument is a number, not a (complex double-float). ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a (complex double-float). ; The second argument is a number, not a real. ; ; note: unable to ; optimize ; due to type uncertainty: ; The first argument is a number, not a real. ; The second argument is a number, not a (complex double-float). ; ; note: forced to do generic-- (cost 10) ; unable to do inline float arithmetic (cost 2) because: ; The first argument is a t, not a double-float. ; The second argument is a t, not a double-float. ; The result is a (values number &optional), not a (values double-float ; &rest t). ; unable to do inline float arithmetic (cost 2) because: ; The first argument is a t, not a single-float. ; The second argument is a t, not a single-float. ; The result is a (values number &optional), not a (values single-float ; &rest t). ; etc. ; (LIFT::MEASURE-TIME (LIFT::SECONDS) ; (LIFT::MEASURE-CONSES (LIFT::BYTES) ; (SETF LIFT::RESULT ; (APPLY LIFT::FN ; LIFT::ARGS)))) ; --> PROG1 LET LIFT::WITH-MEASURING LET SETF SETQ THE ; ==> ; (- (GET-INTERNAL-REAL-TIME) #:G37) ; ; note: forced to do generic-- (cost 10) ; unable to do inline fixnum arithmetic (cost 2) because: ; The first argument is a unsigned-byte, not a fixnum. ; The second argument is a unsigned-byte, not a fixnum. ; The result is a (values integer &optional), not a (values fixnum &rest t). ; unable to do inline (signed-byte 32) arithmetic (cost 5) because: ; The first argument is a unsigned-byte, not a (signed-byte 32). ; The second argument is a unsigned-byte, not a (signed-byte 32). ; The result is a (values integer &optional), not a (values ; (signed-byte 32) &rest ; t). ; etc. ; --> PROG1 LET SETF SETQ THE COERCE THE ; ==> ; (SB-KERNEL:%DOUBLE-FLOAT SB-C::X) ; ; note: forced to do full call ; unable to do inline float coercion (cost 5) because: ; The first argument is a rational, not a (signed-byte 32). ; unable to do inline float coercion (cost 6) because: ; The first argument is a rational, not a (unsigned-byte 32). ; compiling (defmacro measure ...)compilation aborted because of fatal error: read failure in compile-file: READER-ERROR at 1069 (line 39, column 32) on #: Symbol "SYSTEM-RELATIVE-PATHNAME" not found in the ASDF package. ; /usr/lib/sbcl/site/lift/dev/measuring.fasl written ; compilation finished in 0:00:01 warning: COMPILE-FILE warned while performing # on #. ; ; compilation unit aborted ; caught 2 fatal ERROR conditions ; printed 14 notes ; Evaluation aborted cl-user> -- Robert Uhl No wonder Unix makes you feel boxed in. It ties you to an inflexible system. It requires you to pay for expensive experts. It makes you struggle daily with a server environment that's more complex than ever. --Microsoft ad proving that irony isn't dead From gwking at metabang.com Tue Jun 26 23:05:15 2007 From: gwking at metabang.com (Gary King) Date: Tue, 26 Jun 2007 19:05:15 -0400 Subject: [lift-devel] LIFT Bug with SBCL: SYSTEM-RELATIVE-PATHNAME In-Reply-To: References: Message-ID: <4F5E7A6D-E6D9-40C9-87C6-4077CDD0A637@metabang.com> Hi Robert, Thanks for this bug report. The problem appears to be that SBCL doesn't have the latest version of ASDF included (or, at least, your version of SBCL doesn't). This is the definition > (defun system-source-file (system-name) > (let ((system (asdf:find-system system-name))) > (make-pathname > :type "asd" > :name (asdf:component-name system) > :defaults (asdf:component-relative-pathname system)))) > > (defun system-source-directory (system-name) > (make-pathname :name nil > :type nil > :defaults (system-source-file system-name))) > > (defun system-relative-pathname (system pathname &key name type) > (let ((directory (pathname-directory pathname))) > (when (eq (car directory) :absolute) > (setf (car directory) :relative)) > (merge-pathnames > (make-pathname :name (or name (pathname-name pathname)) > :type (or type (pathname-type pathname)) > :directory directory) > (system-source-directory system)))) > Please let me know if there is anything else I can do to help, -- Gary Warren King, metabang.com Cell: (413) 885 9127 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM