• Require | 要件 | |
• install | インストール |
YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。現在動作を確認しているのは、Arch LinuxとUbuntu Linux、Mac OS Xです。
インストール時に、tar
gcc
make
が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、Xcodeの「Command Line Tools」に含まれます。
• Download | YACASL2ファイルのダウンロード | |
• Verify | YACASL2ファイルの検証 | |
• Expand | YACASL2ファイルの展開 | |
• Build | casl2 comet2 dumpwordのビルド | |
• Simple Test | casl2の実行テスト | |
• Detail Test | 詳細なテスト | |
• Install | インストール | |
• Environment | 環境変数の設定 |
YACASL2のサイトから、tar.gzまたはtar.xzファイルと、対応する検証用ファイルをダウンロードします。githubのダウンロードページからtar.gzなどのファイルをダウンロードすることもできます。
ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。検証には、GnuPG分離署名か、MD5ハッシュ値を使います。
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 <j8takagi@nifty.com>" 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 <j8takagi@nifty.com> 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..-..-.. <input password> 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 <j8takagi@nifty.com>"
openssl
とdiff
で圧縮ファイルを検証します。
$ openssl md5 yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum - Files yacasl2.tar.gz.md5sum and - are identical
YACASL2ファイルをダウンロードしたら、tar
コマンドで展開します。
$ tar xvzf yacasl2.tar.gz
Next: Simple Test, Previous: Expand, Up: install [Contents]
展開したら、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’
Next: Detail Test, Previous: Build, Up: install [Contents]
ビルドしたら、次のコマンドが正常に実行できるかを確認します。 正常に実行された場合は、「Hello, World!」と表示されます。
$ ./casl2 as/hello.casl Hello, World!
Next: Install, Previous: Simple Test, Up: install [Contents]
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.
Next: Environment, Previous: Detail Test, Up: install [Contents]
ビルドが成功したら、make install
コマンドで必要なファイルをインストールできます。
初期設定では、ホームディレクトリー以下にYACASL2のファイルがインストールされます。
$ make install
コマンド実行時にオプションを指定することで、インストール先のディレクトリーを変更できます。 例えば、/usr/local以下にファイルをインストールするには、 次のようにコマンドを実行します。
$ sudo make install prefix=/usr/local
オプションの詳細は次のとおりです。
オプション | 説明 | 初期設定 |
---|---|---|
prefix | インストール時のルートファイル | ~ |
bindir | 実行ファイルのインストール先 | $prefix/bin |
infodir | infoファイルのインストール先 | $prefix/share/info |
環境変数PATH
やCASL2LIB
を設定することで、YACASL2が使いやすくなります。環境変数は、使っているシェルを確認してから設定します。
環境変数の設定方法は使っているシェルによって異なります。シェルは、次のコマンドで確認できます。
$ echo $SHELL /bin/bash
現在もっとも多く使われているシェルは、Bashでしょう。以下、Bashでの設定方法を説明します。
PATH
の設定PATH
にYACASL2の実行ファイルのインストール先を追加すると、ディレクトリーの指定を省略してcasl2
comet2
dumpword
を実行できます。例えば、初期設定のまま実行ファイルを~/binにインストールしたときは、次のコマンドで設定できます。
$ PATH=$PATH:~/bin && export PATH
環境変数の設定は、シェルの初期設定ファイルに追加することでログインしたあと自動的に反映されるようになります。Bashでは~/.bashrcが初期設定ファイルです。次のコマンドで追加できます。
$ echo ’PATH=$PATH:~/bin && export PATH’ >>~/.bashrc
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