[CM] linux, sbcl, osc patch

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Mon, 03 Dec 2007 17:36:28 -0800


On Mon, 2007-12-03 at 17:41 -0600, Rick Taube wrote:
> I mean "/user/h/hkt" ...
> 
> * (trace load)
> 
> (LOAD)
> 
> * (probe-file  "/user/h/hkt/cffi-070221/cffi.asd")
> 
> #P"/user/h/hkt/cffi-070221/cffi.asd"
> 
> * (pushnew "/user/h/hkt/cffi-070221/"  asdf::*central-registry*)
> 
> ("/user/h/hkt/cffi-070221/" "/user/h/hkt/cm/"
>   (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME))
>   (LET ((ASDF::HOME (SB-EXT:POSIX-GETENV "SBCL_HOME")))
>     (WHEN ASDF::HOME (MERGE-PATHNAMES "site-systems/" (TRUENAME  
> ASDF::HOME))))
>   *DEFAULT-PATHNAME-DEFAULTS*)

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. 

Apparently you should be able to override the load path of systems:

* asdf::*central-registry*

(#P"/zap/test/cffi/" "/zap/test/cm/"
 (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME))
 (LET ((ASDF::HOME (POSIX-GETENV "SBCL_HOME")))
   (WHEN ASDF::HOME (MERGE-PATHNAMES "site-systems/" (TRUENAME
ASDF::HOME))))
 *DEFAULT-PATHNAME-DEFAULTS*)

Expanding the code to see what we get:

* (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME))

#P"/user/n/nando/.sbcl/systems/"

You are not using this one...
And:

* (LET ((ASDF::HOME (POSIX-GETENV "SBCL_HOME")))
   (WHEN ASDF::HOME (MERGE-PATHNAMES "site-systems/" (TRUENAME
ASDF::HOME))))
 *DEFAULT-PATHNAME-DEFAULTS*)
#P"/usr/lib/sbcl/site-systems/"

But this is empty as well. It looks like I'm installing directly in the
system directory and overrides for that don't seem to work. I'll see
what I need to do to install in /usr/lib/sbcl/site-systems/, which may
be overridable (will not know till I try). 

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

-- Fernando