[CM] linux, sbcl, osc patch

Rick Taube taube at uiuc.edu
Tue, 4 Dec 2007 06:15:07 -0600

> Well, I don't know how asdf works (AFAIK you started using it in cm  
> - I
> then tried to replicate that for clm and cmn and it was a pain to get
> everything packaged).
> Furthermore, you are using "use-system" to load systems, which is a
> function supplied by Common Music itself, with its own logic.

nando its got nothing to do with cm or with use-system -- its ASDF  
thats having a problem. even if i zero out *central-registry* on  
ccrma it still looks under sbcl.

* (setq asdf::*central-registry* ())

* (progn
        (trace load)
        (pushnew "/user/h/hkt/cffi-070221/"  asdf::*central-registry*)
        (asdf::oos 'asdf:load-op 'cffi)

; loading system definition from /usr/lib/sbcl/cffi/cffi.asd into
   0: (LOAD #P"/usr/lib/sbcl/cffi/cffi.asd")
; registering #<SYSTEM CFFI {B414669}> as CFFI
   0: LOAD returned T
   0: (LOAD #P"/usr/lib/sbcl/cffi/src/utils.fasl")
   0: LOAD returned T
   0: (LOAD #P"/usr/lib/sbcl/cffi/src/features.fasl")
   0: LOAD returned T

this sounds to me like a probelm with sbcl's support of asdf. asdf is  
working in CLISP on CRRMA:

[1]> (use-system :cffi)
; loading system definition from /user/h/hkt/cffi-070221/cffi.asd  
into #<PACKAGE ASDF7907>
;; Loading file /user/h/hkt/cffi-070221/cffi.asd ...
; registering #<SYSTEM CFFI #x218037AE> as CFFI
;; Loaded file /user/h/hkt/cffi-070221/cffi.asd

[2]> (use-system :portmidi)
; loading system definition from /user/h/hkt/portmidi/portmidi.asd  
into #<PACKAGE ASDF8275>
;; Loading file /user/h/hkt/portmidi/portmidi.asd ...
; registering #<SYSTEM :PORTMIDI #x21821BC6> as PORTMIDI
;; Loaded file /user/h/hkt/portmidi/portmidi.asd
;; Compiling file /user/h/hkt/portmidi/cffi-portmidi.lisp ...
;; Wrote file /user/h/hkt/portmidi/cffi-portmidi.fas
;; Loading file /user/h/hkt/portmidi/cffi-portmidi.fas ...
;; Loaded file /user/h/hkt/portmidi/cffi-portmidi.fas
0 errors, 0 warnings
#<ASDF:SYSTEM "portmidi" #x217F8C9E>

> I also tried to use use-system's :directory option but that one  
> does not
> work either. You could ask whoever wrote use-system :-) ;-) :-p

use-system is built ON TOP of asdf. use-system is a convenience  
function for people working in cm that have installed their lisp  
systems under a common ("system") directory. if asdf works  
then :directory works and if asdf doesn't respect directories then  
neither will use-system.   here on my machine  in SBCL i am loading  
cffi from its ususal place, then I load rts under a differnent  
directory than its usual place:

galen:/Lisp hkt$ cm -l sbcl

* (trace load)


* (use-system :cffi)

; loading system definition from /Lisp/cffi-061220/cffi.asd into

* (use-system :rts :directory "/Users/hkt/rts/")

; loading system definition from /Users/hkt/rts/rts.asd into  
   0: (LOAD #P"/Users/hkt/rts/rts.asd")
; loading #P"/Users/hkt/rts/rts.asd"
; registering #<SYSTEM :RTS {11AE05F9}> as RTS
   0: LOAD returned T
; compiling file "/Users/hkt/rts/cffi-scheduler.lisp" (written 04 DEC  
2007 05:23:25 AM):