FreeBSD Daily Topics

2009年2月11日≪注目≫OpenJDK6 for FreeBSD登場 OpenJDK6ビルド方法 - Ports Collectionへの統合は数週間後を予定

heads-up

OpenJDK6 for FreeBSD

applications - Brian Gardner氏がFreeBSD Java mlやOpenJDK BSD port dev mlにおいて、OpenJDK6 for FreeBSDのパッチpatch-openjdk6-freebsd-0.2.0.zipの公開および意見募集をはじめました。同パッチには次の特徴が盛り込まれています。

  • OpenJDK7に取り込まれたバグ修正がバックポートされている
  • FreeBSD JDK6に取り込まれたバグ修正がバックポートされている
  • パッチおよびビルドを自動実行するためのPerlスクリプトが同梱されている

JDK6(java/jdk16)をビルドしていれば、OpenJDK6 for FreeBSDのビルドに必要になるツールの多くはインストールされますが、それ以外にもpatch-openjdk6-freebsd-0.2.0.zipをビルドするには次のアプリケーションが必要です。

  • Mercurial(devel/mercurial)
  • Rsync(net/rsync)

Brian Gardner氏はすべてのFreeBSD Java(JDK6/JRE6)ユーザにFreeBSD OpenJDK6をビルドして試用し、動作報告を行ってほしいと説明しています。氏はビルドとインストールを簡単にするためのportを近いうちにリリースすると説明しています。

OpenJDKの開発版はJava7に該当するものです。FreeBSDにはすでに従来のライセンスでリリースされたJDK6/JRE6があるわけですが、このタイミングでBrian Gardner氏がFreeBSD OpenJDK6の移植に取り組むようになった背景には次の理由があると説明されています。

  • 業務で利用するためにLinux/FreeBSD/Solaris 10の性能評価を行ったが、FreeBSDはLinuxよりも倍近く性能がよくSolaris 10よりも効率が良いため、FreeBSDを採用することにした(どういった構成でどういった試験がおこなわれたのかは説明されていません)
  • 利用しているJavaアプリケーションがJava6に対応しているため、Java7ではなくJava6を動かす必要があった
  • JDK6/JRE6にはSunからのバグ修正が取り込まれておらず、マルチコア/大容量メモリの扱いで不安定になることがあった
  • このため、Sun Javaに取り込まれている修正やFreeBSD Javaに取り込まれている修正を適用したJava 6が必要になり、OpenJDK6 for FreeBSDの移植作業に取りかかった

まだ包括的な動作試験は行っていないとされていますが、現状でJDK6/JRE6が問題を発生するケース(マルチコア間のメッセージングや大容量メモリのハンドリング)でも問題は発生しないと伝えられています。

今後の作業計画としては次の流れが説明されています。

  • 0.2.0:OpenJDK6 for FreeBSDのインストールが簡単になるようにportを作成。FreeBSD 7.1とFreeBSD 6.4のバイナリをリリース
  • 0.2.1:Mac OS Xのオフィシャルサポートの開始と*BSDに移植する担当者の模索
  • 0.3.0:JCKのTCKを使った互換性検証とすべてのOSに多起用できるインストールスクリプトの開発

また、氏は他の*BSDをサポートするためにOpenBSD/NetBSD/Mac OS Xのマシン寄贈を望んでいるとしています。または、それらのOSでビルドを実行してくれる担当者がほしいと説明しています。

ライセンスが変更されたことでFreeBSD JDK6(java/jdk6)のビルドはかなり簡単になりました。従来はSunからライセンスを取得してソースコードをダウンロードするといって手間が必要でしたが、現在はライセンスを取得しておく必要があるのはタイムゾーンのアップデートデータを取得するときだけで、他のファイルは自動ではダウンロードできないもののfetch(1)で簡単にダウンロードできるようになりました。

OpenJDK6 for FreeBSDはこの障壁をさらに取り除き、他のFLOSSプロダクトと同じようにスムーズにビルドおよびインストールが可能になる点で注目に値します。またまだスケーラビリティは確認されていないものの、Brian Gardner氏の説明どおりであればサーバユースで活用できるスケーラビリティの高いプラットフォームに仕上がっていることになり、FreeBSDの採用されることが多い用途に適しています。

OpenJDK6 for FreeBSDが安定してビルドおよびインストールができるようになった場合、Java6に依存するportsがこれらを使うようになることで、従来よりもJavaアプリケーションやユーティリティに導入も簡単になります。

早期のリリースや安定した稼動には多くの試験が必要です。興味があるユーザはチェックを実施し、Brian Gardner氏へ動作報告を実施してください。

おすすめ記事

記事・ニュース一覧