[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
; #<PACKAGE "ASDF0">
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>
[3]>
> 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)
(LOAD)
* (use-system :cffi)
; loading system definition from /Lisp/cffi-061220/cffi.asd into
; #<PACKAGE "ASDF0">
[...]
* (use-system :rts :directory "/Users/hkt/rts/")
; loading system definition from /Users/hkt/rts/rts.asd into
#<PACKAGE "ASDF0">
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):