/*
* INSTALL
*
*/
本文書では、『かんな』のインストールについて説明します。なお、『かんな』
のコンパイルには X11R6 の imake が必要です。
-1.クイックインストール
本文書に目を通すのが面倒で、各種パラメタの設定やインストールディレ
クトリがデフォルトで良い場合は以下を行ってください。インストールは
/usr/local/canna 下に行われます。
(1) SONY NEWS、HP-UX、FreeBSD、EWS-UX/V(CISC)、FT-UX、JLE なしの
SunOS、OS/2 をお使いの方は、まず付録 A の該当部分に目をお通しく
ださい。
(2) X11/Xosdefs.h で X_WCHAR を define していたり、cc のオプションに
-DNOTSTDHDRS を付けている場合にはまず付録 A.9 に目をお通しくださ
い。
(3) 以下を実行します。
% xmkmf
% make Makefile
% make canna
(ここは7分〜60分ほどかかります)
% su
# make install
# make install.man
なにかしらエラーが出た場合には以下に目をお通しください。root になれ
ない場合には「5. root になれない場合のコンパイルおよびインストール」
を参照してください。
0.はじめに
『かんな』の環境設定の概要を示します。なお、root になれない場合の手
順を最後に記述しておきますので root の権限がない場合はそこを参照し
てコンパイル・インストールしてください。
1. 前準備
2. コンパイル
3. インストール
4. 運用
『かんな』Version 3.5β2 に関しては以下のマシンでコンパイル確認して
おります。
マシン OS コンパイラ
IBM-PC 互換機(486) FreeBSD 2.1.5R cc(gcc 2.6.3)
IBM-PC 互換機(486) Linux 2.0.0 cc(gcc 2.7.?)
EWS 4800/320EX UX/4800 R12.2 /usr/abiccs/bin/cc
Sparc Station 5 Solaris 2.5 cc(gcc 2.6.0)
HP 9000/715/80 HP-UX 10.01
Indigo2 IRIX64 6.2 /usr/bin/cc
EWS 4800/350 EWS-UX/V(Rel4.2) R9.3 /usr/abiccs/bin/cc
『かんな』Version 3.5β1 に関しては以下のマシンでコンパイル確認して
おります。
マシン OS コンパイラ
IBM-PC 互換機(486) FreeBSD 2.1.5R cc(gcc 2.6.3)
IBM-PC 互換機(486) Linux 2.0.0 cc(gcc 2.7.?)
EWS 4800/320EX UX/4800 R12.2 /usr/abiccs/bin/cc
Sparc Station 5 Solaris 2.4?
HP 9000/715/80 HP-UX 10.01
IBM-PC 互換機(486) OS/2 Warp J3.0 emx 0.9c(gcc 2.7.2)
? SunOS 4.1.4 (JLE) cc
? Linux 2.0.25 + Slackware 3.1
? FreeBSD 2.2-SNAP-961014 gcc 2.7.2.1
HP 9000/712/60 HP-UX A.09.05 gcc 2.7.0
? Linux 2.0.15 + Slackware 3.1
? Linux 1.2.13 + Slackware 3.0
Sparc Station LX Solaris 2.5
IBM-PC 互換機 Linux(Slackware96) 2.0.25
Sparc Station 20 Solaris 2.4 SPARCompiler C 3.0.1
IBM-PC 互換機(386) NetBSD-1.2B
Sparc Station 2 NetBSD-1.2
Sun3/80 NetBSD-1.2
IBM-PC 互換機(486) OS/2 Warp J3.0 emx 0.9c(gcc 2.7.2)
これらのマシン以外のマシンでコンパイルを行ったり動作させたかたは是
非 Canna@nec.co.jp までご連絡ください。
『かんな』のコンパイルに関して何らかの問題があった場合にも
Canna@nec.co.jp にお問い合わせください。
Canna@nec.co.jp は『かんな』に関するメーリングリストです。
Canna@nec.co.jp に加入なさりたい場合には Canna-request@nec.co.jp ま
でお申込ください。加入に関する説明は http://www.nec.co.jp/canna/ に
ありますのでご参照ください。
X11R5 にコントリビューションした『かんな』は、物件自体にはバージョ
ンが明記されていなかったのですが、Version 1.2 ということにします。
Version 1.2 から Version 2.2 への変更点、およびそれ以降の変更点につ
いては CHANGES.jp をご覧ください。
1. 前準備
1.1 Canna.conf の設定
Canna.conf ファイルを書き換えて、『かんな』システムをインストールす
るディレクトリなどを指定します。
cannaBinDir コマンドをインストールするディレクトリです。
cannaSrvDir cannaserver および cannakill をインストールするディ
レクトリです。
cannaLibDir 『かんな』の種々のファイルをインストールするディレ
クトリです。
cannaManDir マニュアルページをインストールするディレクトリです。
cannaIncDir インクルードファイル等をインストールするディレクト
リです。
libCannaDir libcanna 等ライブラリ等をインストールするディレク
トリです。
ErrDir ログファイルをインストールするディレクトリです。
wcharDefinition wchar_t としてシステムのものを使うかどうかを指定し
ます。
Wlib wchar_t 関連の関数が入っているライブラリを指定しま
す。libc に入っている場合にはブランクのままにして
おきます。 System V では通常 -lw です。
JapaneseLocale 日本語を使うときの LANG 環境変数の値を指定します。
cannaOwner 辞書とかな漢字変換サーバのオーナを指定します。4.1
の項も参照してください。
cannaGroup 辞書とかな漢字変換サーバのグループを指定します。
4.1 の項も参照してください。
pointerIntegerDef
ポインタのサイズが long のサイズよりも大きい場合で、
long long 型が存在する場合はここに -DBIGPOINTER を
定義してください(例えば SX3 の SUPER-UX の場合)。
cannaDsoRev shared library のリビジョンを指定します。so.1 であ
れば 1 です。
sharedLibExtension
shared library の拡張子を指定します。通常は so.1
などが使われます。 HP-UX では sl です。
DicDir 辞書をインストールするディレクトリです。
pubdicDir Pubdic+ では最新の辞書が準備されています。そちらを
利用する場合にはここでそのディレクトリを指定します。
Canna の make をする前に、指定されたディレクトリに
iroha.t が作られている状態になっているようにしてく
ださい。
JAPANESEMAN マニュアルページをインストールする時に日本語のマニュ
アルページをインストールするか、英語のマニュアルペー
ジをインストールするかを示します。このパラメタに関
しては #define するかしないかにより動作が切り替わ
りますのでご注意ください。
日本語のマニュアルページに対して英語のマニュアルペー
ジは不十分ですのでご注意ください。
cannaLight 『かんな』を少しでも軽くしたい人はこのパラメタを 1
にしてください。古いプロトコルを組み込まなくなりま
す。デフォルトは 1 です。
USE_OBSOLETE_STYLE_FILENAME
漢字辞書名、ローマ字テーブル名を Version 3.4 以前
の名前のままにする場合には、このマクロを #define
してください。ちなみに、Version 3.5 から、ローマ字
か名変換テーブルの拡張子が .kp から .cbp へ、テキ
スト辞書ファイル、バイナリ辞書ファイル、辞書学習ファ
イルの拡張子がそれぞれ、.t, .d, .fq から .cbd, .
ctd, .cld に変更になりました。
例としてデフォルトの設定を以下に示します。
cannaBinDir = /usr/local/canna/bin
cannaSrvDir = /usr/local/canna/bin
cannaLibDir = /usr/local/canna/lib
cannaManDir = /usr/local/canna/man
cannaIncDir = /usr/local/canna/include/canna
libCannaDir = /usr/local/lib
ErrDir = /usr/spool/canna
wcharDefinition = -DCANNA_WCHAR
Wlib =
JapaneseLocale = japan
cannaOwner = bin
cannaGroup = bin
pointerIntegerDef =
sharedLibExtension = so.1
cannaDsoRev = 1
DicDir = $(cannaLibDir)/dic
#define JAPANESEMAN
pubdicDir = $(CANNAROOT)/dic/ideo/pubdic
cannaLight = 1
wcharDefinition は、OS の wchar_t 定義と mbstowcs などの関数定義を
用いる時には何も指定しません。OS が wchar_t の定義を行っていなかっ
たり、mbstowcs などの関数を持っていなかったり、あるいは mbstowcs を
持っていても日本語環境 (/usr/lib/locale/ja_JP など)を用意していない
場合には -DCANNA_WCHAR を指定してください。
-DCANNA_WCHAR を指定しなかった場合には JapaneseLocale の設定が必要
となります。OS の定義しているロケール名を設定してください。このとき
設定するロケール名は、EUC コードを用いるロケール名を用いてください。
ロケール名には以下のようなものがあります。
japanese SUN Solaris JLE
japan NEC UX/4800
ja_JP.EUC SONY NEWS-OS
1.2 widedef.h の設定
本バージョンでは、-DCANNA_WCHAR が付いている場合をデフォルトとし、
wchar_t として 4 バイト幅、32 ビット表現のものを使うようにしました。
OS の wchar_t 表現に合わせたいかたは以下の注意を良く読み、
-DCANNA_WCHAR をはずしてください。
-DCANNA_WCHAR を設定しなかった場合には OS の wchar_t 定義などが正し
く参照されるように注意する必要があります。少なくとも wchar_t の定義
だけは正しく参照されるように canna/widedef.h を修正してください。
特に GCC を用いる時などに、どのヘッダのどの定義が使われるかについて
細心の注意が必要です。
widedef.h の以下の行を、利用する OS に合わせて変更してください。
/* replace widec.h instead, if SunOS 4.0 */
#include <stddef.h>
また、SunOS の JLE なし版や、EWS-UX/V など、wchar_t 型の定義がなさ
れていても _WCHAR_T マクロが定義されていないため wchar_t の typedef
が重複して行われることがあります。wchar_t 型の定義の時に _WCHAR_T
マクロの定義も同時に行われることを確認してください。wchar_t 型の定義
の典型的な例は以下のようになります。
#ifndef _WCHAR_T
#define _WCHAR_T
typedef unsigned long wchar_t;
#endif
SunOS の JLE なし版や、EWS-UX/V などの対処法に関しては本文書の最後
の部分に説明を書きましたので参照してください。
2. コンパイル
コンパイルおよびインストールは X11 の Imakefile をベースに行われま
す。Imakefile は 機種依存をなくした Makefile であり、Imakefile から
そのマシン用の Makefile を作成し、実際の make を行います。Imakefile
から Makefile を作成するプログラムを imake と呼びます。imake (また
は imake を呼び出すシェルスクリプトである xmkmf) は X11 ベースのフ
リーソフトウェアをコンパイルするときに必要となりますので、お持ちで
ないかたはこの機会にインストールされることをお勧めします。
ここでは imake を持っていると仮定しての説明を行います。
imake の環境が既に作成されている場合、
xmkmf; make Makefile
make canna
と入力してください。
xmkmf; make Makefile ではトップディレクトリの Makefile を
Canna.conf のパラメタにしたがって、作り直します。
make canna では以下のことが行われます。
(i) make Makefiles
全ての下位ディレクトリにて Imakefile から Makefile を作成し直しま
す。
(ii) make clean
各ディレクトリをクリアします。
(iii) make includes
色々なディレクトリから参照されるヘッダファイルを include ディレク
トリに集めます。また、このとき、ディレクトリ階層の構築も行われま
す。ディレクトリ階層の構築には mkdirhier と言うプログラムが必要で
す。mkdirhier が $(BINDIR)(通常は /usr/bin/X11) に存在することを
確認してください。存在していない場合には、X11 のディストリビュー
ションの xc/util 下から入手して $(BINDIR) にインストールしておい
てください。
(iv) make depend
各ディレクトリでのファイルの依存関係を Makefile に反映します。ま
たこのとき yacc や lex の展開やシンボリックリンクファイルの作成な
ども行われます。
ここでも makedepend というプログラムが必要です。存在しない場合に
は X11 のディストリビューションの xc/util 下から入手してインストー
ルしておいてください。
(v) make
実際にプログラムのコンパイルを行います。
3.インストール
3.1 通信環境の設定
かな漢字変換サーバとそのクライアント間における通信のためのポート番
号を設定します。/etc/services に以下の1行を追加してください。
canna 5680/tcp
(NIS を使用している場合は、マスタサーバのデータベース等に設定して
ください)。
「かんな」を以前から利用していた場合 /etc/services に同じポート番
号で iroha というサービスが登録されている場合があります。その場合
以前の名前でサービスポートを参照する場合もあると思われますので、そ
の行はそのまま残しておいて、さらに canna に関する行を追加するよう
にしてください。
3.2 インストール
『かんな』をインストールする場合、ソースのトップディレクトリで以下
のいずれかのコマンドを実行してください。
1) make install
以下のうち 3) 〜 5) のインストールをします。
2) make install.man
各コマンドのマニュアルページを cannaManDir で指定されたディ
レクトリにインストールします。
3) make instserver
『かんな』のかな漢字変換サーバ環境をインストールします。
4) make instclient
『かんな』のクライアント環境をインストールします。
5) make instsgs
『かんな』のライブラリやヘッダなどコンパイル環境をインストー
ルします。
それぞれ、Canna.conf に指定したディレクトリにインストールされます。
3.3 各ディレクトリの構成について
以下に『かんな』のソース構成について示します。
-+ lib ----+- RK かな漢字変換エンジンのライブラリです。
| +- RKC かな漢字変換サーバとの通信用のライブラリです。
| +- canna クライアント用のライブラリです。
| |
| +- RKC16 ┐
| +- canna16 ┘それぞれ wchar_t が16ビット幅のライブラリです。
|
| これらのライブラリは $(libCannaDir) で指定された
| ディレクトリにインストールされます。
|
+ server かな漢字変換サーバ のディレクトリです。
| $(cannaSrvDir) で指定されたディレクトリにインストー
| ルされます。
|
+ canna ヘッダファイルです。
|
+ cmd ----+* コマンドです。
| $(cannaBinDir) で指定されたディレクトリにインストー
| ルされます。
|
+ ccustom カスタマイズファイル用エディタです。Lisp を意識し
| ないでカスタマイズが行えます。
|
+ dic --+ ideo かな漢字変換辞書です。
| |
| + phono ローマ字かな変換テーブルです。
|
| $(DicDir) で指定されたディレクトリにインストール
| されます。
|
+ canuum 『かんな』版 uum (TTY 用の日本語入力フロントエン
| ド)を作成するためのパッチおよび追加ファイルがあり
| ます。
|
+ sample サンプルクライアントです。
|
+ misc その他のファイルです。
|
+ doc 各種ドキュメントが存在します。
3.4 種々のファイルについて
1) ログファイル
かな漢字変換サーバは起動時にエラーメッセージ等を出力するログファ
イルを作成します。$ErrDir で設定したディレクトリに作成され、ログ
ファイルの名前は "CANNA0msgs" です。
デフォルトでは以下に示すログファイルが作成されます。
/usr/spool/canna/CANNA0msgs
3.5 メッセージングについて
『かんな』の辞書メンテナンスコマンドのいくつかはメッセージングが行
われています。したがって、Solaris 2.1 や EWS-UX/V(Rel4.0) などの
System V Release 4 をベースとした OS にて『かんな』を用いる場合に
は LANG 環境変数(あるいはより細かい指定で LC_MESSAGES 環境変数)に
て日本語を指示する文字列(例えば japanese や japan、ja_JP.EUC など)
を指定すると各種メッセージが日本語メッセージに切り替わります(デフォ
ルトは英語です)。
各種コマンド用の日本語メッセージファイルは cmd/catdic/cannacmd.jpn
として存在します。このメッセージファイルを、例えば、
# mkmsgs -i japan cannacmd.jpn cannacmd
と打つことによりシステムのメッセージディレクトリにインストールして
ください(EWS-UX/V(Rel4.0)の例)。
実際にはシステムによって mkmsgs コマンド以外のコマンドを使うことも
あると思います。各システム添付のマニュアルのメッセージングに関する
部分を参照してください。
4.運用
4.1 サーバと辞書のオーナ・グループ
辞書は容易に内容が書き換えられてしまったりしないように、アクセス権
を制限する必要があります。例えばログイン名 canna、グループ名 canna
を作成し、辞書のオーナとグループをそれぞれ canna にしておくと良い
でしょう。
このとき、cannaserver だけは辞書の読み書きができるように、各辞書ディ
レクトリ、辞書ファイルなどは、オーナ・グループ canna に対し読み書
き権を開放し、アザーに対してはアクセス権を与えないようにします。
cannaserver はオーナとグループをそれぞれ canna にし、setuid ビット
と setgid ビットを立てておきます。
System V ではオーナ・グループを canna の代わりに bin にしても良い
でしょう。
辞書や cannaserver のオーナやグループの設定は Canna.conf の
cannaOwner、cannaGroup にて設定します。
以下ではオーナ・グループをそれぞれ bin にする場合で例として説明を
行います。
4.2 かな漢字変換サーバの起動
以下のコマンドを実行して、かな漢字変換サーバを起動します。
# cannaserver
cannaserver は自分自身で fork して、バックグラウンドジョブになりま
すので、cannaserver の起動時に "&" をつける必要はありません。
マシンの起動時に、自動的に cannaserver を立ち上げたい場合には、起
動スクリプト(/etc/rc.local 等)で cannaserver を起動するように設定
してください。その際ロックファイルが残っていると cannaserver が起
動できないので、必ずロックファイルを削除してから起動してください。
例えば、"/etc/rc.local" の中で以下のように設定すると良いでしょう。
/usr/local/canna/bin/cannaserver -syslog
echo 'cannaserver started.'
4.3 かな漢字変換サーバの終了
以下のコマンドを実行して、かな漢字変換サーバを終了させます。
# cannakill
かな漢字変換サーバは辞書情報の一部をメモリ上に保存しています。その
ため、かな漢字変換サーバを直接 SIGKILL などで kill した場合には、
メモリ上の辞書情報が辞書ファイルに書き込まれない場合があります。か
な漢字変換サーバを終了させる場合は、必ず cannakill で終了させるよ
うにしてください。
マシンの shutdown の際に自動的にかな漢字変換サーバを kill するよう
にしたい場合には、shutdown スクリプト等で cannakill を起動するよう
に設定してください。
4.4 辞書関連
(1)かな漢字変換辞書
かな漢字変換辞書の置かれるディレクトリを『辞書ホームディレクトリ』
と言います。これは "$DicDir" あるいは以下のようにコマンド引数で
指定されます。
(例) 『辞書ホームディレクトリ』を /usr/lib/canna/dic にしたい場合。
# cannaserver /usr/lib/canna/dic
『辞書ホームディレクトリ』は以下のように構成されています。
-+-- *.cbp ローマ字かな変換テーブル
|
+-- canna システム辞書ディレクトリ
|
+-- user/* ユーザ辞書ディレクトリ
|
+-- group/* グループ辞書ディレクトリ
辞書ホームディレクトリとその下にあるディレクトリとファイルはすべ
て、cannaserver が読み書きできるようにしてください(※ 4.1 を参照
してください)。
(2)ローマ字かな変換テーブル
ローマ字かな変換テーブルファイルに関してはデフォルトでは
"/usr/local/canna/lib/dic" の下にあるものを見にいきます。
これは カスタマイズファイル "$HOME/.canna" でローマ字かな変換テー
ブルをフルパスで指定することにより "/usr/local/canna/lib/dic" の
下以外に置くことが可能です。
4.5 初期化(カスタマイズ)ファイル
『かんな』では、ユーザ毎に初期化(カスタマイズ)ファイルを持つことが
できます。このファイルにキーバインドや、ローマ字かな変換テーブル・
かな漢字変換辞書等の設定を行うことによって、ユーザ毎に使用しやすい
環境を整えることができます。
5. root になれない場合のコンパイルおよびインストール
root になれない場合は例えば以下のようにコンパイル・インストールする
と良いでしょう。
5.1 Canna.conf の設定
コマンドや辞書などがインストールされるディレクトリとして、自分のディ
レクトリを指定します。また、辞書とかな漢字変換サーバのオーナとグルー
プを自分のものにします。例えば以下のようになります。
cannaBinDir = /home/kon/canna/bin
cannaSrvDir = /home/kon/canna/bin
cannaManDir = /home/kon/canna/man
cannaLibDir = /home/kon/canna/lib
cannaIncDir = /home/kon/canna/include/canna
libCannaDir = /home/kon/canna/lib
DicDir = $(cannaLibDir)/dic
ErrDir = /home/kon/spool/canna
wcharDefinition = -DCANNA_WCHAR
Wlib =
JapaneseLocale = japanese
sharedLibExtension = so.1
cannaOwner = kon
cannaGroup = user
さらに以下の記述も Canna.conf に追加してください。
INCROOT = /home/kon/canna/include
また、Canna.conf 内で chown、chgrp、chmod などを行うコマンドが以下
のように定義されていますが、下記のように直してください。
《現定義》
/* 以下の3つは root にならないでインストールするのであれば echo に
変えてください。 */
CHOWN = chown
CHGRP = chgrp
CHMOD = chmod
《root になれない場合の定義》
CHOWN = echo
CHGRP = echo
CHMOD = echo
5.2 コンパイルおよびインストール
X11R6 の imake がすでにシステムにインストールされているのであれば、
上記の Canna.conf を設定した後は、
xmkmf
make Makefile
make canna
make install
make install.man
で、コンパイル・インストールが行えます。
X11R6 がマシンにはインストールされていないが、ソースは入手可能であ
ると言う場合は、X11R6 のソースの xc/config を持ってきて、まず、
config の下を make してください。(あるいは、NEC の ftp サイトから
imake 関連部分だけを入手することもできます。
ftp://ftp.nec.co.jp/pub/Canna/Canna32 をご参照ください。)
config の下のコンパイルに関しては、config/cf/Makefile.ini の中の
BOOTSTRAPFLAG を各マシンに応じて必要な修正をして、
make -f Makefile.ini
にて、コンパイルします。
make canna 中、mkdirhier を使用しますが、このコマンドは X11 の
$(BINDIR) を用いたフルパスで指定されています。これに対処するために、
config 下の適当なファイルをエディットするか、『かんな』の
Canna.conf にて、
BINDIR = /home/kon/xutil
のようにしてください(ちょっとトリッキーですけど)。
以上の準備ができたら、『かんな』をコンパイルするディレクトリのトッ
プディレクトリ(Canna.conf が存在するディレクトリ)にて、imake を相対
パスで以下のように実行します。
(例)
% ../xc/config/imake/imake -I../xc/config/cf -DTOPDIR=../xc \
-DCURDIR=../Canna35
あとは、
% make Makefile
% make canna
% make install
% make install.man
を実行します。
5.3 通信環境の設定
root の権限がないと /etc/services は書き換えられません。ただし、
/etc/services に記述がなくてもかな漢字変換サーバやかな漢字変換ライ
ブラリはポート番号をとりあえず 5680 番で動くのでとりあえずは運用で
きます。
ただし、この状態では、cannaserver を起動するたびにログファイルにウォー
ニングメッセージが出力されますのでご注意ください。
付録A 各種 OS での注意点
A.1 EWS-UX/V(CISC 版) の場合
EWS-UX/V では stdio.h で wchar_t の定義が行われます。このとき OS の
バージョンによっては _WCHAR_T の定義がなされませんで、以下のように
wchar_t の周辺部分を書き換えてください。
#ifndef _WCHAR_T
#define _WCHAR_T
typedef unsigned short wchar;
typedef unsigned short wchar_t;
#endif
/usr/include/stdio.h を直接書き換えるのがためらわれる場合には、2.
の (iii) まで実行した状態で、/usr/include/stdio.h を『かんな』のトッ
プディレクトリの include/ の下に持ってきて書き換え、(iv) 以降を実行
するようにするのも良いでしょう。
A.2 FT-UX/V の場合
-Xc オプションでコンパイルすると、stdio.h と sys/byteorder.h とで
warning が発生します。気になる人はヘッダファイルを修正してください。
A.3 SunOS の場合
・JLE なしの場合
/usr/include/sys/stdtypes.h で wchar_t の定義がありますが、以下のよ
うに変更してください。
#ifndef _WCHAR_T
#define _WCHAR_T
typedef unsigned short wchar_t; /* big enough for biggest char set */
#endif
さらに、wcharDefinition で -DCANNA_WCHAR を定義してください。
/usr/include/sys/stdtypes.h を直接書き換えるのがためらわれる場合に
は、2. の (iii) まで実行した状態で、/usr/include/sys/stdtypes.h を
『かんな』のトップディレクトリの include/sys/ の下に持ってきて書き
換え、(iv) 以降を実行するようにするのも良いでしょう。
・shared object を利用する場合
shared object を利用する場合には Canna.conf 内の shared object のリ
ビジョンを指定する部分にメジャーリビジョンとマイナーリビジョンの2
つのリビジョンが必要となります。そこで、
cannaDsoRev = 1.1
のように2つのリビジョンを指定するようにお願いします。
A.4 SONY NEWS の場合
SONY NEWS の日本語環境は SJIS と EUC の両方をスイッチすることが可能
です。『かんな』ではソースのところどころに EUC 文字列が入っています
ので NEWS でコンパイルするときは LANG 環境変数に EUC 環境を指定する
名前を設定し、tty の設定を EUC に変えてからコンパイルしてください。
具体的には以下のようにします(csh の場合)。
% setenv LANG ja_JP.EUC
% stty euc sys
A.5 HP-UX の場合 (この部分は松沢氏による記述です)
HP-UX で共有ライブラリを使う場合、ライブラリはオブジェクトがリンク
された時に指定されたパス名で参照されます。例えば、 libcanna.sl を
/usr/local/lib/libcanna.sl という名前で参照させたいのならばリンクを
するときに libcanna.sl を /usr/local/lib に置いてリンクをしなければ
いけません。そこで少々手間がかかりますが、次の手順でのインストール
をお勧めします。
1) Canna.conf で UseInstalledLibCanna を「NO」とします。
2) make canna を行ないます。
3) make install を行ないます。
4) Canna.conf で UseInstalledLibCanna を「YES」とします。
5) make canna を行ないます。
3) make install を行ないます。
今の所 HP-UX には imake は含まれていません。また MIT から頒布された
X11R5 には HP-UX 用の共用ライブラリ作成用のコンフィグレーションファ
イルは含まれていません。これらについては下記サイトからアンサポートで
頒布されているコンパイル済みオブジェクト、コンフィグファイルなどが
参考になるかも知れません。
hpcvaaz.cv.hp.com [15.255.72.15] ~ftp/pub/MitX11R5
A.6 FreeBSD をお使いの場合、
FreeBSD 2.1.5R の stddef.h, stdlib.h のなかでの wchar_t の定義は以
下のようになっています。
#ifdef _BSD_WCHAR_T_
#ifndef _ANSI_SOURCE
typedef _BSD_WCHAR_T_ rune_t;
#endif
typedef _BSD_WCHAR_T_ wchar_t;
#undef _BSD_WCHAR_T_
#endif
stdlib.h、stddef.h の上記定義を、
#ifdef _BSD_WCHAR_T_
#ifndef _ANSI_SOURCE
typedef _BSD_WCHAR_T_ rune_t;
#endif
#ifndef _WCHAR_T
#define _WCHAR_T
typedef _BSD_WCHAR_T_ wchar_t;
#endif
#undef _BSD_WCHAR_T_
#endif
のように変更してください。
/usr/include/stddef.h 等を直接書き換えるのがためらわれる場合には、
2. の (iii) まで実行した状態で、/usr/include/stddef.h 等を『かんな』
のトップディレクトリの include/ の下に持ってきて書き換え、(iv) 以降
を実行するようにするのも良いでしょう。
また、ccustom を 386BSD 系の OS で用いる場合には ccustom/README.386
を参照してください。
A.7 NeXTのwcharDefinitionの定義(この部分はSRAのひろのぶ氏による記述です)
1)NeXTSTEP 3.x(J)ではCanna.confのwcharDefinitionにWCHAR16を定義して
コンパイルしてください。
wcharDefinition = -DCANNA_WCHAR -DWCHAR16
2)NeXTSTEP 3.0Jではwchar_tの定義がstddef.hの中の定義とコンフリクト
します。これを避けるには、NeXTSTEP 3.0Jの
/NextDeveloper/Headers/ansi/m68k/stddef.hへ次のパッチを入れててくだ
さい。
------------( cut here )----------------
14a15,16
> #ifndef _WCHAR_T
> #define _WCHAR_T
15a18
> #endif
-------------( end )----------------
# cd /NextDeveloper/Headers/ansi/m68k
# patch stddef.h < /tmp/stddef.h.patch
3) /lib/cppの仕様が違う点
NeXTSTEPは/lib/cppの仕様が違うのでcmd/の下のシェルコマンド
cannakill
dpbindic
mkromdic
canvert
mkbindic
は正しくインストールできません。gnuのCコンパイラのソースコードから
cpp を取り出してくるか、他のマシンで既に作成しているものをコピーし
てくるか、他のマシンのcppをrshで使うかしてみてください。
例: cannakillの場合 --- GNU Emacsのcccpを使う(注意1)
NeXT> cd cmd
NeXT> make clean
NeXT> make CPP="/usr/local/bin/cccp"
(注意1)Emacsのcccpを使うと各ファイルの最初のコメント部分で1部
/**/
というのがファイルの中に残ってしまいます。これはエディタで修正して
ください。
A.8 AIX をお使いの場合(この部分は IBM の古畑氏による記述です)
imake は OS のインストール TAPE の X11dev.src に含まれるので, これ
をインストールするか, MITの R[56] を使うかのいずれかが必要です.
A.9 X11/Xosdefs.h で、X_WCHAR を #define している場合や、cc で
-DNOSTDHDRS が定義されている場合。
X_WCHAR が #define されていたり、NOSTDHDRS が定義されている場合、
Xlib.h をインクルードすると wchar_t の typedef が Xlib.h で行われて
しまうようになります。
X11R6 に付いて来るままの Xlib.h では、wchar_t の typedef が、
#ifndef X_WCHAR
#include <stddef.h>
#else
/* replace this with #include or typedef appropriate for your system */
typedef unsigned long wchar_t;
#endif
となっており、無造作に wchar_t が定義されています。
/* replace this with #include or typedef appropriate for your system */
とある通り、typedef をシステムに合った #include に書き換えるか、少
なくとも typedef を以下のように _WCHAR_T マクロのチェックで囲むかし
てください。
#ifndef X_WCHAR
#include <stddef.h>
#else
#ifndef _WCHAR_T
#define _WCHAR_T
typedef unsigned long wchar_t;
#endif
#endif
システムの Xlib.h を書き換えるのがためらわれる場合は、 2. の (iii)
まで実行した状態で、/usr/include/X11/Xlib.h を『かんな』のトップディ
レクトリの include/X11/ の下に持ってきて書き換え、 (iv) 以降を実行
するようにするのも良いでしょう。
A.10 OS/2 をお使いの場合(この部分の記述は上野@日本アイ・ビー・エムに
よるものです)
1)『かんな』のコンパイルには emx 0.9c 以上が必要です。 emx 0.9c は
ftp://ftp.leo.org や ftp://hobbes.nmsu.edu などから入手できます。
2) XFree86 for OS/2 の imake が必要です。XFree86 for OS/2 は
http://borneo.gmd.de/~veit/os2/xf86os2.html などから入手可能です。
XFree86 for OS/2 3.2 の場合であれば、XF32base.zip と XF32prog.zip が
最低限インストールされている必要があります。
3) x:\XFree86\bin を PATH に加えてください (x: はインストールした
ドライブ名です)。また環境変数 X11ROOT が最低限必要です。例えば E:
ドライブのルートディレクトリにインストールした場合は、
SET X11ROOT=E:
を CONFIG.SYS に加えてください。
4) XFree86/lib/X11/config 以下のファイルを書き換えます。
os2.cf:
#define InstallCmd install -> #define InstallCmd ginstall
#define BourneShell /**/ -> #define BourneShell cmd
os2Lib.rules:
#define HasSharedLibraries YES -> #define HasSharedLibraries NO
5) GNU の sed/sort/awk/install が必要です。ftp://hobbes.nmsu.edu など
に以下のようなファイル名でみつかります。
gnused.zip
gnuawk.zip
gnufutil.zip (install はこれに含まれる)
gnututil.zip (sort はこれに含まれる)
また sort.exe と install.exe はそれぞれ gsortexe, ginstall.exe とリ
ネームしておいてください。 これは OS/2 の標準の sort.exe, install.exe
と区別するためです。
6) Canna.conf を設定します。詳しくは「1.1 Canna.conf の設定」をご覧く
ださい。Canna.conf 中の
CHOWN = chown
CHGRP = chgrp
CHMOD = chmod
は以下のように変更してください。
CHOWN = echo
CHGRP = echo
CHMOD = echo
7) 以下を実行します。
[x:\Canna35] xmkmf
[x:\Canna35] x11make Makefile
[x:\Canna35] x11make canna
[x:\Canna35] x11make install
さらに詳しい説明は本文書の「2. コンパイル」以降をご覧ください。
以上
/* Copyright 1994 NEC Corporation, Tokyo, Japan.
*
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without
* fee, provided that the above copyright notice appear in all copies
* and that both that copyright notice and this permission notice
* appear in supporting documentation, and that the name of NEC
* Corporation not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission. NEC Corporation makes no representations about the
* suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
* NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
* USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
($Id: INSTALL.jp,v 2.47 1996/12/02 11:37:43 kon Exp $)