インストール

まずは、自分のマシーンにKahuaをインストールします。

インストールするバックグランドは・・・

Mac OS 10.3.9 メモリ 512 MB プロセス 1.25 Ghz Gauche 0.8.3

実は、Gauche 0.8.3をインストールするのもいろいろ面倒なことがあったのですが・・・、ここのインストラクションを参考にするとなんとかできました。

しかし、私が愚かなのか、なんなのか、なぜか私のMacは一回、一回パスを通さないとまずい。

$ export PATH=$HOME/bin/kahua:/usr/local/bin:$PATH

このおまじないを覚えなきゃ。

次に、kahuaのソースをhttp://www.kahua.org/からダウンロード。 ダウンロードしたバージョンは0.3.1。

さっそく以下のようにインストールを試してみました。

$ ./configure --prefix=$HOME $ make $ make check $ make install $ make install-examples

そして

$ (kahua-sprv -H 8080 > /dev/null 2>&1 &) $ kahua-admin

とうつと

sprv>

とかえってきました。 おぉうまく行った!

sprv> ls

じゃ、これはどうか?

SYSTEM-ERROR: connect failed to #<sockaddr unix "/Users/takahiro/tmp/kahua/kahua">: No such file or directory Stack Trace: _______________________________________

  0  (socket-connect socket addr)
        At line 130 of "/usr/local/share/gauche/0.8.3/lib/gauche/net.scm"
  1  (make-client-socket sockaddr)
        At line 265 of "/Users/takahiro/lib/kahua/kahua-admin.scm"
  2  (send-command #f cmd)
        At line 107 of "/Users/takahiro/lib/kahua/kahua-admin.scm"
  3  (dispatch-spvr-command (call-with-input-string (string-join args " ...
        At line 300 of "/Users/takahiro/lib/kahua/kahua-admin.scm

あれ??なんだこれは? なんかファイルがうまく作られていないようですね。

実は、make checkの時にこけていたようです。

Testing supervisor script (http mode) ... *** SYSTEM-ERROR: stat failed for "/dev/null.lock": No such file or directory Stack Trace: _______________________________________

  0  (sys-stat a)
        [unknown location]
  1  (file-mtime<? data (- (sys-time) FILE_LOCK_TIMEOUT))
        At line 165 of "/usr/local/share/gauche/0.8.3/lib/gauche/logger.scm"
  2  (log-format "[spvr] running ~a" cmd)
        At line 223 of "./../src/kahua-spvr.scm"
  3  (run-piped-cmd cmd)
        At line 257 of "./../src/kahua-spvr.scm"
  4  (start-keyserv spvr)
        At line 1015 of "./../src/kahua-spvr.scm"

failed. discrepancies found. Errors are: test httpd get: expects ("200" #t) => got #<error "connect failed to #<sockaddr inet \"127.0.0.1:27490\">: Connection refused"> test httpd get (nonexistent): expects "404" => got #<error "connect failed to #<sockaddr inet \"127.0.0.1:27490\">: Connection refused"> test httpd get (static path): expects ("200" 3431) => got #<error "connect failed to #<sockaddr inet \"127.0.0.1:27490\">: Connection refused">

http mode対応のKahuaは使えないのでしょうか?

とりあえず、前のバージョン、0.2.8をインストールすることに。 http://www.kahua.org/download/kahua/Kahua-0.2.8.tgz

ちなみにMacの場合、public_htmlはSitesというのものになっているのでconfigureは

$ ./configure --prefix=$HOME --with-cgidir=$HOME/Sites

というのが正解になります。

あとは

$ make $ make check $ make install $ make install-examples

でインストールし、kahuaを起動・確認してみました。

$ (kahua-spvr > /dev/null 2>&1 &) $ kahua-admin spvr> ls wno pid type since wid

  0  8729 lambdabooks  May 18 20:20 6qh:5f4vy
  1  8732 wiki-iki     May 18 20:20 6qk:1py16
  2  8733 login        May 18 20:20 6ql:cdb2

spvr>

どうやら今回はうまく動いているようです。

ブラウザからもhttp://localhost/cgi-bin/kahua.cgiと入力してアクセスするとlambdabooksのページが見えました。 ただ残念な事に画像のリンクがおかしいようです。たぶん、public_htmlではなくSitesだからかもしれませんね。

さて、これでようやくKahuaがインストールできました。

Powered by Kahua