ドキュメントをインストールの説明とマニュアルに分割し、整理
[YACASL2.git] / INSTALL
1 1 YACASL2のインストール
2 ******************************
3
4 Table of Contents
5 *****************
6
7 1 YACASL2のインストール
8   要件
9   1.1 YACASL2ファイルのダウンロード
10   1.2 YACASL2ファイルの検証
11     1.2.1 GnuPG分離署名での検証
12     1.2.2 MD5ハッシュ値での検証
13   1.3 YACASL2ファイルの展開
14   1.4 `casl2' `comet2' `dumpword'のビルド
15   1.5 `casl2'の実行テスト
16   1.6 詳細なテスト
17   1.7 インストール
18   1.8 環境変数の設定
19     シェルの確認
20     1.8.1 `PATH'の設定
21     1.8.2 `INFOPATH'の設定
22     1.8.3 `CASL2LIB'の設定
23
24
25 要件
26 ======
27
28  YACASL2は、LinuxやMac OS
29 Xなど、UNIX系のOS上で動作します。現在動作を確認しているのは、Ubuntu
30 LinuxとVine Linux、Mac OS Xです。
31
32  インストール時に、`tar' `gcc'
33 `make'が必要です。Linuxでは多くの場合、標準でインストールされています。Mac
34 OS Xの場合、Xcodeの「Command Line Tools」に含まれます。
35
36 1.1 YACASL2ファイルのダウンロード
37 ============================================
38
39  YACASL2のサイト
40 (http://www.j8takagi.net/yacasl2/)から、`tar.gz'または`tar.xz'ファイルと、対応する検証用ファイルをダウンロードします。githubのダウンロードページ
41 (http://github.com/j8takagi/YACASL2/downloads/)から`tar.gz'などのファイルをダウンロードすることもできます。
42
43 1.2 YACASL2ファイルの検証
44 ================================
45
46  ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。検証にはGnuPG分離署名か、MD5ハッシュ値を使います。
47
48 1.2.1 GnuPG分離署名での検証
49 -----------------------------------
50
51  GnuPGの`gpg'で圧縮ファイルを検証します。この検証を行うには、GnuPGがインストールされ、自分の秘密鍵と公開鍵のペアが作成されている必要があります。
52
53      $ gpg --verify yacasl2.tar.xz.asc
54      gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
55      gpg: Can't check signature: public key not found
56      $ gpg --recv-keys 25B62DD1
57      gpg: requesting key 25B62DD1 from hkp server keys.gnupg.net
58      gpg: key 25B62DD1: public key "j8takagi <j8takagi@nifty.com>" imported
59      gpg: Total number processed: 1
60      gpg:               imported: 1  (RSA: 1)
61
62      $ gpg --lsign-key 25B62DD1
63
64      pub  2048R/25B62DD1  created: 2012-09-29  expires: never       usage: SC
65                           trust: unknown       validity: full
66      sub  2048R/92E25C29  created: 2012-09-29  expires: never       usage: E
67      [  full  ] (1). j8takagi <j8takagi@nifty.com>
68
69
70      pub  2048R/25B62DD1  created: 2012-09-29  expires: never       usage: SC
71                           trust: unknown       validity: full
72       Primary key fingerprint: ...
73
74           .* <.*@.*>
75
76      Are you sure that you want to sign this key with your
77      key ".* <.*@.*>"
78
79      The signature will be marked as non-exportable.
80
81      Really sign? (y/N) y
82
83      You need a passphrase to unlock the secret key for
84      user: ".* <.*@.*>"
85      2048-bit RSA key, ID ........, created 20..-..-..
86
87      <input password> password
88
89      $ gpg --verify yacasl2.tar.xz.asc
90      gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
91      gpg: checking the trustdb
92      gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
93      gpg: depth: 0  valid:   1  signed:   4  trust: 0-, 0q, 0n, 0m, 0f, 1u
94      gpg: depth: 1  valid:   4  signed:   0  trust: 4-, 0q, 0n, 0m, 0f, 0u
95      gpg: Good signature from "j8takagi <j8takagi@nifty.com>"
96
97 1.2.2 MD5ハッシュ値での検証
98 ------------------------------------
99
100  `openssl'と`diff'で圧縮ファイルを検証します。
101
102      $ openssl md5 yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -
103      Files yacasl2.tar.gz.md5sum and - are identical
104
105 1.3 YACASL2ファイルの展開
106 ================================
107
108  YACASL2ファイルをダウンロードしたら、`tar'コマンドで展開します。
109
110      $ tar xvzf yacasl2.tar.gz
111
112 1.4 `casl2' `comet2' `dumpword'のビルド
113 ===========================================
114
115  展開したら、`make'コマンドで`casl2' `comet2' `dumpword'をビルドします。
116
117      $ cd yacasl2
118      $ make
119      make -C src
120      make[1]: Entering directory ‘/home/kazubito/yacasl2/src’
121      gcc -c -g -Wall -I ../include casl2.c
122      gcc -c -g -Wall -I ../include word.c
123      gcc -c -g -Wall -I ../include hash.c
124      gcc -c -g -Wall -I ../include cerr.c
125      gcc -c -g -Wall -I ../include struct.c
126      gcc -c -g -Wall -I ../include cmd.c
127      gcc -c -g -Wall -I ../include assemble.c
128      gcc -c -g -Wall -I ../include token.c
129      gcc -c -g -Wall -I ../include label.c
130      gcc -c -g -Wall -I ../include macro.c
131      gcc -c -g -Wall -I ../include exec.c
132      gcc -c -g -Wall -I ../include dump.c
133      gcc -g -Wall -I ../include -o ../casl2 casl2.o word.o hash.o cerr.o st
134      ruct.o cmd.o assemble.o token.o label.o macro.o exec.o dump.o
135      gcc -c -g -Wall -I ../include comet2.c
136      gcc -g -Wall -I ../include -o ../comet2 comet2.o word.o hash.o cerr.o
137      struct.o cmd.o exec.o dump.o
138      gcc -c -g -Wall -I ../include dumpword.c
139      gcc -g -Wall -I ../include -o ../dumpword dumpword.o word.o cerr.o
140      make[1]: Leaving directory ‘/home/kazubito/yacasl2/src’
141
142 1.5 `casl2'の実行テスト
143 =============================
144
145  ビルドしたら、次のコマンドが正常に実行できるかを確認します。
146 正常に実行された場合は、「Hello, World!」と表示されます。
147
148      $ ./casl2 as/hello.casl
149      Hello, World!
150
151 1.6 詳細なテスト
152 ======================
153
154  `make
155 check'コマンドを実行すると、正常にビルドできているかどうかを詳細にテストできます。
156 テストには、しばらく時間がかかります。
157
158      $ make check
159      195 / 195 tests passed. Details in /home/username/yacasl2/test/integra
160      tion/casl2/Test.log
161      All tests are succeded.
162      149 / 149 tests passed. Details in /home/username/yacasl2/test/integra
163      tion/comet2/Test.log
164      All tests are succeded.
165      4 / 4 tests passed. Details in /home/username/yacasl2/test/integration
166      /dumpword/Test.log
167      All tests are succeded.
168
169 1.7 インストール
170 ======================
171
172  ビルドが成功したら、`make
173 install'コマンドで必要なファイルをインストールできます。
174 初期設定では、ホームディレクトリー以下にYACASL2のファイルがインストールされます。
175
176      $ make install
177
178  コマンド実行時にオプションを指定することで、インストール先のディレクトリーを変更できます。
179 例えば、`/usr/local'以下にファイルをインストールするには、
180 次のようにコマンドを実行します。
181
182      $ sudo make install prefix=/usr/local
183
184  オプションの詳細は次のとおりです。
185
186 オプション     説明                                 初期設定
187 --------------------------------------------------------------------------- 
188 PREFIX         インストール時のルートファイル       `~'
189 BINDIR         実行ファイルのインストール先         `$prefix/bin'
190 INFODIR        infoファイルのインストール先         `$prefix/info'
191 CASL2LIBDIR    CASL II                              `$prefix/lib/yacasl2'
192                ライブラリファイルのインストール先   
193
194 1.8 環境変数の設定
195 =========================
196
197  環境変数`PATH'や`CASL2LIB'を設定することで、YACASL2が使いやすくなります。環境変数は、使っているシェルを確認してから設定します。
198
199 シェルの確認
200 ------------------
201
202  環境変数の設定方法は使っているシェルによって異なります。シェルは、次のコマンドで確認できます。
203
204      $ echo $SHELL
205      /bin/bash
206
207  現在もっとも多く使われているシェルは、BASHでしょう。以下、BASHでの設定方法を説明します。
208
209 1.8.1 `PATH'の設定
210 ---------------------
211
212  `PATH'にYACASL2の実行ファイルのインストール先を追加すると、ディレクトリーの指定を省略して`casl2'
213 `comet2'
214 `dumpword'を実行できます。例えば、初期設定のまま実行ファイルを`~/bin'にインストールしたときは、次のコマンドで設定できます。
215
216      $ PATH=$PATH:~/bin && export PATH
217
218  環境変数の設定は、シェルの初期設定ファイルに追加することでログインしたあと自動的に反映されるようになります。BASHでは`~/.bashrc'が初期設定ファイルです。次のコマンドで追加できます。
219
220      $ echo ’PATH=$PATH:~/bin && export PATH’ >>~/.bashrc
221
222 1.8.2 `INFOPATH'の設定
223 -------------------------
224
225  `INFOPATH'にYACASL2のInfoファイルをインストールしたディレクトリーを追加すると、ディレクトリーの指定を省略して`casl2'
226 `comet2'
227 `dumpword'を実行できます。例えば、初期設定のままInfoファイルを`~/share/info'にインストールしたときは、次のコマンドで設定できます。
228
229      $ INFOPATH=$INFOPATH:~/share && export INFOPATH
230
231  `~/.bashrc'には次のコマンドで追加できます。
232
233      $ echo 'INFOPATH=$INFOPATH:~/share/info && export INFOPATH' >>~/.bashrc
234
235 1.8.3 `CASL2LIB'の設定
236 -------------------------
237
238  環境変数`CASL2LIB'を設定しておけば、CASL
239 IIプログラム作成時に共通ライブラリを呼び出す手間が小さくなります。例えば、CASL2LIBを`~/yacasl2/casl2lib'にインストールしたときは、次のコマンドで設定できます。
240
241      $ CASL2LIB=~/yacasl2/casl2lib && export CASL2LIB
242
243  `~/.bashrc'には次のコマンドで追加できます。
244
245      $  echo 'CASL2LIB=~/yacasl2/casl2lib && export CASL2LIB' >>~/.bashrc
246