Hi all,
I'm having trouble installing McCLIM 0.9.5 using sbcl 1.0.13:
* (asdf::oos 'asdf:load-op :mcclim)
; loading system definition from /home/dnm/.sbcl/systems/mcclim.asd into ; #<PACKAGE "ASDF0"> ; registering #<SYSTEM :CLIM-LISP {B09B461}> as CLIM-LISP [snip registering stuff that already compiled cleanly] ; registering #<SYSTEM CLX {B152BD1}> as CLX
debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" {A712661}>: The value :LOCKED is not of type (OR NULL SB-THREAD:THREAD).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry performing #<ASDF:LOAD-OP NIL {A8C9A89}> on #<ASDF:CL-SOURCE-FILE "mp-sbcl" {A8C9A99}>. 1: [ACCEPT] Continue, treating #<ASDF:LOAD-OP NIL {A8C9A89}> on #<ASDF:CL-SOURCE-FILE "mp-sbcl" {A8C9A99}> as having been successful. 2: [ABORT ] Exit debugger, returning to top level.
(SB-THREAD:GET-MUTEX #<unavailable argument> #<unavailable argument> #<unavailable argument>) 0]
source code causing the error: mp-sbcl.lisp:63 (defvar *permanent-queue* (sb-thread:make-mutex :name "Lock for disabled threads")) (unless (sb-thread:mutex-value *permanent-queue*) (sb-thread:get-mutex *permanent-queue* :locked nil))
Current sbcl docs (1.0.12.36): http://www.sbcl.org/manual/Mutex-Support.html#index-sb_002dthread_003aget_00...
-- Function: sb-thread:get-mutex mutex &optional new-owner waitp
Acquire mutex for new-owner, which must be a thread or nil. If new-owner is nil, it defaults to the current thread. If waitp is non-NIL and the mutex is in use, sleep until it is available.
and the sbcl source: target-thread.lisp:231: (defun get-mutex (mutex &optional (new-owner *current-thread*) (waitp t))
Am I missing something? I don't see a :LOCKED parameter there. I'm not sure how to fix it, since I don't know what the :LOCKED parameter was supposed to do. I checked the 1.0.4 sources and this function hasn't changed it's signature.
If I just blow through that (0 in the debugger), the next one I see is:
; READ failure in COMPILE-FILE: ; SB-INT:SIMPLE-READER-PACKAGE-ERROR at 14454 (line 380, column 62) on #<SB-SYS:FD-STREAM for "file /home/dnm/.sbcl/site/mcclim-0.9.5/builtin-commands.lisp" {B4AEA89}>: ; Symbol "READER-PACKAGE-ERROR" not found in the SB-KERNEL package. ; compilation aborted after 0:00:01
and the line that causes the error in builtin-commands.lisp is trying to call SB-KERNEL:READER-PACKAGE-ERROR. I can't even find any docs on the SB-KERNEL package. I did, however, find a define-condition for simpler-reader-package-error in conditions.lisp that looks close.
I did find a define-condition for reader-package-error in sbcl 1.0.4 (I don't have any other versions of sbcl source handy). I tried to change the builtin-commands.lisp source to try reader-error, simple-reader-package-error, and simple-reader-error but sbcl complains that all of them are not external to the sb-kernel package.
Thoughts?
TIA, Dave
(pardon the reply to my own post)
On Jan 2, David N Murray scribed:
Hi all,
I'm having trouble installing McCLIM 0.9.5 using sbcl 1.0.13:
- (asdf::oos 'asdf:load-op :mcclim)
; loading system definition from /home/dnm/.sbcl/systems/mcclim.asd into ; #<PACKAGE "ASDF0"> ; registering #<SYSTEM :CLIM-LISP {B09B461}> as CLIM-LISP [snip registering stuff that already compiled cleanly] ; registering #<SYSTEM CLX {B152BD1}> as CLX
debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" {A712661}>: The value :LOCKED is not of type (OR NULL SB-THREAD:THREAD).
I found a message in the November archives where this was fixed in the cvs version and made the same change to my 0.9.5 source. Maybe I should just use the cvs version. Sorry for not going back far enough when I first looked for this.
[snip]
If I just blow through that (0 in the debugger), the next one I see is:
; READ failure in COMPILE-FILE: ; SB-INT:SIMPLE-READER-PACKAGE-ERROR at 14454 (line 380, column 62) on #<SB-SYS:FD-STREAM for "file /home/dnm/.sbcl/site/mcclim-0.9.5/builtin-commands.lisp" {B4AEA89}>: ; Symbol "READER-PACKAGE-ERROR" not found in the SB-KERNEL package. ; compilation aborted after 0:00:01
I replaced the line raising the error to call sb-kernel::reader-error since reader-package-error was just a wrapper around reader-error and the :: got me around the not-exported error. Not pretty, but functional.
That got the build to finish. These look like they may cause problems, though:
; caught WARNING: ; These variables are undefined: ; CLIM-CLX::*CLX-PORT* CLIM-CLX::*FONTSET* CLIM-INTERNALS::*SYS-%READ-LIST-EXPRESSION* DREI-LISP-SYNTAX::+CL-GARBAGE-KEYWORDS+ DREI-LISP-SYNTAX::|initial-state |
I haven't investigated them yet, though. I'll just wait for the runtime error.
Thanks, Dave