[Bese-devel] Problems compiling 0.2.0 with CMUCL
Marco Baringer
mb at bese.it
Sat Mar 6 12:32:05 UTC 2004
On Sabato, mar 6, 2004, at 00:03 Europe/Rome, Jan Rychter wrote:
> Ah, ok, I see. Yes, I'd suggest just removing the other lists. Still, I
> do find the naming confusing -- I want to use UncommonWEB (UCW), so I
> go
> looking for... bese? Hmm.
Basically I don't think UCW, by itself, has enough of a community to
merit it's own mailing list, while ucw+yaclml+arnesi+FiveAM does.
> -+ Errors (2)
> |-- (during macroexpansion)
> | Error in FDEFINITION: the function APPLICATION.SESSION-TABLE is
> undefined.
> `-- (during macroexpansion)
> Error in FDEFINITION: the function APPLICATION.SESSION-TABLE is
> undefined.
well, well, well. Here's the problem. The file standard-application
defines the class standard-application which has an accessor
application.session-table which is not part of the protocol. That
accessor isn't defined unitl the defclass is executed, yet the
with-hash-table-iterator macro tries to analyze its args at macro
expansion time (this is probably a bug in cmucl), and doesn't find the
function application.session-table (at least this is my understanding
of the issue).
ucw-2004 at common-lisp.net/ucw--dev--0.2--patch-5 moves all the class
definitons into a seperate file (standard-classes.lisp) and loads that
before the code which uses the classes and the accessors, this should
fix the issue.
> If I may humbly suggest one more thing. It might seem that packaging
> all
> required libraries makes things easier for beginners -- but it
> doesn't. Now that we have portable ASDF-INSTALL (many thanks to Dan
> Barlow and Edi Weitz), installing things like acl-compat, xmls or UFFI
> is easy. If you include these libraries, there is a whole new class of
> problems: duplicate libraries, your modified versions (are they
> modified
> or not?), etc.
[Everyone has the right to humbly suggest anything, and is in fact
incorreged to do so.]
You are most certainly right, however there are the issues i have to
deal with when making a ucw release:
portableaserve - currently not asdf-installable. until very recently
the stable version was 18 months old and ucw requried the CVS version.
arnesi, yaclml and cl-icu - evolving with ucw, often ucw will depend on
development versions of these libraries.
xmls - the version included in yaclml is based on xmls version 1.0, but
has been heavily modified[1]
acl-compat and uffi - could easily be installed via asdf-install
So basically i could, if i so desired, distribute ucw via asdf-install
with just arnesi, yaclml and cl-icu and have instructions for getting
portableaserve and use asdf-install to grab uffi (since you have to get
portableaserve out of band anyway there's no need to also grab
acl-compat). Maybe when a version 1.0 comes out i'll do just that,
hopefully by that time (around 2018 :)) ucw will depend on stable,
released and asdf-installable versions of portableaserve, uffi,
acl-compat, yaclml, arnesi and cl-icu. Until then I think most people
who grab UCW don't really want to use it to do major work, they just
want to try it out, so asking them to change asdf:*central-registry*
doesn't seem like a big deal (to me).
Feedback welcome.
--
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