Swarm開発環境のインストール
統合開発環境を使いたい場合はこちらも参照
ここで用いるソフトウェアは以下のとおりである。
- 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としてはじめからやってみるといい(上で示したスクリプトにも問題がある)。