1

目标:安装 Hunchentoot 并能够将 Hunchentoot 作为后台线程运行。

这就是我所做的:

  1. 安装 Common Lisp。
  2. 安装 Quicklisp。
  3. (ql:quickload "hunchentoot")
  4. (hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242))

最后一个命令应该启动 Hunchentoot,然后返回解释器以获取更多 Common Lisp 形式。

对于 CLISP、SBCL、ABCL、ECL 和 CCL,我得到以下两个结果之一:

  • Hunchentoot 的依赖 Bordeaux Threads 安装失败。
  • hunchentoot:start挂起。网页永远不会加载,也永远不会 404。
4

4 回答 4

1

AFAIK CLISP 和 SBCL 的 win32 实现不支持多线程,而 Hunchentoot 依赖于这个特性(依赖于波尔多线程)。Hunchentoot 与 Clozure Common Lisp 配合得很好。

于 2011-02-28T08:38:04.063 回答
1

LispWorks 是 Hunchentoot 设计的平台,可在所有三个操作系统上使用。

于 2011-02-28T15:04:47.593 回答
1

Lispbox提供了 CCL、CFFI、线程、Emacs 和 SLIME 的工作副本。Quicklisp 和 Hunchentoot 运行良好。还没有安装程序,但该死的东西可以工作:)

于 2011-03-01T11:34:39.273 回答
0

无论操作系统如何,如果这在 SBCL 中返回 nil,则需要启用线程:

(find :sb-thread *features*)

启用线程:使用预编译的 SBCL,从源代码编译最新版本,但请注意启用线程的安装说明。您将创建一个名为“customize-target-features.lisp”的文件以包含说明中给出的 lambda 表达式。(提示:从分离的“屏幕”内编译,重定向到日志文件或类似文件,因为终端窗口可能会成为 i/o 绑定,实际上会减慢编译速度。)

为 Linux 预编译的 SBCL 启用了线程,但为 MacOSX、FreeBSD 和 Windows 预编译的未启用线程。这可能会随着未来的版本而改变。

我已经确认在 MacOSX 10.6.6/x86-64 上使用当前版本的 SBCL(编译为启用线程)和 QuickLisp,您应该获得带有“Hunchentoot 1.1.1 (SBCL 1.0.46) 的“Hunchentoot 默认页面”在 localhost:4242" 访问http://localhost:4242/时。

于 2011-03-03T07:23:39.977 回答