SBCL 1.0.19

Windowsでメモリ確保に失敗する不具合が改善されたらしい。
(via: http://cadr.g.hatena.ne.jp/haiju/20080807#1218118603)
1.0.13は環境(メモリの空き?)によって全く問題なく動いたり、clear type切ると動いたり、起動オプションのdynamic-space-sizeで調整してやらないとどうにも起動できなかったりしたんだけど、直ったんだ。やった。

Win32用バイナリのインストーラうpされてたけど、折角なので自前でビルドしてみる。Cygwin or MsysとSBCLがあればOKなのかな?

とりあえずMsysからsbcl使えるようにパス通しておいて、sbclのソースを展開したフォルダで sh make.sh
結果

WARNING! Some of the contrib modules did not build successfully or pass
their self-tests. Failed contribs:"
  sb-simple-streams

なんか1個モジュールのビルドに失敗。
lispforumにあったのもsb-simple-streamsは入ってないみたいだからまあいいや。

次、test

Status:
 Failure:             filesys.pure.lisp / RANDOM-NATIVE-NAMESTRINGS
 Failure:             filesys.pure.lisp / FILE-AUTHOR-STRINGP
 Failure:             interface.pure.lisp / WITH-TIMEOUT-FORMS
 Failure:             stream.pure.lisp / (STREAM LISTEN-VS-SELECT)
 Unhandled error      clos-interrupts.impure.lisp
 Unhandled error      deadline.impure.lisp
 Expected failure:    debug.impure.lisp / (UNDEFINED-FUNCTION BUG-353)
 Invalid exit status: exhaust.impure.lisp
 Failure:             external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     ATTEMPT-RESYNC)
 Expected failure:    external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     FORCE-END-OF-FILE)
 Unhandled error      foreign-stack-alignment.impure.lisp
 Unhandled error      load.impure.lisp
 Unhandled error      pathnames.impure.lisp
 Unhandled error      print.impure.lisp
 Failure:             run-program.impure.lisp / RUN-PROGRAM-CAT-1
 Failure:             signals.impure.lisp / (ASYNC-UNWIND SPECIALS)
 Unhandled error      stream.impure.lisp
 Unhandled error      threads.impure.lisp
 Failure:             timer.impure.lisp / (TIMER RELATIVE)
 Failure:             timer.impure.lisp / (TIMER ABSOLUTE)
 Failure:             timer.impure.lisp / (TIMER REPEAT-AND-UNSCHEDULE)
 Failure:             timer.impure.lisp / (TIMER RESCHEDULE)
 Failure:             timer.impure.lisp / (TIMER STRESS)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT TIMEOUT)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT NESTED-TIMEOUT-SMALLER)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT NESTED-TIMEOUT-BIGGER)
 Invalid exit status: unwind-to-frame-and-call.impure.lisp
test failed, expected 104 return code, got 1

後でLinuxとかの結果と比べてみよう。

WiXを入れておくと、sh make-windows-installer.sh でWindowsインストーラが作成できる。環境変数の設定とかもやってくれるので、install.shは使わずこのインストーラからインストール。

で、起動できた。

起動オプションいじらなくても問題なく動く。
gdi++に半透明とか使っても問題なし。良い感じ。