FreeBSD 用 JDK 1.1
|
これは, Sun の 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年 7月 19日:
ちょっと(しかし迷惑なバグでしたが)修正して更新した JDK1.1.8 リリースです.
まず, ネットパッチ(以下を参照)がビルドに取り込まれました.
次に, 迷惑な浮動小数点バグが発見され修正されました.
後者のバグは, 浮動小数演算を行なうマルチスレッドコードで影響があり,
そのコードは完全に信頼できない結果を出力します.
1999年 7月 2日:
JAVA の
JAVA's CommAPI
を FreeBSD コミュニティが無料で利用できるようにすることを目指す
FreeBSD CommAPI 移植チームの結成.
プロジェクトは
DRICOT Jean-Michel
によって運営され
http://student.ulb.ac.be/~jdricot/commapi/
にて公式にメンテナンスされます.
プロジェクトに参加したい方は, 気軽に彼にコンタクトをとってださい.
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 のすべてのリリースで
LOCALE とタイムゾーンサポートのバグが修正されました.
1999年 6月 1日: JDK2 の状況
-
JDK1.2/JDK2 の移植作業はとてもゆっくり進んでいます.
それは, 開発チームが JDK1 のきちんとしたリリースに力を集中させているからです.
大抵の JDK2 に関係する開発上の問題は, JDK1 のリリースと,
Sun が提供する JDK1 用の
Swing
を使うことでまかなえます.
これは FreeBSD で非常に調子良く動作します.
1999年 4月 16日: 新しい JDK1.1.7 A.OUT のリリース.
これは 3月のリリースのビルド上の問題に対する修正です.
近い将来, 新しい ELF リリースを作成して,
古い 3.0 系のリリースもサポートする予定です.
1999年 3月 26日: JDK1.1.7 で ELF をサポート.
あわせて, ちょっとしたバグ修正を含む新しい A.OUT のリリース.
1999年 3月 16日: 開発の現状のお知らせ:
-
ELF 版 JDK1.1.7 : JDK1.1.7 の ELF 用ビルド
(FreeBSD 3.x またはそれ以降で使うための) が,
最初の内部テスト段階に入りかかっています.
数週間でベータリリースが利用可能になるはずです.
-
JDK2 (JDK1.2 としても知られる): 数人の人々が
JDK2 を FreeBSD に移植するために作業していますが,
仕事の進みはゆっくりしています.
開発者にこのプロジェクトの作業を行う時間が不足していることが主な原因です
(Blackdown の JDK2 の移植がリリースされれて,
彼らがソースコード差分を公表するれば, 我々の開発の助けになります).
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_ELF.V99-7-19.tar.gz
です.
また, 古い 2.2 系リリース用には
jdk1.1.8_AOUT.V99-7-19.tar.gz
を取ることができます.
両方のリリースをビルドするために使ったパッチは
ここにあります.
これは実際に Java ソースコードをお持ちの方にとってのみ有用です.
また, 国際版の JRE のリリースもあります.
ftp を好む方や, http が利用できない人は, 次のミラーサイトから入手できます.
これらのリリースは Motif のライセンスを必要としません.
それは 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.8/bin:$PATH
または
set path=(/usr/local/jdk1.1.8/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 移植チームのための閉じたメーリングリストです.
(Sun は, JDK ソースコードへのアクセス許可を与える以前に,
署名済みのライセンスを Sun が受け取ることを要求しています.)
きちんと返答してもらうには,
-
問題をできるかぎり正確に書くようにしてください.
-
問題が起きるソース/クラスの 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/java/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 が含まれていません).
必要なもの:
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-09-05 04:29:50 $
java@freebsd.org