Drkcore

27 01 2009 lisp Tweet

macbookでaserveを動かす(失敗)

macbook+sbcl+aserve(asdfで入れた)で起動するとSB-THREADがないというエラー。

* (net.aserve:start :port 8888)

debugger invoked on a SIMPLE-ERROR:
PROCESS-PRESET: Calling a multiprocessing function on a single-threaded sbcl build

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

SB-THREAD付きでコンパイルしろということらしい。ソースのINSTALLに書いてある通りに customize-target-features.lispってファイルを作って、中に以下のように書いておく

(lambda (features)
  (flet ((enable (x)
           (pushnew x features))
         (disable (x)
           (setf features (remove x features))))
    ;; Threading support, available only on x86/x86-64 Linux, x86 Solaris
    ;; and x86 Mac OS X (experimental).
    (enable :sb-thread)))

で、インストール。これでOK。

さて、Common Lisp と AllegroServe(Aserve) で作る Web アプリケーションのサンプルを実行してみた。

* (net.aserve:start :port 8888)

#<NET.ASERVE:WSERVER port 8888 {12085CC9}>
* (net.aserve:publish
 :path "/"
 :content-type "text/html; charset=euc-jp"
 :function
 #'(lambda (req ent)
     (net.aserve:with-http-response
      (req ent)
      (net.aserve:with-http-body
       (req ent)
       (net.html.generator:html
        (:html
         (:head (:title "Hello World!"))
         (:body "Hello World!"
         :br "こんにちは!")))))))

#<NET.ASERVE:COMPUTED-ENTITY {12E5B679}>
* aserve-accept-6: 01/26/09 - 20:44:57 - accept: error 0 on accept invalid \
keyword argument: :AUTO-CLOSE (valid keys are
                          :INPUT, :OUTPUT, :ELEMENT-TYPE, :EXTERNAL-FORMAT,
                          :BUFFERING, :TIMEOUT).

なにがinvalid keyword argumentなのかわからん。linuxに入れたsbclだと快適に動いている(日本語は表示されないけど)。

これが動かないと実践Common Lispが先に進まないんだよなぁ。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021