959ff157aa8ea77a6104336c0bd448b2d8ac5e35
[YACASL2.git] / INSTALL
1 1 要件
2 2 インストールの手順
3 2.1 YACASL2ファイルのダウンロード
4 2.2 YACASL2ファイルの検証
5   2.2.1 GnuPG分離署名での検証
6   2.2.2 MD5ハッシュ値での検証
7 2.3 YACASL2ファイルの展開
8 2.4 'casl2' 'comet2' 'dumpword'のビルド
9 2.5 'casl2'の実行テスト
10 2.6 詳細なテスト
11 2.7 インストール
12 2.8 環境変数の設定
13   シェルの確認
14   2.8.1 'PATH'の設定
15   2.8.2 'INFOPATH'の設定
16   2.8.3 'CASL2LIB'の設定
17 1 要件
18 ******
19
20  YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。現在動作を確
21 認しているのは、Ubuntu LinuxとVine Linux、Mac OS Xです。
22
23  インストール時に、'tar' 'gcc' 'make'が必要です。Linuxでは多くの場合、標
24 準でインストールされています。Mac OS Xの場合、Xcodeの「Command Line
25 Tools」に含まれます。
26
27 2 インストールの手順
28 ********************
29
30 2.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 2.2 YACASL2ファイルの検証
39 =========================
40
41  ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。
42 検証にはGnuPG分離署名か、MD5ハッシュ値を使います。
43
44 2.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 2.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 2.3 YACASL2ファイルの展開
103 =========================
104
105  YACASL2ファイルをダウンロードしたら、'tar'コマンドで展開します。
106
107      $ tar xvzf yacasl2.tar.gz
108
109 2.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 2.5 'casl2'の実行テスト
140 =======================
141
142  ビルドしたら、次のコマンドが正常に実行できるかを確認します。 正常に実行
143 された場合は、「Hello, World!」と表示されます。
144
145      $ ./casl2 as/hello.casl
146      Hello, World!
147
148 2.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 2.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/share/casl2lib'
188                トール先
189
190 2.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 2.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 2.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 2.8.3 'CASL2LIB'の設定
239 ----------------------
240
241  環境変数'CASL2LIB'を設定しておけば、CASL IIプログラム作成時に共通ライブ
242 ラリを呼び出す手間が小さくなります。例えば、CASL2LIBを
243 '~/share/casl2lib'にインストールしたときは、次のコマンドで設定できます。
244
245      $ CASL2LIB=~/share/casl2lib && export CASL2LIB
246
247  '~/.bashrc'には次のコマンドで追加できます。
248
249      $  echo 'CASL2LIB=~/share/casl2lib && export CASL2LIB' >>~/.bashrc
250