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.