Codebase list cl-portable-aserve / debian/1.2.42+cvs.2007.05.07-dfsg-3 README.cmucl
debian/1.2.42+cvs.2007.05.07-dfsg-3

Tree @debian/1.2.42+cvs.2007.05.07-dfsg-3 (Download .tar.gz)

README.cmucl @debian/1.2.42+cvs.2007.05.07-dfsg-3raw · history · blame

Hey emacs, this is -*- text -*-


CMU Common Lisp-specific requirements



0. Executive summary


   To begin, just load INSTALL.lisp.  Then, load
   aserve/examples/examples.cl and start the server with

(net.aserve:start :port 8080)

   If you experience problems or want to get rid of some annoying
   warnings, read on.



1. Man, this is S_L_O_W!  This is unusable!


   Chances are you are an experienced user and loaded aserve through
   asdf (see next section on some words about that) instead of loading
   INSTALL.lisp.  If so, you will likely be experiencing request
   answer times of about 1 second -- per request, so you can see these
   1 pixel transparent GIFs arrive one after the other ...

   Take a look at INSTALL.lisp or the function
   cl-user::init-aserve-cmu in aserve.asd.  Once the multiprocessing
   is initialized by one of these methods, the server will be quite a
   bit more responsive.



2. asdf (Another System Definition Facility)


   asdf is Dan Barlow's CLOSsy defsystem facility.  A defsystem is the
   Lisp equivalent of the Unix "make" utility; i.e. we can tell it to
   compile / load a system, and it knows what files to operate on in
   what order.  For further information about asdf, start at
   <URL:http://ww.telent.net/cliki/asdf>.

   Since asdf is not (yet?) included with Common Lisp implementations,
   we have placed it in the contrib/ directory.  The maintainers will
   try to keep the included version synched with upstream.  Please
   write to portableaserve-discuss@lists.sourceforge.net if you notice
   our version has grown old!

   If you want to get rid of the (harmless) warnings during
   INSTALL.lisp, load asdf in your Lisp initialisation file
   ~/.cmucl-init.  If you do that, you might also want to add a
   location for ASDF systems to the variable ASDF:*CENTRAL-REGISTRY*,
   for example

(push "/home/rudi/lisp/systems/" asdf:*central-registry*)

   Then link all the asd files to that path, with something like:

$ ln -sf /home/rudi/lisp/portableaserve/acl-compat/acl-compat.asd ~/systems/
$ ln -sf /home/rudi/lisp/portableaserve/aserve/aserve.asd ~/systems/
$ ln -sf /home/rudi/lisp/portableaserve/aserve/htmlgen/htmlgen.asd ~/systems/

   After all that hassle, what's in it for you?  Well, from then on,
   you can just evaluate

(asdf:operate 'asdf:load-op :aserve)

   to load AllegroServe, and systems of your own can depend on aserve
   if they use it, so that it gets loaded automatically when needed.
   In that case, have a look at the multiprocessing workarounds in
   INSTALL.lisp or the function cl-user::init-aserve-cmu (defined in
   aserve.asd); one of these is needed, or you will be unhappy with
   the request answer times you get :)



3. Gray streams


   Portable Allegroserve needs Gray stream support in the Lisp image
   it's running in.  The file acl-compat.asd should load the required
   files automatically, if gray streams are not yet present in the
   Lisp image during system compile / load.  If you experience
   problems, please report them to the portableaserve mailing list; be
   sure to include your version of cmucl, where you obtained it, where
   its files are placed in your system, etc.  Failing to cleanly load
   acl-compat.asd is considered a bug; don't hesitate to report it as
   such.  As it is, users reported success both on Debian systems and
   with the cmucl distribution from cons.org, so it will likely Just
   Work (tm).


Have fun,

Rudi Schlatte
rudi@constantly.at