[mcclim-devel] McCLIM 0.9.5 and sbcl 1.0.13

David N Murray dmurray at jsbsystems.com
Thu Jan 3 03:28:05 UTC 2008


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_002dmutex-430

-- 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




More information about the mcclim-devel mailing list