2009年1月3日土曜日

clbuildをためす


  • ホストはUbuntu8.04 server。
  • 参考にするのは、
    プロジェクトサイト
    quekさんのところ
  • 事前準備
    ※Ubuntuパッケージでgitというのはここで欲しいgitではないので注意。

    $ sudo aptitude install darcs cvs subversion git-core

  • 参考サイトに従いdarcsでclbuildをdl。
  • はて? ./clbuild checkでhgが無いよ、と言われる。hgって何だろ?
  • ぐぐる。どうやらMercurialという分散バージョン管理システムらしい。バージョン管理は群雄割拠状態だな、、、

    $ sudo aptitude install mercurial


  • 参考サイト通りに実行。参考サイトどおり、長い!!ひたすらソースをとってきているようだ。

  • その間にclbuildをちら見。

    • aclには対応していない。対応環境は次のとおり。
    • sbcl, ecl, ccl(darwinも), clisp


  • 取得がおわった。30分くらいかかったかな。

    313 system definition files registered

    だって、富豪になったような気分だ!

  • さて、SBCL自体が無いし、aclに対応していないので、clbuildを使ってSBCLもつくる。マニュアルの指示にしたがって、

    $ ./clbuild buildsbcl

    とするがerrorになる。

    Warning: Cannot find an executable for implementation sbcl
    error: invalid command buildsbcl
    Use 'clbuild compile-implementation sbcl' instead.

    まったり。言われるがままにcompile-implemetationを実行。

    Warning: Cannot find an executable for implementation sbcl
    sbcl not found, try running 'clbuild update sbcl'

    なんと。言われるがまま実行。これは実施される。で、compile-implemetationを再度やると、makeが無いと怒られる。
    ああ、そうだ、この機体はGNUな開発環境を入れていなかった。とりあえず必要なものだけ入れていこう。

    $ sudo aptitude install make

    これで再度compile-implementationを実施。しかしエラーで終了。エラー原因情報もなし。うむ。先程の戦略がまずかった。おそらくSBCLのサイトにって、SBCLのコンパイルに必要なGNUな開発ツール達を全て入れるべきなのだ。さてこの時点で、2つの選択肢がある。このまますすむのと、ubuntu package のSBCLにしちゃうという方式。せっかくなので、時間はかかるがSBCLをコンパイルして最新版を目指そう。
  • SBCLのサイトをみる
    インストールのところ
    なんと、CL処理系がいるのね。。。。
    gccとかいらんのかな、だとしたら、それはそれで偉いなぁ。
    とりあえず、aptitudeでSBCLを入れちゃう。(さっきの方針検討は無意味。。。)

    $ sudo aptitude install sbcl sbcl-doc
    (...)
    $ sbcl --version
    SBCL 1.0.11.debian

    あとSBCLのインストールのところに環境設定の設定要求があるので実施する。

    $ export GNUMAKE=gnumake # for bash / zsh

    入った。再度compile-implementation。おお、すごいいきおいでcompileしている!
    再度エラーになる。gnumakeがない、とかいっている。さっきの環境設定か?

    $ export GNUMAKE=

    して再実施。すると、

    $ make: cc: Command not found

    とかおっしゃる。うむ。必要ならはじめからそういってくれい。

    $ sudo aptitude install gcc

    で、再度、compile-implementation。コンパイル所要時間を抑制するために、screenをdetach。topをながめつつ、待つ。
    15分ぐらいでbuild成功!
    しかし、この後どうすればいいの?

    SBCL has been installed:
    binary /home/aka/scratch/clbuild/clbuild/target/bin/sbcl
    core and contribs in /home/aka/scratch/clbuild/clbuild/target/lib/sbcl/

    ということだから、これを/usr/local/binとか/usr/local/lib/sbclとかにうつせばいいの? というか、make installを自分でやりなさいってこと? それとも clbuild install-implemetation sbclとかあるの?

つづく

0 件のコメント: