[CONTENTS] [PREV] [NEXT]

Canna 3.2 patchlevel 2 のインストール

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

Canna.conf

($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

stddef.h, 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 です。

lib/RK, lib/RKC, lib/RKC16, lib/canna, lib/canna16

の中の Makefile の中に、
$(     cannaDsoRev)
となっている部分がいくつかあります。これを
$(cannaDsoRev)
と直します。

make を続けます。

% make depend
% make
% su
# make install
(# make install.man マニュアルも入れる場合)
以上でかんなのコンパイルとインストールが完了します。

追加設定

/etc/services

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 ホスト名

[CONTENTS] [PREV] [NEXT]