[Bese-devel] Problems compiling 0.2.0 with CMUCL
Marco Baringer
mb at bese.it
Thu Mar 25 23:43:11 UTC 2004
On Giovedì, mar 25, 2004, at 22:32 Europe/Rome, Jan Rychter wrote:
> Ok, the continuing saga of problems.
we need a name for this soap opera.
> I've gotten past the problems with acl-compat on CMUCL (notably it
> having a strange way of loading gray-streams which fails and it
> redefining without-package-locks).
i think rudi fixed that in a recent enough acl-compat, i seem to recall
talking to him about that exact issue.
> I am now at a stage when yaclml and ucw compile and load
> fine.
yippy! were there any specific changes you needed to make to yoclml or
ucw? are there some hints i should put into the docs?
> ucw.mod-lisp also compiles fine, but when I try to load it, I get:
>
> Attempt to modify the locked package COMMON-LISP, by redefining
> function
> STREAM
> [Condition of type LISP::PACKAGE-LOCKED-ERROR]
ok, this is a mistake. the class mod-lisp-message has a slot named
stream (the stream connected to apache) with an accessor named stream.
we don't use that accessor, so it could just as well be removed.
> Attempting to continue unlocking the package (option [1]) results in:
>
>
> Execution of a form compiled with errors:
this is, afaict, a cmucl odity. basically this is the same problem we
had with the standard-whatever classes. the other thing to note is that
when you get an "Execution of a form compiled with errors" it's the
compiliation pass which has failed, you need to retry compiling that
file to see what the real error is.
Anyway, sometimes (i can't seem to understand when) CMUCL wants class
definitions to be loaded before it can compile code which uses the
accessor defined in the defclass form. In this particular case we have
the method print-object which uses the raw-url accessor defined in a
defclass in that same file. attempting to compile the file without
loading it first gives this error. you have two (or three) options: 1)
move the defclass form into an eval-when or another file, 2) use
(slot-value object 'raw-url) as opposed to (raw-url object) and 3) talk
to some people who know cmucl better than I and see whats really going
on.
hope this helps.
--
Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
-Leonard Cohen
More information about the bese-devel
mailing list