Swarm開発環境のインストール

Swarmについてのメモ

Swarm開発環境のインストール

  1. Cygwin
  2. Swarm
  3. 動作確認 (Objective-C)
  4. Java
  5. 動作確認 (Java)

統合開発環境を使いたい場合はこちらも参照

ここで用いるソフトウェアは以下のとおりである。

  • WindowsXP Professional (2004.5までの重要な更新を適用した状態。Unixなど他のプラットフォームでも動作するが、ここではWindowsXPのみを扱う。)
  • Cygwin (Cygwin Information and Installation Windows上で動くUnixの開発環境)
  • Swarm-2.2-pretest-13 (ftp://ftp.swarm.org/pub/swarm/binaries/old/w32/latest/)
  • Java 2 SDK, Enterprise Edition 1.4.2_04 (J2EE 1.4 SDK - Download Objective-Cで開発する場合は必要ない。)
  • eclipse 2.1.3 (eclipse.org 他の統合開発環境も使える。統合開発環境はSwarmでの開発のために必須のものではない。)

Cygwin

まず、ホーム・ディレクトリを設定する(ここではc:\swarmとする)。マイ コンピュータのプロパティで環境変数HOMEをc:\swarmに設定すればよい。

次に、Cygwinのサイトからセットアップ・プログラムをダウンロードし、実行する。Select packagesのところで、DevelとLibsをインストールするようにすること(デフォルトではインストールされない)。セットアップが完了したら、Cygwin Bash Shellを起動し、各種コマンドが正しく動くことを確認する(たとえば、pwdの結果は/cygdrive/c/swarmのはずである。このように、WindowsとCygwinではディレクトリの呼び方が違っている。このことはmountで確認できる)。

Libsの中にあるtcltkのバージョンは、2005.7.11現在の最新版20030901-1ではなく、20030214-1にしたほうがよい

Swarm

Swarmのインストールのためにはまず、FTPサイトからSwarm-2.2-pretest-13.tar.gz(2004.6.1の時点での最新版)をダウンロードし(ホームに置いたとする)、/に展開する。

$ cd /
$ tar zxf ~/Swarm-2.2-pretest-13.tar.gz

次に、~/.bash_profileに以下の環境変数設定を追加する(ファイルがない場合、ホーム・ディレクトリが適切に設定されていない。このファイルはメモ帳では編集しにくいため、別のエディタを使うといい)。

export SWARMHOME=/Swarm-2.2
export SWARMDIR=$SWARMHOME
export PATH=$SWARMHOME/bin:$PATH
export TMPDIR=/tmp

動作確認 (Objective-C)

動作確認のために、Swarm:_applications - SwarmWikiからswarmapps-2.1.1.tar.gz(サンプル)をダウンロードし、展開する。ここではサンプル中のHeadbugsをビルドする(このファイルにはtemplate, heatbugs, mousetrap, market, tutorial, hello-worldが含まれているが、すべてObjective-Cで書かれたものである)。

$ tar zxf swarmapps-2.1.1.tar.gz
$ cd swarmapps-2.1.1/headbugs/
$ make
$ ./heatbugs.exe

Startをクリックしたときに図(クリックで拡大)のようになれば成功である。

実行画面

Java

まず、J2EE 1.4 SDK - Downloadからダウンロードしてインストールする。インストール先はc:\j2sdkとする。次に、~/.bash_profileを次のように追加・修正する(PATHは修正。修正したらsource ~/.bash_profileとして変更を反映させる)。

export JAVA_HOME=/cygdrive/c/j2sdk
export LTDL_LIBRARY_PATH=/Swarm-2.2/lib
export PATH=$SWARMHOME/bin:$JAVA_HOME/bin:$PATH
alias javadocswarm='CLASSPATH="c:\cygwin\Swarm-2.2\share\swarm\swarm.jar" javadoc'

さらに、コンパイルのためのスクリプト/Swarm-2.2/bin/javacswarmの一部を次のように修正する(実行用のスクリプトjavaswarmにも同様の修正を施すべきなのだが、修正しても筆者の環境では正しく動作しなかった)。

23: _JAVACLASSES='$JAVA_HOME/jre/lib/rt.jar'
50: jdkdir=$JAVA_HOME
51: JAVAC=javac

ビルドのためのスクリプトgcjswarmを/Swarm-2.2/binにおく。内容は次のとおり(環境変数の設定はeclipseから呼び出す場合のため)。

#!sh
SWARMHOME=/Swarm-2.2
SWARMDIR=$SWARMHOME
JAVA_HOME=/cygdrive/c/j2sdk
PATH=$SWARMHOME/bin:$JAVA_HOME/bin:$PATH
TMPDIR=/tmp
javacswarm $1
if [ $? -eq 0 ]
then
  CLASSPATH=/Swarm-2.2/share/swarm/swarm.jar gcj --main=${1%.java} *.class /Swarm-2.2/lib/gcj*.o -L/Swarm-2.2/lib -o ${1%.java}
fi

動作確認 (Java)

動作確認のために、ftp://ftp.swarm.org/pub/swarm/src/testing/からjheatbugs-2001-03-28.tar.gzをダウンロードし、展開・ビルド・実行する。実行した結果が図のようになればインストールは完了である。

$ tar zxf jheatbugs-2001-03-28.tar.gz
$ cd jheatbugs-2001-03-28
$ gcjswarm StartHeatbugs.java
$ ./StartHeatbugs

もう一つの例であるjmousetrapをビルドする場合は、上記サイトからjmousetrap-2001-09-13.tar.gzをダウンロードし、展開・ビルド・実行する。

うまくビルドできなくなったら、rm *.classとしてはじめからやってみるといい(上で示したスクリプトにも問題がある)。