proglog

主にプログラミングに関する断片的メモ

Kahuaをcygwinにインストールしてみる。

結論からいうと、なんとなく、動いてる感じ。
取り敢えず、

  • サンプルアプリケーションのlambda-booksにログインして、レビューを書いたら反映された。
  • 同じくwiki-ikiで新規ページを作成して日本語で書き込めた。

、ってとこまで。

以下は作業記録

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