last update: $Date: 2008/02/20 06:02:29 $

# ドキュメント

## インストールマニュアル

### Linuxへのインストール

1. 動作環境

   - Linux (RedHad5.2相当以上)
   - X Window System (16bitカラー以上)
   - Mesa3.1以降
   - Java2 SDK 1.4.2以降
2. SDK/JREのインストール

   Java2 Software Development Kit (SDK)またはJava2 Runtime Environment (JRE)をインストールします。 SDKおよびJREは、Blackdown.orgおよびjava.sun.comから無償でダウンロードすることができます。

   インストールするLinuxに合わせたSDKまたはJREをダウンロードしてください。

   Linuxのデストリビューションによっては，SDKが初めからインストールされている場合もあります。 その場合はインストールは不要です。

3. Mesaのインストール

   Mesa3.1以降をダウンロードします。

   ソースファイルからコンパイルする場合は、ソースファイルをダウンロードし、適当な場所(ここでは仮に`~/mesa/`とします)に展開します。 ライブラリを構築するためにmake linux-elfを実行してください。

   次に、構築されたライブラリをインストールします。 `~/mesa/lib/`にできたライブラリを，環境変数`LD_LIBRARY_PATH`で検索できるディレクトリ（例えば`/usr/lib`）にインストールしてください。

   Linuxのデストリビューションによっては，Mesaが初めからインストールされている場合もあります。その場合はインストールは不要です。 しかし，Mesa3.1未満がインストールされている場合は，Mesa3.1以降をインストールしてください。

4. 「じゅん for Java」のインストール

   「じゅん for Java」の最新版は、SRAのFTPサーバからダウンロードすることができます。 RPMも用意してありますので、そちらを使ってインストールすることも可能です。

   ダウンロードしたファイルはZIP形式のファイルになっており、展開すると下記のファイルおよびディレクトリが作成されます。 適当なディレクトリ(例えば`~/Jun4Java`)を作成し、そこに展開してください。 unzipには'-a'オプションを使ってください。

   > `README` | ... | READMEファイル
   > `changes` | ... | 更新履歴ファイル
   > `doc/Installation/` | ... | インストール方法の解説マニュアル
   > `src/` | ... | ソースディレクトリ
   > `src-jni/GL/` | ... | OpenGLのためのJNI用共有ライブラリのソースディレクトリ
   > `lib/jun???.jar` | ... | JAR形式のクラスライブラリ。???の部分はバージョン番号
   > `lib/linux/libJunGL.so` | ... | 「じゅん for Java」からMesaを利用するために必要なJNI準拠のsoファイル。Mesa 5.0.2を用いてコンパイルしてある

   このうち、`libJunGL.so`は，環境変数`LD_LIBRARY_PATH`で検索できるディレクトリ（例えば`/usr/lib`）にインストールしてください。 `libJunGL.so`の古いバージョンがインストールされている場合は，古いバージョンを参照しないように上書きしてください。

   `libJunGL.so`をコンパイルして作りなおす場合は，`~/Jun4Java/src-jni`で`make`を実行してください。 (`Makefile`中の変数`JDK_HOME`および`MESA_HOME`を、ご自分の環境に合わせて適宜変更する必要があります)

   また、ダウンロードしたファイルにはStPLが同梱されています。

   > `README-StPL` | ... | StPLのREADMEファイル
   > `src/sra/smalltalk` | ... | StPLのソースディレクトリ
   > `src-jni/ST/` | ... | StPLのためのJNI用共有ライブラリのソースディレクトリ
   > `lib/StPL??.jar` | ... | JAR形式のStPL。??の部分はバージョン番号
   > `lib/linux/libStPL.so` | ... | StPLのためのJNI準拠soファイル

   StPLは、Smalltalkで作られた「じゅん for Smalltalk」をJavaに移植するために利用したSRA社製の「Smalltalk風プログラミングライブラリ(Smalltalk-style Programming Library)」です。 概要はREADME-StPLファイルを参照してください。

5. ラウンチャの起動

   インストールした2つのJARファイル(`jun???.jar`と`StPL??.jar`)をJavaのクラスパスに加え、`main`メソッドを持つクラスを指定して、Java仮想マシンを実行します。

   例えば、以下のようなコマンドで実行が可能です。

           java -cp ~/Jun4Java/lib/jun699.jar:~/Jun4Java/lib/StPL89.jar jp.co.sra.jun.system.support.JunLauncher

   ここでは、「じゅん for Java」が`~/Jun4Java/`にインストールされているものとしています。 別の場所にインストールした場合には、`CLASSPATH`の指定を適宜変更して下さい。
6. うまく動かないとき
   - ラウンチャが起動しないで "`Can't find JNI librarlly 'JunGL'.`" と表示される。

     > `libJunGL.so`が見つかりませんでした。 環境変数`LD_LIBRARY_PATH`の検索対象となるディレクトリに，`libJunGL.so`をコピーしてください。

   - ラウンチャが起動しないで "`JNI library 'JunGL' version error.`" と表示される。

     > 違うバージョンの`libJunGL.so`が見つかりました。 環境変数`LD_LIBRARY_PATH`の検索対象となるディレクトリに，展開したファイルに含まれる`libJunGL.so`を上書きコピーしてください。

     > 環境変数`LD_LIBRARY_PATH`に複数のディレクトリが指定されている場合は，複数のディレクトリに`libJunGL.so`が存在しないようにしてください。

   - ラウンチャが起動しないで，上記のメッセージも表示されない。

     > glibcのバージョンが違うことが考えられます。 `libJunGL.so`をコンパイルして作りなおしてください。

   - 3Dの表示がおかしい。

     > Mesaのバージョンが3.1未満であることが考えられます。 バージョン3.1をインストールしてください。

     > 環境変数`LD_LIBRARY_PATH`に複数のディレクトリが指定されている場合は，複数のディレクトリにMesaのライブラリが存在しないようにしてください。

http://www.sra.co.jp/people/r-matuda/
mailto:r-matuda@sra.co.jp