FreeBSD 用 JDK 1.1
|
これは, サンの Java 開発キットの, FreeBSD への公式な移植です.
現時点で特にバグは知られていませんが,
ちゃんと使えることの保証があるわけでもありません.
しかし,
たくさんの会社がこの移植版を信頼しているので,
安全に使うことができると思います.
注意: 2.2 以前のバージョンの FreeBSD (例えば FreeBSD 2.1.5)
はサポートしていません.
また, ELF 版には, 1999年 3月 24日に FreeBSD 3.1-stable と 4.0-current
に対して行われた FreeBSD ローダの変更が必要です. |
目次
-
1. ニュース
-
2. どこから入手するか?
-
3. インストール
-
4. 実行
-
5. 必要なその他のパッケージ
-
6. 既知のバグ
-
7. サポート?
-
8. 面白いソフトウェアへのポインタ
1. ニュース
1999年 6月 8日: JDK 1.1.8 のリリースに, ちょっとしたバグがみつかりました.
UDP ソケットを使う人に影響があります.
ブロードキャストアドレスにパケットを送ろうとすると,
FreeBSD の JDK が permissions error となってうまく行かない, というものです.
この誤りは修正済みです.
リリース全体を作りなおす代わりに,
この問題にひっかかっている人のための小さなパッチ集を作りました.
この問題にひっかかっている人は,
遠慮なく gzip した tar ファイルをダウンロードして,
JDK をインストールした場所で展開してください.
そのままで, 古い版の上からインストールされます.
このバグに影響を受けていない人は,
パッチを適用する必要はありません.
べつに, やっても構いませんが.
1999年 6月 3日: A.OUT と ELF の JDK 1.1.8 のリリース.
このリリースでは,
昔の 3.* の ELF のリリースを (実行時ローダーの変更を必要とせずに)
サポートします.
(訳注: FreeBSD 3.0 などでも使えるようになった, ということ.)
また, FreeBSD のすべてのリリースで,
LOCALE と timezone サポートのバグを修正します.
1999年 6月 1日: JDK2 の状況
-
JDK1.2/JDK2 は非常にゆっくりのままです.
それは, 開発チームが,
JDK1 のきちんとしたリリースに努力を集中させているからです.
たいていの JDK2 に関係する開発上の問題は,
JDK1 のリリースと,
サンが提供する JDK1 用の
Swing
を使うことでなんとかなります.
これは FreeBSD で非常にうまく動きます.
1999年 4月 16日: 新しい JDK1.1.7 A.OUT のリリース.
これは 3月のリリースのビルド上の問題に対する修正です.
近い将来, 新しい ELF リリースを作成して,
古い 3.0 系のリリースもサポートするつもりです.
1999年 3月 26日: JDK1.1.7 で ELF をサポート.
あわせて, ちょっとしたバグ修正を含む新しい AOUT のリリース.
1999年 3月 16日: 開発の現状のお知らせ:
-
ELF 版 JDK1.1.7 : JDK1.1.7 の ELF 用ビルド
(FreeBSD 3.x またはそれ以降で使うための) が,
最初の内部テスト段階に入りかかっています.
数週間でベータリリースが利用可能になるはずです.
-
JDK2 (JDK1.2 としても知られる): 何人かの人々が
JDK2 を FreeBSD に移植するために作業していますが,
仕事の進みはゆっくりしています.
開発者にこのプロジェクトの作業を行う時間が不足していることが主な原因です.
(Blackdown の JDK2 の移植がリリースされれば, 我々の開発の助けになるでしょう.
彼らがソースの diff を公表するのであれば.)
1998年 12月 21日: jdk1.1.7.V98-12-21.tar.gz.
-
JDK1.1.7 のバグ修正バージョン.
特に JDK に存在した重大で不快な一対の剰余演算バグを突き止めた Keith White
に感謝します. また, 本リリースでは, ファイル記述子の上限が 256 から 2048
に上げられています.
JRE もまたより使いやすくなっているはずですし, もう本当に Keith に感謝です.
1998年 11月 14日: jdk1.1.7.V98-11-5.tar.gz.
1998年 9月 23日: jdk1.1.6.V98-9-23.tar.gz.
-
8月 14日付の JDE と JRE は双方で
jre についてのリンクが誤って行われていましたので,
今回正しくリンクしてリビルドしたものをリリースしました.
他に古いリリースからの変更はありません.
1998年 8月 22日:
-
JDK ftp ミラーと ftp アクセスを提供してくださった多数のサイトをリストに加えて,
ページを更新しました. みなさんありがとう!
1998年 8月 14日: jdk1.1.6.V98-8-14.tar.gz.
-
今回 ServerSockets にて SO_REUSEADDR オプションが正しく設定されました
(その他のソケットにも影響があるかもしれません.)
1998年 7月 21日: jdk1.1.6.V98-7-21.tar.gz.
-
JDK1.1.6 への更新. 本リリースに行き着くまで,
ほとんどの作業を行ってくれた
Keith White kwhite@site.uottawa.ca
に感謝します!
-
java.version 等での, より標準的な名前のつけかた.
-
UDP/Multicast ソケットが修正されました.
-
おそらくシグナルアボートエラーは修正されました.
-
"KOI8-R" と "CP866" のエンコーディングが提供されました.
-
FreeBSD 上で正しくタイムゾーンが働くようになりました
(このためにある種のネイティブコードが必要でしたが,
JDK に埋め込んだのでユーザーへの影響はないはずです.
現在のところ FreeBSD はタイムゾーンを正しく扱える数少ない
(もしかすると唯一の) Java 仮想マシンを持っています) .
-
sysRmdir() が正しくディレクトリを削除するようになりました.
-
CJK (中国語, 日本語, 韓国語) ロケールをサポートするように
xpg4 ライブラリがリンクされました.
1998年 5月 5日:
-
FreeBSD でサン JWS (Java ワークショップ) を利用する方法の説明を加えてペー
ジを更新しました.
1998年 2月 25日: jdk1.1.5.V98-2-25.tar.gz.
-
今回再び 2.2.2 にてビルドした JDK が動作するようになりました.
-
今回 AWT は正しくウィンドウ名を設定します.
-
ダイアログボックスのボタンを何度も押したとき core を吐くという,
見つけにくかったバグを修正しました.
-
イメージを使っていると共有メモリ(SHMEM) が解放されずに
メモリリークするというバグを修正しました.
1998年 2月 12日:
-
Johan Larsson が嬉しいことに JDK の ftp
ミラーサイトを設けてくださいましたので,
HTTP を利用するのが嫌な方は, 彼のサイトから気軽に入手してください.
-
'Steaming Cup of Java' のロゴをサン
の法律家がより政治的にまた合法的に好ましいという
'Jump to Java' ロゴに置き換えました.
1998年 2月 9日: jdk1.1.5.V98-2-8.tar.gz.
-
Process.waitFor() バグを修正.
-
Motif ライブラリのリンク方法が変更されました. この変更により,
パッチキットが公開されれば,
Motif ライブラリを持っている方は誰でも (動的リンク, 静的リンクにかかわらず)
JDK をビルドすることができるようになります.
あなたが持っている Motif のライセンスによっては,
あなたが作成したバイナリを公開することも可能です.
-
PIPE に対するノンブロッキング (non-blocking) リードは,
OS のバージョンに関係なく信頼した動作をしません.
-
今回マルチキャストが動作するようになりました.
1998年 1月:
-
FreeBSD 'JDK' 移植チームを結成しました.
これからは FreeBSD 用の新しい JDK リリースを共同で作成します.
-
新しい JDK1.1.5 は, Motif ライブラリと静的にリンクされています.
(不幸にも, このリリースは ftp サーバのディスククラッシュで失われてしまいました)
2. どこから入手するか?
最新版は,
ELF (FreeBSD バージョン 3 または 4) 用が
jdk1.1.8.V99-6-3.tar.gz
です.
また, 古い 2.2 系リリース用には
jdk1.1.8_AOUT.V99-6-3.tar.gz
を取ることができます.
両方のリリースをビルドするために使ったパッチは
ここにあります.
これは実際に Java ソースコードをお持ちの方にとってのみ有用です.
また, 国際版の JRE のリリースもあります.
ftp を好む方や, http が利用できない人は, 次のミラーサイトから入手できます.
これらのリリースは,
JDK のライブラリとバイナリのパブリックな配布が許される,
納得できるライセンスを持った
Motif ライブラリを取り込んでコンパイルされています.
3. インストール
バイナリをダウンロードします.
約 35MB の空きのあるインストールする場所 (たぶん /usr/local ?) を選びます.
バイナリは jdk1.1.8 というサブディレクトリにインストールされます.
例えば:
tar zxvpf jdk1.1.8_ELF.V99-6-3.tar.gz -C /usr/local
4. 実行
.../jdk1.1.8/bin へのパスを PATH 変数に追加します:
export PATH=/usr/local/jdk1.1.7/bin:$PATH
または
set path=(/usr/local/jdk1.1.7/bin $path)
5. 必要なその他のパッケージ
Java の実行には XFree86 は必要なくなりました.
しかし AWT コンポーネントを一つでも利用するのであれば
(たとえ画面に表示しない場合でも)
XFree86 をインストールしておかなければなりません.
'DISPLAY' 環境変数を確実に設定してください.
そうしないと JDK は起動しないでしょう.
6. 既知のバグ
JDK1.1.8 は多くの '目に見える' バグを抱えていて,
本移植にもそれが影響しています.
これらの種類のバグを報告する前に,
まず,
リファレンスとなっている UNIX プラットフォーム (Solaris)
でそのバグが起きないことを確認するようにこころがけて下さい.
FreeBSD 2.2.[567] のカーネルのバグが原因で,
マルチキャストが正しく動作しません.
これは FreeBSD 2.2.8 で修正され,
より新しい全てのリリース (全ての 3.*/4.* リリースを含む)
でも修正されています.
これは JDK のバグではなくて FreeBSD カーネルのバグです.
マルチキャストを機能させたいのであれば,
これらの新しいリリースのうちのどれかに
カーネルをアップグレードしなければなりません.
最後に, 提供されているデモを試していると発生する
既知のバグが少しあります.
ボムってしまうことはありませんが,
エラーメッセージが出力されます.
最も一般的なのは, アプレットビューアを起動したときに起きるものです:
-
java in free(): warning: chunk is already free.
*または*
-
java in free(): warning: chunk is already free.
7. サポート?
Java の一般的なことについてのサポートは
freebsd-java@FreeBSD.org
メーリングリストより得られます.
移植についての質問やバグの報告は
java-port@FreeBSD.org
にも送ってください.
注意:"java-port" は FreeBSD JDK 移植チームのための閉じたメーリングリストです.
(サンは, JDK ソースコードへのアクセス許可を与える以前に,
署名済みのライセンスをサンが受け取ることを要求しています.)
きちんと返答してもらうには,
-
問題をできるかぎり正確に書くようにしてください.
-
問題が起きるソース/クラスの URL/パスを示してください.
8. 面白いソフトウェアへのポインタ
JDK にはあなたのシステムで試せる多くのデモが含まれています.
それは以下の場所にあります.
/usr/local/jdk1.1.8/demo
あなたが試してみたいかもしれない,
第三者によるさらに有用なアプレット/デモのいくつかは:
-
TYA
- ジャストインタイムコンパイラ (オープンソースコード).
ftp://gonzalez.cyberus.ca/pub/Linux/java
にソースがあるかもしれません.
-
shuJIT
- サンの JVM/IA32 用のジャストインタイムコンパイラ (オープンソースコード).
-
jEdit
- オープンソースプログラマのテキストエディタで, 完全に Java で書かれています.
-
Jikes
- Jikes というのは,
より高速な Java のコンパイラを開発する IBM のプロジェクトで,
インクリメンタルモードを持っています.
Jikes は, 今はオープンソースで,
FreeBSD 用の移植版
が作成されました (/usr/ports/lang/jikes).
-
JaWavedit
- サウンド編集パッケージ("Java Wave Edit").
-
MoneyDance -
これは“Quicken”スタイルの個人向け資産管理アプリケーションです
(訳注: これはなかなか高度な予算管理アプリケーションです)
-
ICQ
- お手軽なインターネットコミュニケーションシステム.
450 万人近くのユーザがいます! (ICQ = I Seek You)
注意:
これもベータテスト中のものです.
発生するエラーのいくつかは, ICQ の問題で, JDK の問題ではないかもしれません.
最も有名な ICQ の問題は,
接続の際の『特徴』でしょう.
大抵の場合, 通信に使う ICQ ポートを,
ICQ 自身に選ばせるのではなく
(訳注: 固定的に) 割り当てることで回避できます.
(これは firewall settings のところで行います.)
-
AIM
- アメリカオンラインとネットスケープの ICQ 対抗品. (AIM = AOL Instant Messenger)
(本サービスを利用するために AOL に加入しなければならないということはありません.)
これは現在リリースされている JDK でとても良好に動作します.
-
Ganymede - 大規模な
GPL に基づいて配布されているネットワークディレクトリ管理システムで,
100% Java で書かれています.
これには BSD の master.passwd や group などのファイルを管理するための
スキーマひとそろいも含まれています.
開発者のみなさんへ,
Amancio Hasty hasty@rah.star-gate.com
が JDK 1.1.5V98-2-25 にて JWS, つまりサンの Java Workshop Shop (Java の統合開発環境)
を動作させました. その時の方法です:
注意: デバッガは動作しません. これは JWS が Java Native Interface を使っ
ているからです. つまり, 配布された JWS は VM 用のバイナリライブ
ラリ (訳注: 実は Solaris の so ファイル)を用いてデバッガと会話す
るのです. -- このことは linux 用の jwsパッチに書いてあります.
(訳注: この事実は linux jws patch のREADME に書かれているのです
が, なぜか linux jws patch の.tar.gz には README が含まれていま
せん. 大抵の ftp サイトでは, .tar.gz と同じディレクトリに, 別ファ
イルとして置かれているようです.)
必要なもの:
1. gnu gettext
好きな GNU の ftp サイトからダウンロードしてください. 例えば
ftp://prep.ai.mit.edu/pub/gnu/gettext-0.10.tar.gz など
2. bash
3. jdk1.1.5
4. linux パッチ:
ftp://ftp.suse.com/pub/SuSE-Linux/suse_update/JWS2.0/
にあります.
5. JWS2.0 --- http://shop.sun.com/ から入手してください. ダウンロー
ドできる 30 日間体験版があります. これが私の手元にあるのと同じ
ものです. サンは 4 月の中頃に JFC 1.1 をサポートする JWS2.0 の
アップグレードをリリースすると思われます.
JWS/ があるのと同じディレクトリ (訳注: JWS/ というディレクトリの親ディ
レクトリ) に移動して下さい. 次のように linux パッチを展開して下さい:
tar -xzf /download directory/jws_linux.tar.gz
linux パッチを展開したら, JWS ディレクトリに移って FreeBSD パッチキッ
トを展開してください: tar -xzf /download directory/jws.patch.tar.gz
JWS/intel-S2/bin/startup_wrapper は環境変数 JAVA_HOME に jdk1.1.5 のイ
ンストール先が設定されていることを前提としています. そうなっていなけれ
ば, 環境変数 JAVA_HOME を定義するか, または startup_wrapper を編集して
ください.
JWS の起動は, intel-S2/bin/jws です.
でわ, でわ, みなさんよろしく!
Amancio
startup_wrapper と locate_dirs は
ここ
から入手できます.
サンの JWS 2.0a 拡張も動作します.
Amancio が JWS 2.0a が動作するように最新のパッチファイルを変更しました.
この変更は上記パッチキットに含まれています.
Tom Bartol barton@salk.edu
から, 彼が JWS を動作させるには JWS/intel-S2/bin/jws ファイルを
#!/bin/sh -h から #!/usr/local/bin/bash -h に変更する必要があったと報告しています.
彼以外からはこの報告を受けていないので, この変更はパッチキットには含まれていません.
本 WWW ページ原作は Patrick Gardella patrick@cre8tivegroup.com
によります.
本ページ保守担当は現在 Nate Williams nate@FreeBSD.org
が行っています.
本ページ日本語への翻訳担当は現在 doc-jp プロジェクトのもとで後藤大地
daichi@ongs.net
が行っています.
最終更新日 $Date: 1999-06-25 06:59:27 $
java@freebsd.org