Canna も wnn と同様、日本語変換のためのサーバです。
Canna はデフォルトでは以下の場所にインストールされます。
コマンド /usr/local/canna/bin 設定ファイルなど /usr/local/canna/lib ヘッダファイル /usr/local/canna/include ライブラリ /usr/lib エラーファイル /usr/spool/canna ロックファイル /usr/spool/canna/lock マニュアル /usr/local/canna/man
パッケージを入手して展開します。 ソースは以下の場所などにあります。
ftp://ftp.tut.ac.jp/UNIX/canna/Canna32.tar.gz
ftp://ftp.tut.ac.jp/UNIX/canna/Canna32.patch1.sh.gz
ftp://ftp.tut.ac.jp/UNIX/canna/Canna32.patch2.gz
ソースコードを展開します。
% cd $(TOPDIR) % tar zxvf $(SRCDIR)/Canna32.tar.gz % cd Canna32 % zcat $(SRCDIR)/Canna32.patch1.sh.gz | sh -f - % patch -p1 < ca32-p1.patch % zcat $(SRCDIR)/Canna32.patch2.gz | patch -p1
($TOPDIR)/Canna32/Canna.conf を適宜編集します。 詳細は、INSTALL.jp や Canna.conf 内のコメントを参照して下さい。
libCannaDir = /usr/lib ErrDir = /usr/spool/canna LockDir = /usr/spool/canna/lock : cannaDsoRev = 1 : LockFile = .CANNALOCK
libCannaDir = /usr/local/lib ErrDir = /var/log LockDir = /var/run : cannaDsoRev = 1.0 : LockFile = canna.pid
% xmkmf % make Makefile % make Makefilesサブディレクトリの Makefile を生成しています。
ここで、lib/canna/Makefile の 906 行目 でエラーがでます。 これを出ないように修正しておきます。 899行目以降
install.man:: @(TMP=/tmp/tmp.$$$$; \ (略) $(RM) $${TMP})
install.man:: TMP=/tmp/tmp.$$$$; \ (略) $(RM) $${TMP}
% make includes
ここで、stddef.h と stdlib.h の以下の場所を修正します。 canna は日本語を扱うために wchar_t を利用します。これ は、システム付属のものと、canna 独自のものどちらでも利用できます。 が、NetBSD の wchar_t は日本語をサポートしておらず、canna 附属の ものを使用する必要があります。この際、システム側の設定との 食い違いを修正するため、ヘッダファイルをすこし変更する必要が あります。システムのものを直接変更するのは気持ち悪いので、 コピーしてから変更しています。
% cd include % cp /usr/include/stddef.h . % cp /usr/include/stdlib.h . % chmod u+w std* % vi stddef.h % vi stdlib.h
#ifdef _BSD_WCHAR_T_ typedef _BSD_WCHAR_T_ wchar_t; #undef _BSD_WCHAR_T_ #endif
#ifdef _BSD_WCHAR_T_ #ifndef _WCHAR_T #define _WCHAR_T typedef _BSD_WCHAR_T_ wchar_t; #endif #undef _BSD_WCHAR_T_ #endif
つづいて生成されている Makefile の間違いを手動で修正していきます。 修正するのは、lib 以下の Makefile です。
$( cannaDsoRev)となっている部分がいくつかあります。これを
$(cannaDsoRev)と直します。
make を続けます。
% make depend % make % su # make install (# make install.man マニュアルも入れる場合)以上でかんなのコンパイルとインストールが完了します。
canna 5680/tcpのエントリを追加します。
かんなは、コマンド cannaserver で起動します。 cannaserver をマシン起動時に起動させるには、rc.local に 以下のように追加します。
if [ -f /usr/local/canna/bin/cannaserver ]; then rm -f /var/spool/canna/lock/.CANNALOCK* /usr/local/canna/bin/cannaserver echo 'cannaserver started.' fi
cannaserver の終了には、cannakill コマンドを使用します。
各種コマンドは、標準の cannaserver のホスト名を環境変数 CANNAHOST から取得します。 .cshrc や .login で以下のように設定するといいでしょう。
setenv CANNAHOST ホスト名