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