logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

CL-HTTP, CMUCL & Debian: msg#00011

Subject: CL-HTTP, CMUCL & Debian
I'm a Lisp noob, though I've been examining/tinkering w/Emacs Lisp
sporadically for years and am currently working my through Paul
Graham's "ANSI Common Lisp" (and have already done most of Touretzky's
"Gentle Introduction").

I have, however, been actively programming for 25 years (started out
on punch card COBOL and Assembler in the military), worked my way
through a number of architectures/languages since, and finally decided
Lisp is what I've been seeking - Python sure helped to get me ready
for it, though.

I've done a fair bit of web app building (Java/XML/web services during
the 'dot bomb' thing, and a good bit in Python/Twisted more recently),
and it seems to me that Lisp is a 'no brainer' for such things (among
many, many others!).  Plus, I always seem to learn faster when I have
something 'real' to do, so I'd really like to get a Lisp-based web
server running.

Or as they might say on Slashdot:
1) Learn Lisp.
2) Get CL-HTTP running on Debian.
3) ???
4) Profit!!!

CL-HTTP looks to be more production ready than Araneida (by a loooong
shot), plus it looks like there is at least rudimentary threading
available via CL-HTTP on my chosen platform (see below) - though I'm
also considering a 'select-based' asynch approach similar to Twisted's
for web serving and manually managing a thread pool just for the
database queries (Twisted does this for one already, but I could
always port!  I think. ;-D)

I've looked at Scheme-y things, and I don't think I want to go there,
though it _was_ interesting to follow the occasional discussions on
server-side continuations - specifically call/cc, IIRC - as a way to
implement a sort of modal interface to web applications.  (Personally,
I can't see it ever working cleanly with the standard browsers, and
saving app state on the browser side too horrific security-wise to
seriously consider actually doing.)

Anyway - I'm (trying to get) running on:

* Debian Woody, (kernel 2.2.25),

* CMU Common Lisp release x86-linux 3.0.8 18c+ 31 December 2001 build
  3030,

* CL-HTTP 70.190a (I couldn't find a tarball w/o the 'a'; 'a's and
'.0's bother me, I prefer to create my own bugs, thanks!)

* my local home network, which is inside a firewall/router?/NAT box on
  a DSL line.
 
CMUCL is via the Debian package, CL-HTTP is from the tarball.

Are these versions remotely compatible?  I really don't know, though
judging from the 'readme.text' in CL-HTTP's distribution it looks like
they should be - except maybe on the threading side, due to the old
Linux kernel (and thus libs)?

Cut to the chase:
if I stumble my through the compile-time debugger prompts, CL-HTTP
offers to start, I consent, it goes into a 'retrying in nn seconds'
loop attempting to open http://my.host.name:80 (same thing when
running as root), even though I asked for port 8000 in
'examples/configuration.lisp', and it _does_ seem have to picked up
*http-host-name* properly from the same file.  (It's all still 'magic'
to me, though!)

The gruesome details:
When I load 'start.lisp' and compile, I'm getting a few compile
errors: one or two I have no real clue about, the rest are 'set
defaults?', which if I had to guess, means I should look in the files
and then set a special form (at the toplevel?) to appropriate values.

Problem 1:
<snip>
Error in function COMMON-LISP::FOP-EVAL-FOR-EFFECT:
   Attempt to load a file having a compile-time read error.
also displays, in the same 'break' screen:
...
(COMMON-LISP::FOP-EVAL-FOR-EFFECT)
Source: Error finding source: 
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no
  longer exists: target:code/load.lisp.
</snip>
(in file cmucl/server/unix.x86f)

There are 'code' directories in 'contrib/janderson/xml-2001-10-03/',
but no 'load.lisp'; there exist 'load.lisp's in 'acl/jkf/', but not
under 'code'.


Problem 2:
<snip>
Error in function C::DO-CALL: Attempt to reference undumpable
constant.
...

(C::DO-CALL #<Code Object "Top-Level Form" {486AADC7}> 89 90 35 ...)
Source: Error finding source: 
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no
   longer exists: target:code/byte-interp.lisp.
</snip>
(in file server/html2.x86f)

Others:
1) "Error in C::DO-CALL: the function HTTP-USER-EMAIL-ADDRESS is
   undefined."

Should I define a top level special form for this?

2,3,4,...n)"The value of DEFAULTS is NIL, which is not of type
STRING."
1: [CONTINUE ] Return NIL from load of "http:examples;documentation".
2: Return NIL from load of examples/exports.x86f

The example 2,3,4..n) above is representative and primarily issued
from 'http:examples;something' - before I waste a lot of time here,
does anyone have any suggestions?


If anyone reads this far, thanks!

And TIA,

+Chris

-- 

Democracy: The worship of jackals by jackasses.
-- H.L. Mencken




<Prev in Thread] Current Thread [Next in Thread>