「PC-Un*x だと日本語入力が貧弱だからな」と思っているあなた、 オムロンソフトさんから 出ているWnn6 for Linux/BSDは試しましたか? 残念ながら Ver.3 は NetBSD に 対応していませんが、1, 2 は対応しています。辞書が増強された Ver.3 が使えないのはちょっと不満ですが、変換能力はやっぱり 売り物だけのことはあります。ここでは Wnn6 を使うのに必要な設定に ついて述べます。
Wnn6 は NetBSD/i386 1.2 や 1.3 の頃にリリースされています。ということは 実行形式が 1.5 からの標準である ELF ではなく、a.out 形式になっていると 言うことです。
ただし、セキュリティ fix 版の Wnn6 は static link されていますので、
ver 1.0/2.0 に含まれる jserver
と ver 2.0 の wnnds
に
関しては以下のカーネルの設定だけで実行することができます。
簡単に設定方法について説明します。
カーネルの configuration file に
options COMPAT_AOUT
が含まれているかどうか確認してください。
(NetBSD/i386 の GENERIC カーネルには含まれています。)
含まれていない場合は付け加えて
カーネルを作り直して、新しいカーネルでリブートしてください。
Wnn6 に付属のコマンドで利用されている共有ライブラリは
の4つです。a.out 形式のこれらライブラリと
実行時リンクエディタ /usr/libexec/ld.so
と
共有ライブラリのキャッシュ制御を行う /sbin/ldconfig
を
用意します。 あとは /usr/bin/ldd
があったら便利かも
しれません。お近くにない場合はこちらにご用意しました。
これらを /emul/aout が元の / になるような形で配置します。
上記の tar.gz をお使いの場合は
# mkdir /emul/aout
# cd /emul/aout && tar xzf ....../aout_libs.tar.gz
で完了です。
次に /emul/etc/ld.so.conf を作成します。別に必要ないといえば 必要ないのですが、新しい /etc/ld.so.conf には古い ldconfig には 理解できないようなキーワードを書くことが出来るようになっているので 取りあえず作っておきましょう。中身は空でもいいですし、
/usr/lib
だけでもいいです。上記の tar.gz には含まれています。
/emul/var/run が存在すればそこに、無ければ /var/run に ld.so.hints が作成されます。
jserver を実行します。
/usr/local/bin/Wnn6/jserver
以上で設定は終了です。/emul/var/run が存在しない場合は /etc/rc.local で /emul/aout/sbin/ldconfig を実行するように 設定するか、/emul/aout/sbin/ldconfig を /sbin/ldconfig に コピーしておいてください。ELF 環境には /sbin/ldconfig は 存在しないので、安心してコピーできます。
emacs 等を作成しようとしたときに wnn6 ライブラリが a.out だと link 出来ません。
困ったなぁと思っているあなた、libwnn6 のソースは公開されているので
作り直せばいいのです。ソースの場所は
ftp://ftp.omronsoft.co.jp/pub/Wnn6/sdk_source/Wnn6-SDK-20000817.tar.gz
です。ほどいた後、src/contrib/im/Xsi/README を読み、
make World -f Makefile.ini World
を実行します。出来上がった Wnn/jlib/libwnn6_fromsrc.a
を
/usr/local/lib/libwnn6.a
として、 Wnn/include/*
を
/usr/local/include/wnn6
にコピーして使います。
Return to Comfortable Life With NetBSD