1 要件 2 インストールの手順 2.1 YACASL2ファイルのダウンロード 2.2 YACASL2ファイルの検証 2.2.1 GnuPG分離署名での検証 2.2.2 MD5ハッシュ値での検証 2.3 YACASL2ファイルの展開 2.4 'casl2' 'comet2' 'dumpword'のビルド 2.5 'casl2'の実行テスト 2.6 詳細なテスト 2.7 インストール 2.8 環境変数の設定 シェルの確認 2.8.1 'PATH'の設定 2.8.2 'INFOPATH'の設定 1 要件 ****** YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。現在動作を確 認しているのは、Ubuntu LinuxとMac OS Xです。 インストール時に、'tar' 'gcc' 'make'が必要です。Linuxでは多くの場合、標 準でインストールされています。Mac OS Xの場合、Xcodeの「Command Line Tools」に含まれます。 2 インストールの手順 ******************** 2.1 YACASL2ファイルのダウンロード ================================= YACASL2のサイト (http://www.j8takagi.net/yacasl2/)から、'tar.gz'または 'tar.xz'ファイルと、対応する検証用ファイルをダウンロードします。githubの ダウンロードページ (http://github.com/j8takagi/YACASL2/downloads/)から 'tar.gz'などのファイルをダウンロードすることもできます。 2.2 YACASL2ファイルの検証 ========================= ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。 検証には、GnuPG分離署名か、MD5ハッシュ値を使います。 2.2.1 GnuPG分離署名での検証 --------------------------- GnuPGの'gpg'で圧縮ファイルを検証します。この検証を行うには、GnuPGがイン ストールされ、自分の秘密鍵と公開鍵のペアが作成されている必要があります。 $ gpg --verify yacasl2.tar.xz.asc gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1 gpg: Can't check signature: public key not found $ gpg --recv-keys 25B62DD1 gpg: requesting key 25B62DD1 from hkp server keys.gnupg.net gpg: key 25B62DD1: public key "j8takagi " imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) $ gpg --lsign-key 25B62DD1 pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC trust: unknown validity: full sub 2048R/92E25C29 created: 2012-09-29 expires: never usage: E [ full ] (1). j8takagi pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC trust: unknown validity: full Primary key fingerprint: ... .* <.*@.*> Are you sure that you want to sign this key with your key ".* <.*@.*>" The signature will be marked as non-exportable. Really sign? (y/N) y You need a passphrase to unlock the secret key for user: ".* <.*@.*>" 2048-bit RSA key, ID ........, created 20..-..-.. password $ gpg --verify yacasl2.tar.xz.asc gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1 gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 4 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: depth: 1 valid: 4 signed: 0 trust: 4-, 0q, 0n, 0m, 0f, 0u gpg: Good signature from "j8takagi " 2.2.2 MD5ハッシュ値での検証 --------------------------- 'openssl'と'diff'で圧縮ファイルを検証します。 $ openssl md5 yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum - Files yacasl2.tar.gz.md5sum and - are identical 2.3 YACASL2ファイルの展開 ========================= YACASL2ファイルをダウンロードしたら、'tar'コマンドで展開します。 $ tar xvzf yacasl2.tar.gz 2.4 'casl2' 'comet2' 'dumpword'のビルド ======================================= 展開したら、'make'コマンドで'casl2' 'comet2' 'dumpword'をビルドします。 $ cd yacasl2 $ make make -C src make[1]: Entering directory ‘/home/kazubito/yacasl2/src’ gcc -c -g -Wall -I ../include casl2.c gcc -c -g -Wall -I ../include word.c gcc -c -g -Wall -I ../include hash.c gcc -c -g -Wall -I ../include cerr.c gcc -c -g -Wall -I ../include struct.c gcc -c -g -Wall -I ../include cmd.c gcc -c -g -Wall -I ../include assemble.c gcc -c -g -Wall -I ../include token.c gcc -c -g -Wall -I ../include label.c gcc -c -g -Wall -I ../include macro.c gcc -c -g -Wall -I ../include exec.c gcc -c -g -Wall -I ../include dump.c gcc -g -Wall -I ../include -o ../casl2 casl2.o word.o hash.o cerr.o st ruct.o cmd.o assemble.o token.o label.o macro.o exec.o dump.o gcc -c -g -Wall -I ../include comet2.c gcc -g -Wall -I ../include -o ../comet2 comet2.o word.o hash.o cerr.o struct.o cmd.o exec.o dump.o gcc -c -g -Wall -I ../include dumpword.c gcc -g -Wall -I ../include -o ../dumpword dumpword.o word.o cerr.o make[1]: Leaving directory ‘/home/kazubito/yacasl2/src’ 2.5 'casl2'の実行テスト ======================= ビルドしたら、次のコマンドが正常に実行できるかを確認します。 正常に実行 された場合は、「Hello, World!」と表示されます。 $ ./casl2 as/hello.casl Hello, World! 2.6 詳細なテスト ================ 'make check'コマンドを実行すると、正常にビルドできているかどうかを詳細 にテストできます。 テストには、しばらく時間がかかります。 $ make check 195 / 195 tests passed. Details in /home/username/yacasl2/test/integra tion/casl2/Test.log All tests are succeded. 149 / 149 tests passed. Details in /home/username/yacasl2/test/integra tion/comet2/Test.log All tests are succeded. 4 / 4 tests passed. Details in /home/username/yacasl2/test/integration /dumpword/Test.log All tests are succeded. 2.7 インストール ================ ビルドが成功したら、'make install'コマンドで必要なファイルをインストー ルできます。 初期設定では、ホームディレクトリー以下にYACASL2のファイルが インストールされます。 $ make install コマンド実行時にオプションを指定することで、インストール先のディレクト リーを変更できます。 例えば、'/usr/local'以下にファイルをインストールす るには、 次のようにコマンドを実行します。 $ sudo make install prefix=/usr/local オプションの詳細は次のとおりです。 オプション 説明 初期設定 --------------------------------------------------------------------------- PREFIX インストール時のルートファイル '~' BINDIR 実行ファイルのインストール先 '$prefix/bin' INFODIR infoファイルのインストール先 '$prefix/share/info' 2.8 環境変数の設定 ================== 環境変数'PATH'や'CASL2LIB'を設定することで、YACASL2が使いやすくなります 。環境変数は、使っているシェルを確認してから設定します。 シェルの確認 ------------ 環境変数の設定方法は使っているシェルによって異なります。シェルは、次の コマンドで確認できます。 $ echo $SHELL /bin/bash 現在もっとも多く使われているシェルは、Bashでしょう。以下、Bashでの設定 方法を説明します。 2.8.1 'PATH'の設定 ------------------ 'PATH'にYACASL2の実行ファイルのインストール先を追加すると、ディレクトリ ーの指定を省略して'casl2' 'comet2' 'dumpword'を実行できます。例えば、初 期設定のまま実行ファイルを'~/bin'にインストールしたときは、次のコマンド で設定できます。 $ PATH=$PATH:~/bin && export PATH 環境変数の設定は、シェルの初期設定ファイルに追加することでログインした あと自動的に反映されるようになります。Bashでは'~/.bashrc'が初期設定ファ イルです。次のコマンドで追加できます。 $ echo ’PATH=$PATH:~/bin && export PATH’ >>~/.bashrc 2.8.2 'INFOPATH'の設定 ---------------------- 'INFOPATH'にYACASL2のInfoファイルをインストールしたディレクトリーを追加 すると、ディレクトリーの指定を省略して'casl2' 'comet2' 'dumpword'を実行 できます。例えば、初期設定のままInfoファイルを'~/share/info'にインストー ルしたときは、次のコマンドで設定できます。 $ INFOPATH=$INFOPATH:~/share/info && export INFOPATH '~/.bashrc'には次のコマンドで追加できます。 $ echo 'INFOPATH=$INFOPATH:~/share/info && export INFOPATH' >>~/.bashrc