2011-02-28 85 views
1

目標:安裝Hunchentoot並能夠將Hunchentoot作爲後臺線程運行。在Mac,Windows和Linux上使用CFFI和線程支持的Common Lisp實現?

這是我做的:

  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的依賴波爾多線程無法安裝。
  • hunchentoot:start掛起。該網頁永遠不會加載,並且永遠不會404s。
+1

兩個Quicklisp和Hunchentoot有郵件列表,這將是第一個地址的支持。 – 2011-02-28 08:32:28

回答

1

Lispbox提供CCL,CFFI,線程,Emacs和泥的工作副本。 Quicklisp和Hunchentoot運作良好。沒有一個安裝程序還沒有,但混賬東西工程:)

1

AFAIK CLISP和SBCL的win32實現不支持多線程,而Hunchentoot依賴於此功能(依賴於Bordeaux線程)。 Hunchentoot在Clozure Common Lisp中運行良好。

1

LispWorks是在其Hunchentoot設計平臺,並適用於所有三種操作系統。

0

無論操作系統,如果這SBCL返回nil,你需要使線程:

(find :sb-thread *features*) 

啓用線程:使用預編譯SBCL,從源代碼編譯最新版本,但請注意INSTALL關於啓用線程的說明。您將創建一個名爲「customize-target-features.lisp」的文件,以包含說明中給出的lambda表達式。 (提示:從'屏幕'內部編譯分離,重定向到日誌文件或類似的,因爲終端窗口可能變成I/O界限並且實際上減慢了編譯。)

針對Linux預先編譯的SBCL啓用了線程,但爲MacOSX預編譯,FreeBSD和Windows沒有啓用線程。這可能會隨着未來的版本而變化

我已經確認在MacOSX 10.6.6/x86-64上使用當前版本的SBCL(編譯爲啓用線程)和QuickLisp,您應該將「Hunchentoot Default Page」與「Hunchentoot 1.1.1(SBCL 1.0.46)在localhost:4242「時訪問http://localhost:4242/