あなたの使っているシステムがWindowsであるか、あるいはパッケージマネージャサポートがプリビルドされているUnixシステム(Debian GNU/Linux 2.0, Redhat 5.1, Solaris 2.5)であるかに関わらず、Swarmをインストールするには少し時間が掛かります。様々な外部ライブラリを入手し、コンパイルし、インストールした上で、さらにSwarm自身をコンパイルしなければなりません。インストールの途中で何らかの問題が生じたら、将来的にそれを解決できるように報告してください。 バイナリパッケージマネージャを持ったUnixシステムを使っているなら、マネージャに対応するマニュアル、それぞれ`dpkg'、`rpm'、`pkgadd'を参考にしてください。 Swarmが使用するライブラリは極めて少なく、主要なUnixの流れを汲んでいるマシンならどれでも走るようになっています。インストールという点から見れば、それを困難にするまったく厄介な、しかしほとんど避けられない側面をSwarmは持っているということにもなります。あなたが属しているサイトのシステム管理者を捕まえるのが理想です。最新のオンラインSwarm FAQも役に立つでしょう。Swarm FAQはインストールに関するよくある障害を整理してきたものです。
|
Unix. 我々はSwarmが現代のあらゆるUnixシステムで走ることを狙っており、理想的には、Swarm自身に100%の移植性を持たせたいと考えています。現行のSwarmは、SunOS 4.1.3、Solaris、GNU/Linuxのlibc5-とglibc-、HPUX 9, 11、IRIX 5.3, 6.4、MachTen/68kで稼動することが分かっています。新しいUnixプラットフォームでSwarmを走らせるときの重大な潜在的障害としては、1) GCC Objective Cのサポートが貧弱なこと、2) libffiやffcallに関わる移植性に問題があることが挙げられます。
Windows NT. 我々はSwarmをWindows NTにも移殖しています。しかし、以下の解説は大部分がLinux/UnixシステムでのSwarmインストールを述べたものです。Windows NTの場合は`あらかじめ必要なプログラム'のインストールは、Cygnus Win32環境のインストールに置き換えてください。また、Windows NT上にSwarmをインストールするために、"Install Shield"を用意してあります。`あらかじめ必要なライブラリ'をインストールする作業はSwarm"Install Shield"で置き換えられます。詳細は、Swarm release pageを参照してください。
最新の情報はPlatform Newsウェブページを参照してください。
あなたのシステムにUnixとX Windowsがインストールされていれば、残りのソフトウェアはフリーで入手できます。しかし、これらのパッケージのコンパイルとインストールには、多少時間がかかることを覚悟してください。このウェブページは配布サイトのホームディレクトリにつながっています。Swarmのftpサイトはftp://ftp.santafe.edu/pub/swarm/で、ここのneeded-software/ディレクトリに必要なパッケージのコピーが置いてあります。
gcc 2.7.x / gcc 2.8.x / egcs 1.x. gccはFSFのC、C++、Objective Cコンパイラです。Objective Cをサポートするためのlibobjc.aを含み、gcc 2.7.2以降をシステムにインストールしなければなりません。最新のバージョンはftp://ftp.gnu.org/pub/gnu/にあります。注意:Swarmはgcc 2.7.2より前のバージョンでは動作しません。
GNU make. プログラムの自動ビルドにはMakeを使用します。どのOSにも多少不揃いな機能を持った独自のmakeバージョンが搭載されています。Swarmの現在のmakefileには、かならずしもすべてのmakeにサポートされない機能が使われています。動作が保証されるのは、唯一GNU makeだけです。LinuxシステムならおそらくGNU makeを使用しているでしょう。GNU makeの最新バージョンは、GNUで入手できます。
gdb. gdbはGNUのデバッガです。Swarm自身がこれを要求するわけではありませんが、おそらくプログラムのデバッグで gdbが必要になってくるはずです。gdbもGNUで入手できます。
Swarmは様々なフリーのソフトウェアライブラリを使用します。これらのライブラリはすべてSwarmに独立してコンフィギュアされ、インストールされていなければなりません。Swarm自身をコンフィギュアするときには、"configure --help"の出力を見て、これらのライブラリのロケーティングに使える"--with-*dir"オプションを確認してください。
XPMライブラリ. XPMライブラリは、X11にpixmap(カラービットマップ)サポートを追加します。XPMは共通のXライブラリなので、多くのシステムはすでにインストールしているはずですが、かなり新しいバージョンが必要です(我々は、3.4fを使っています)。もし、"Object"が何倍にも定義されて困るようなら、あなたのlibXpmのバージョンは古すぎます。このライブラリは、ftp://ftp.x.org/contrib/libraries/xpm-3.4h.tar.gzで入手できます。
BLT. BLTは提供できるウィジットを増やすためのTkアドオンです。BLT 2.4fが現行バージョンです。Windowsでは別バージョンのBLT 8.0-unoff (SFI)が必要です。
ffcall / libffi. Swarmでは、ffcallやlibffiはメッセージプローブへの基本サポートを提供するために使用されます。どちらのライブラリも、様々なプラットフォームの呼び出し規則に対して、移植性のある高レベルなプログラミングインターフェイスを提供しています。これによりプログラマは、実行時に呼び出しインターフェイスの記述に指定されたあらゆる関数を呼び出すことができます。FFIはForeign Function Interface(外部関数インターフェイス)の略語で、ある言語で書かれたコードから他の言語で書かれたコードを呼び出すためのインターフェイスに対する一般的な名称です。
ffcallの最新バージョンは1.3.1です。
libffiの最新バージョンは1.20です。
libpng. Swarmはpixmapイメージのサポートを要求します。`png'がこれを提供しています。
現行バージョンは1.0.2です。
zlib. pngには、一般的な圧縮ライブラリ`zlib'が提供するデータ圧縮が必要です。
現行バージョンは、1.1.3です。
上記のソフトウェアがすべてインストールされていれば、次のステップはSwarmのコンフィギュアです。まず、Swarmの.tar.gzファイルを適当な場所に展開(gzip -dc swarm-xx.yy.zz.tar.gz | tar xf -)してください。
Swarm 1.2現在で、Swarmのコンパイルとインストールは、GNU configureスクリプトを使って行います。これによりconfigureは知的になされ、自動的に多くの共通オプションがセットされるため、ユーザの負荷はなくなります。
まず、Swarmのリリースに含まれるINSTALLファイルを読んでください。このファイルはソースの最上ディレクトリにあります。次に、configureスクリプトに与える適切かつ最新のオプションを決定してください(古いリリースのMakefile.confにある*INCDIRマクロを編集するときは、これと似たような作業をします)。
厄介な作業はここまでで終わりです。以前のリリースと同様にソースの最上ディレクトリからmakeと入力すれば、楽しいものが見えることでしょう。もし、Swarmのルートディレクトリでmakeを実行しても何も起こらなければ、あなたのmakeはおそらくGNU Makeではありません。
Swarmのインストールには、明示的な"installation"ステップ -- make installがあります。これにより、バイナリとライブラリは指定したロケーションにきれいにインストールされます。Unixシステムでは、おそらく/usr/local/あたりのどこかになるでしょう。
ユーザ作成ライブラリやユーザ作成アプリケーションがインクルードするMakefileは、それぞれMakefile.libとMakefile.applです。これらは、以前のバージョンでは配布されていましたが、今はconfigureが生成するようになっています。問題にぶつかったときは、configureを再実行し、Swarmを再インストールしてください。生成されたMakefilesディレクトリで下手な修復をおこなうことは、薦められません。
それぞれのSwarmアプリケーションは別々に配布されるため、個別にアプリケーションをダウンロードして解凍する必要があります。解凍後は、MakefileのSWARMHOME変数を変更しなければなりません。デフォルトでは"../swarm"を指し、Swarmライブラリが"swarm"という1つの兄弟ディレクトリにあるようになっていますが、Swarmライブラリをインストールした場所を示すようにこの文字列を修正してください。この他に特別なコンフィギュレーションは必要ありません。Makefileを開いて、以下のデフォルト文字列、
SWARMHOME=../swarm |
SWARMHOME=<Swarmをインストールした場所へのパス> |
SWARMHOME=/usr/local/swarm-<バージョン番号> |
コンパイルが終わったら、そのディレクトリで実行してみてください。コントロールパネルとパラメータウィンドウが現れます。"Go"ボタンを押して、アプリケーションが走るところを見てください。おめでとう!
しばしのSwarmライブラリのお試しが済んだ後に、オリジナルソースディレクトリで中間的に生成される.oファイルなどを掃除したい人がいるかもしれません。make installが完了していれば、ソースディレクトリ全体を削除することもできます。また、異なるオプションで再インストールする場合は、make cleanと入力して以前のmakeが生成したすべてのファイルを掃除してください。詳細は、Swarmが配布したINSTALLファイルを参照してください。
あなたのアプリケーションのmakefileで、$(SWARMHOME)を正しいディレクトリに設定し直したことを思い出してください。Swarmをインストールしたものの、何かの理由でライブラリを再コンパイルして、完全にクリーンなソースディレクトリから始めたいなら、make uninstallして、次にmake cleanを実行します。この場合も、INSTALLファイルを参照してください。
デバッグを行う目的でコンフィギュアするときは、 CFLAGS=-g ./configure <残りのオプション>として、configureに-gオプションを渡し、ビルドあるいはソースツリーのソースを残しておく必要があります。ただし、CFLAGS=-O3 -gとし最適化を使ってコンパイルすれば、アプリケーションはより高速に実行されます。これによりSwarmライブラリの内側のデバッグは未知になりますが、パフォーマンスはかなり向上します。