FreeBSD で misima の Java プログラムをコンパイルしようとしたら、javac command not found エラー。JDK (Java Development Kit) を入れ忘れていたということ。憂鬱になる。今日は JDK-1.5.0 patchlevel 3 のインストールメモを書いておく。
/usr/ports/distfiles (ports の tarball の格納場所) は、HDD が壊れた際の救済バックアップから戻しておいたので、すでに JDK-1.5 のパッケージは存在していた。それで /usr/ports/java/jdk15 ディレクトリでいきなり make install を投入すれば、構築処理が始まり、あとは放置して終了を待てばよいはずだった。昨夜 23:00 くらいに JDK のコンパイルが始まり、延々と走って、終わったのは今日の昼頃。JDK バイナリパッケージが用意されている Windows や Linux、Mac OS X とは違って、FreeBSD における Java 環境の構築は原始的なのである。よってもって、Sun Micro Systems がどれだけ苦労してこの開発ツールを完成させたかが偲ばれるというもの。
FreeBSD ではネイティブ Java を組込むためには、Linux 互換バイナリ環境と Linux 用 JDK-1.4.2 がまずもって必要である。前者は OS インストール時のオプションですでに出来上がっていたが、後者は個別に Sun のサイトからダウンロードしてコンパイルしなければならない。それは JDK 1.5 の Java ソースをコンパイルするためである。Java を入れるために Java が要る訳だ。昔、SE になりたての頃、大型汎用機の新しい OS バージョンを組込む際に、一世代前のバージョンを導入しこれを利用して新 OS のモジュールをアセンブル、リンケージしなければならないという、まるで王位継承儀式のようなことをやっていたのを、それは思い出させる。
JDK-1.5 のための OS 環境設定については、/etc/fstab に linux proc ファイルシステムのエントリ ("linprocfs /compat/linux/proc linprocfs rw 0 0") を追加した上で、以下のコマンドを発行して linprocfs をマウントしておく。
# kldload linprocfs # mount /compat/linux/proc
もっともやっかいなのは、TeX 環境のローカルパッケージ群と同じく、独自に組込んでいたクラスライブラリ群の再調整である。Jakarta-Tomcat (Servlet コンテナ) や AXIS (SOAP)、LOG4J (ロガー) などなど。バックアップから復旧するだけでも面倒であった。また一からダウンロードしなければならないとなると、「もうやめた!」モードになってしまう。
最後に CLASSPATH 環境変数に、通常使用するクラスライブラリへのパスを設定して完了である。misima の SOAP リソースを首尾よくコンパイルできた。
FreeBSD ではインストールしただけでは,日本語が豆腐表示されてしまう場合がある。X11 用の日本語 TrueType フォント(/usr/local/lib/X11/lib/fonts/TrueType にある場合)を使うようにするには,以下のようにする。
# cd $JAVA_HOME/jre/lib/fonts # ln -s /usr/local/lib/X11/fonts/TrueType fallback

Comments