From: Michael J. Barillier
Subject: Upgrading CMU CL libraries
Date: 
Message-ID: <ul8u20ux67u.fsf@babu.pcisys.net>
Any suggestions on how to go about upgrading CMU CL libraries?  I'm
using 18b on Linux and it uses defsystem 3.0 from back in '95 or
something.  I've downloaded 3.2 from CLOCC and want to load it into my
core image, but it ain't working quite like the old
defsystem-library.x86f (I just specified defsystem.lisp as an
additional file to load) -- specifically, defsystem doesn't show up in
the list of loaded subsystems when cmucl starts, and the exported
symbols from the make package aren't imported into common-lisp-user
(`defsystem' is unbound, so I have to use `mk:defsystem' everywhere).

I guess what I'm looking for is something like,
"defsystem-library.x86f from defsystem.lisp in 2 Easy Steps".  Or a
dozen hard steps ...

Also, anyone have a code sample showing system setup and usage?  I've
put together a .system file that looks correct based on the doc I
found (somewhere), but when I do a `require' and an
`operate-on-system', oos returns NIL and nothing gets loaded.

-- 
Michael J. Barillier
<················@pcisys.net> <http://www.pcisys.net/~blackwolf/>

> (prin1 "OO *sucks*.")
From: Pierre R. Mai
Subject: Re: Upgrading CMU CL libraries
Date: 
Message-ID: <878zhx9dh6.fsf@orion.bln.pmsf.de>
"Michael J. Barillier" <·········@pcisys.net> writes:

Sorry for not answering earlier, but I was away.  Just in case nobody
answered by mail:

> Any suggestions on how to go about upgrading CMU CL libraries?  I'm
> using 18b on Linux and it uses defsystem 3.0 from back in '95 or
> something.  I've downloaded 3.2 from CLOCC and want to load it into my

I'd probably suggest that instead or in addition to upgrading
libraries, you might want to upgrade your whole installation to 18c,
which has been out for over half a year, and which corrects a number
of bugs.  If you can update, because you have a pre-glibc 2.1 system,
you might want to contact me, and I might try to compile glibc2.0
binaries of 18c.

> core image, but it ain't working quite like the old
> defsystem-library.x86f (I just specified defsystem.lisp as an
> additional file to load) -- specifically, defsystem doesn't show up in
> the list of loaded subsystems when cmucl starts, and the exported
> symbols from the make package aren't imported into common-lisp-user
> (`defsystem' is unbound, so I have to use `mk:defsystem' everywhere).

The missing imports are policy changes in DEFSYSTEM itself, and are
intended as such.  This means among other things that you need an
(in-package :MAKE) or similar form in your *.system files.

The fact that DEFSYSTEM isn't mentioned in the subsystems list is just
a cosmetic thing, and shouldn't affect anything.

> I guess what I'm looking for is something like,
> "defsystem-library.x86f from defsystem.lisp in 2 Easy Steps".  Or a
> dozen hard steps ...

Probably not necessary.  If you want the old behaviour, you can stay
with the old version, or you can update as you did and live with the
new behaviour.  Or hack the code...

> Also, anyone have a code sample showing system setup and usage?  I've
> put together a .system file that looks correct based on the doc I
> found (somewhere), but when I do a `require' and an
> `operate-on-system', oos returns NIL and nothing gets loaded.

You only need to do one or the other, since (require "SYSTEM") is
roughly equivalent to (mk:oos "SYSTEM" 'load).

If nothing is being done on either call, you might have a problem in
your system definition, and you might post that.

BTW:  Question specific to CMU CL might be answered more competently
on the CMU CL mailing lists at cons.org, like the cmucl-help list
(haven't caught up on that, so maybe you already did that.  In that
case, just ignore me...).

Regs, Pierre.

-- 
Pierre R. Mai <····@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein