Kahuaをcygwinにインストールしてみる。
結論からいうと、なんとなく、動いてる感じ。
取り敢えず、
- サンプルアプリケーションのlambda-booksにログインして、レビューを書いたら反映された。
- 同じくwiki-ikiで新規ページを作成して日本語で書き込めた。
、ってとこまで。
以下は作業記録
- cygwinは1.7.2-2。
- Gaucheはversion 0.9 [utf-8,pthreads], i686-pc-cygwin
- Kahuaは、 Download | info | Kahua ProjectにあるKahua 1.0.7.3 。
INSTALLに沿って、
./configure --prefix=/usr/local/kahua --with-site-bundle=$HOME/site make
まではよかったけど、make checkでエラー。
しかし、気にせずインストール続行。
サイトバンドルというのは、サンプルのwebアプリケーションをインストールするディレクトリの設定みたい。
make install /usr/local/kahua/bin/kahua-package create ~/site rm ~/site/app-servers make install-examples /usr/local/kahua/bin/kahua-spvr -H localhost:8888 -S ~/site
途中のrmを抜かしたような気がする。多分、これは大事。
checkでこけてるので当然起動しない。
どうやらunixソケットを作るところでおかしくなってっぽい。
ちゃんとした変更の仕方が分からないので、ソースを直接いじる。
対象は以下の4つ。
ただ、ポイントは全部一緒で、
(kahua-sock (make-server-socket sockaddr :reuse-addr? #t :backlog SOMAXCONN))
こんな感じのところを、
(kahua-sock (make-server-socket sockaddr :reuse-addr? #t :backlog 5))
にしただけ。
それぞれ、1ヶ所ずつ。
どうもこの、SOMAXCONNがとんでもなく大きな値になっちゃうらしい。
そう言えば、make checkのこけたテストもそんなようなメッセージを出してたような気がする。
なんだろうか。
もう一点、ダウンロードしたソースのsamplesディレクトリからapp-servers.sampleを、app-serversとして~/siteにコピー。
途中の手順を一つ抜かした影響か。
これでhttp://localhost:8888にアクセスしたらlambda-booksが現れた!
make checkのログは以下の通り。
make check cd src; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/src' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/src' cd cgi; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/cgi' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/cgi' cd emacs; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/emacs' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/emacs' cd plugins; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/plugins' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/plugins' cd examples; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/examples' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/examples' cd test; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/test' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/test' cd doc/Modules; make all make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/doc/Modules' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/doc/Modules' cd test; make check make[1]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/test' rm -f test.log make test-xml persistence rollback entry-method user config gsid session partcont server kahua-dbm worker redirectcont define-method-rule kahua-call-with-current-context lambdabooks wiki-iki nqueen foldlist spvr httpd admin developer shell sandbox plugin query make[2]: Entering directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/test' Testing kahua.test.xml ... passed. Testing persistence/efs (efs:_tmpefs) ... failed. discrepancies found. Errors are: test write in other transaction: expects 1 => got 0 Testing index slots (efs) ... passed. Testing rollback ... *** ERROR: small integer required, but got 2147483647 Stack Trace: _______________________________________ 0 (report-error e) At line 237 of "../src/kahua-server.scm" 1 (make-server-socket sockaddr :reuse-addr? #t :backlog SOMAXCONN) At line 135 of "../src/kahua-server.scm" 2 (run-server worker-id sockaddr profile) At line 241 of "../src/kahua-server.scm" 3 (call/cc (lambda (bye) (define (finish-server sig) (log-format "[~ ... At line 227 of "../src/kahua-server.scm" gosh: "error": "(input string port)":line 1: #\#' unexpected make[2]: *** [rollback] Error 1 make[2]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/test' make[1]: *** [check] Error 2 make[1]: Leaving directory `/home/devel/scheme/gauche/Kahua-1.0.7.3/test' make: *** [check] Error 2