Hello.
Please forgive me asking questions with probably obvious answers. I'm new to
the Lisp world in general, and to using Hunchentoot too.
Since I'm new, I had a lot of problems installing Hunchentoot... I had
successfully did it on two Ubuntu 10.4 machines, one 32 bit and another 64
bit both running last SBCL available from Ubuntu PPA. I had also tried to
record my experience so I could explain it to anyone who asked. I'm
effectively writing a mock-up server to do testing for the project that
otherwise runs in a different environment, yet, at some point I would like
other people to be also able to replicate my steps on installing the server
and running my code.
Major problems I encountered:
- ASDF does not update... (I know, you have nothing to do with this, yet
whenever the manual on the site mentions ASDF, it would be great if it would
take in account that ASDF not only may do things wrong, it most probably
will...). Long story short, I've tried to update ASDF following manual on
their site - never worked due to some missing methods or just reverting to
the last version w/o any notion. I've also tried building SBCL from sources.
The last version in development comes with latest ASDF version (2.0), yet
the installation instructions are bizarre and contradict themselves... At
the most successful point I could install what compiles from trunk, but in
order to run that version as root, I would need to specify the sbcl.core on
launch. I could also install Hunchentoot into this version of SBCL, but it
had problems with UFFI (separate story below). Various other packages in
this mode would report missing files or non-existing functions and so on. It
proved to be unusable.
- ASDF-INSTALL, similarly, trying to install from archive or from site
(clicky) were subsequently unsuccessful. Having only clean SBCL install,
ASDF-INSTALL would break at random trying to solve dependencies. I couldn't
find the pattern. By trial and error I found, that the combination of having
CL-PPCRE, USOCKET, CLOSER-MOP and CXML (!) would most of the time lead to
that Hunchentoot would be able to find all dependencies during install. This
happened 2 times out of maybe 8...
- There's some package, which during installation would break the display in
console... (the console will start displaying random non-printable
characters) It would also stop during compile offering different restarts,
where you are forced to play pitch-n-toss :) And if you are lucky, then the
console will recover.
- Finally, the most sure way I found was to just (require :hunchentoot)
using ASDF v 1 and resolve missing dependencies by hand. It would sometimes
break when trying to install CL-PPCRE, presumably due to another dependency
having something to do with Unicode, but it succeeded more often then
failed.
- UFFI - for all I tried it failed to compile and install properly always.
It looks like the errors are in *insignificant* tests, yet for an
unexperienced user this looks scary (mistyped pointers?!) :) Often the
errors when compiling this package will also break the installation started
by ASDF - it will not offer to skip the failed compilation, or so I
understood what happened. (I also saw some messages regarding omission of
"dead" code, while compiling this package - this also looks suspicious, why
would anyone release such code, and may there be any connection between
that, and that the code failed to compile in the end?)
Some weird things I saw during installation: an attempt was made to install
SLIME. It somehow got into dependency list of Hunchentoot... I've
encountered several times notion of 64-bit processor architecture in
different libraries related to Common Lisp as "PPC" - I never heard of this
abbreviation before in this context, (no pun intended), what does it mean?
This was one of really confusing places when reading the documentation (I
would assume it to be Apple Motoralla processor from 10 years ago). For
whatever other arcane reason Ubuntu / Debian tech papers call supported
64-bit processors AMD86 or AMD8664 (some of them having nothing to do with
AMD!).
Now, my question is, is my experience something you would expect a user to
undergo? Is SBCL an experimental brunch of Common Lisp, and, would I want to
develop in more stable environment, do I have to switch to another version
of CL? (Back in the days I've used CMUCL on Windows, albeit very shortly,
but I don't recall that many problems...) Or are Hunchentoot and SBCL not
really compatible, and the attempt to put them together makes it so
difficult?
Of course, most chances are I am doing something wrong :) Yet it would be
nice if someone more experience commented.
Oh, and btw, I've managed to then install CL-GD and use it with Hunchentoot,
for that I had to, again, delete some shared libraries in system folders and
rewrite Make file... It worked, as I said, but, again, I've a feeling I do
things the wrong way and it shouldn't be this difficult...
And, one last thing, if there are bugs filed against the server, is it
possible to view them somewhere? I've found few bug-trackers during my setup
exercises :) however, I'm not sure which is an official one.
Thank you.