Sapid インストールマニュアル 山本 晋一郎 2005/01/16 はじめに 1 Sapid の配布は,バイナリ・パッケージとソース・パッケージの 2 種類の形態で行なわれている.バイナ リ・パッケージが用意されている場合は,それを用いることにより簡単に Sapid をインストールすること ができる. Sapid を快適に動作させるためには,128Mbyte 以上のメモリを必要とする.また,ソースプログラムを 展開するためには約 30Mbyte の, コンパイルするには約 50Mbyte のディスク容量を必要とする.インス トールすると約 40Mbyte のディスク容量を消費する. 1.1 動作環境 Windows 環境で動作する Sapid を Sapid-Win32 と呼び,対応するコンパイルによって以下の 2 種類が存 在する. Sapid-Win32-GCC GNU の Cygwin (gcc と GNU make) を用いて開発されたソフトウエアを解析対象とする.Sapid 自 身も gcc と GNU make を用いてコンパイルされる. Sapid-Win32-VC Microsoft の VC++ (cl と nmake) を用いて開発されたソフトウエアを解析対象とする.Sapid 自身 も cl と nmake を用いてコンパイルされる. Sapid-Win32-GCC のバイナリ・パッケージを用いたインストール方法を 3.1 節に,ソース・パッケージを 用いたインストール方法を 4.2 節に示す.また,Sapid-Win32-VC のバイナリ・パッケージを用いたインス トール方法を 3.2 節に,ソース・パッケージを用いたインストール方法を 4.3 節に示す.Sapid-Win32-GCC と Sapid-Win32-VC では,インストール方法が大きく異なるので注意すること. Mac OS X (以下,Darwin) 環境で動作する Sapid を Sapid-Darwin と呼ぶ.Sapid-Darwin のバイナリ・ パッケージを用いたインストール方法を 3.3 節に,ソース・パッケージを用いたインストール方法を 4.4 節 に示す. UNIX 環境を対象としていることを明示するときは Sapid-UNIX と呼ぶ. 1.2 凡例 以下,<SAPID TOP>は Sapid ソース・パッケージのトップディレクトリを,<SAPID DEST>は Sapid が インストールされるディレクトリを表す.<SAPID TOP>は “Sapid-<RELEASE NO>” であり,デフォルトの <SAPID DEST>は “/usr/local/Sapid” である.ここで,<RELEASE NO>は<VERSION>.<REVISION> あるい 1 は<VERSION>.<REVISION>.<PATCHLEVEL> のどちらかである.ただし,後者は開発者のためのリリースを 表す. “$” は sh (bash などの派生物も含む) のプロンプトを,“%” は csh (tcsh などの派生物も含む) のプロンプ トを,“>” は DOS のコマンドプロンプトを表す.また,“2>&1 |” は sh のパイプ処理を,“|&” は csh のパ イプ処理を表す.これらは厳密に使い分けられているので注意すること. 以下,基本的に csh 形式のプロンプトを用いて解説するため,sh の利用者は適切に読み替える必要がある. 環境 2 ソース・パッケージを用いて Sapid をインストールするためには, • ANSI C compiler • X11R6 以降の imake が必要である. また,SPIE における検索機能を利用する場合は Perl が,SAT4 に代表される GUI を備えたプログラム を利用する場合は Tcl/Tk が必要である. 以下の環境で Sapid-5.308 の動作を確認した. • IBM PowerPC G5, Mac OS X Server v10.3.8 • Intel IA-32, FreeBSD 4.3 • Intel IA-32, Debian GNU/Linux • Intel IA-32, Red Hat Linux 8.0 • Intel IA-32, Vine Linux 2.6CR • Intel IA-32, Windows 2000 • Intel IA-32, Windows XP • Sun Ultra Enterprise 3000, SunOS 5.5.1 バイナリ・パッケージのインストール 3 3.1 Sapid-Win32-GCC-bin バイナリ・パッケージ Sapid-Win32-GCC-bin をインストールする手順を以下に示す. 1. “http://www.sapid.org/FTP-BIN/WIN32-GCC/” から,Sapid の最新リリースをダウンロードする. 2. “Sapid-Win32-GCC-<RELEASE NO>.lzh” あるいは “Sapid-Win32-GCC-<RELEASE NO>.tar.gz” を 解凍する. 3. 展開されたフォルダの中の “SETUP.EXE” をダブルクリックする. 4. Cygwin をインストールしたフォルダ (デフォルトは “C:\cygwin”) を選択する.以下,このフォルダ を “<CYGWIN HOME>” と表す. 5. “次へ” を押し,インストールを進める. 2 現在のところ,インストール先フォルダ “<CYGWIN HOME>\usr\local\Sapid-GCC” を変更することがで きないが,近い将来,変更可能になる. 簡易なテスト方法は 3.4 節を,詳細なテスト方法は Sapid Test Suite を参照すること. 3.2 Sapid-Win32-VC-bin バイナリ・パッケージ Sapid-Win32-VC-bin をインストールする手順を以下に示す. 1. “http://www.sapid.org/FTP-BIN/WIN32-VC/” から,Sapid の最新リリースをダウンロードする. 2. “Sapid-Win32-VC-<RELEASE NO>.lzh” あるいは “Sapid-Win32-VC-<RELEASE NO>.tar.gz” を解凍 する. 3. 展開されたフォルダ “Sapid-VC” を “C:\usr\local” に置き,“C:\usr\local\Sapid-VC” としてア クセスできるようにする. 4. “C:\usr\local\Sapid-VC\lib\SetUp.bat” を実行すると “C:\usr\local\Sapid-VC\bin” がパス に追加される. 現在のところ,インストール先フォルダ “C:\usr\local\Sapid-VC” を変更することができないが.近 い将来,変更可能になる. 簡易なテスト方法は http://www.sapid.org/html2/TechMemo/Sapid-Win32-VC.ja に説明されている. 3.3 Sapid-Darwin-bin バイナリ・パッケージ Sapid-Darwin-bin をインストールする手順を以下に示す. 1. “http://www.sapid.org/FTP-BIN/DARWIN/” から,Sapid の最新リリースをダウンロードする. 2. “Sapid-Darwin-<RELEASE NO>.pkg” をダブルクリックする. 3. インストール先のフォルダ (デフォルトは “/usr/local/Sapid”) を選択する. 4. “続ける” を押してインストールする. 簡易なテスト方法は 3.4 節を,詳細なテスト方法は Sapid Test Suite を参照すること. 3.4 バイナリ・パッケージのための簡易テスト 以下に Sapid-Win32-GCC-bin と Sapid-Darwin-bin のための簡易なテスト方法を示す. 1. 6.1 節を参考に,Sapid の初期設定ファイルを読み込む. 2. ディレクトリ “<SAPID DEST>/sample/test” の内容を適当なディレクトリにコピーし,サブディレ クトリ dhrystone-2.1 に移動する.以下の例では,‘/tmp” でテストを行なうことを仮定する. % cd /tmp % cp -pR <SAPID_DEST>/test . 3. C プログラムを対象としたテストを行う.C プログラムの解析に興味がない場合はこのテストを飛ば しても良い. 3 % cd /tmp/test/dhrystone-2.1 % mkSapid -a % make test-all テストが成功されれば以下のメッセージが表示される. Sapid: Test: dhry: Passed. 4. Java プログラムを対象としたテストを行う.Java プログラムの解析に興味がない場合はこのテスト を飛ばしても良い. % cd /tmp/test/java-zip % mkSapid -a % make test-all テストが成功されれば以下のメッセージが表示される. Sapid: Test: java-zip: Passed. 5. コピーしたファイル群を削除する. % cd .. % rm -rf test ソース・パッケージのインストール 4 4.1 Sapid-UNIX ソース・パッケージを用いて Sapid-UNIX をインストールする手順を以下に示す. 1. “http://www.sapid.org/FTP/” から,Sapid の最新リリースをダウンロードする. 2. “Sapid-<RELEASE NO>.tar.gz” を解凍する. % zcat Sapid-<RELEASE_NO>.tar.gz | tar xvf 3. <SAPID TOP>に移動する. % cd <SAPID_TOP> 4. 環境に依存する設定を “<SAPID TOP>/Sapid/SapidSite.def” に追加する.以下に例を示す. (a) インストールされるディレクトリを表す<SAPID DEST>を “/usr/new/Sapid” に変更したい場合 は,“SapidSite.def” に #define SapidDest /usr/new/Sapid を追加する. (b) Sapid のサブシステム PIDB では,C 言語処理系の前処理系 (cpp) が行う処理の内容をデータ ベースに記録している.一般の前処理系では,システム固有のシンボルがあらかじめ定義されて いる.Sapid ではこのシンボルを環境変数 SPD DEF BEFORE と SPD DEF AFTER で指定する.シス テム固有のシンボルを調査するには,コンパイラに-v オプションを与えて起動してみるとよい. 4 これらの環境変数のデフォルト値は “<SAPID TOP>/Sapid/PIDB.def” で定義されている.デフォ ルト値は,Sapid のインストール時に GCC の設定から自動的に取得されるため,多くの場合は 変更する必要はない. これらの環境変数のデフォルト値を変更したい場合は,“SapidSite.def” に #define SapidCppDefinesBefore \ -DSystemSpecificValue1 -DSystemSpecificValue2=Value3 のように追加する. (c) サブシステム SAT4 や SIP2 などは Tck/Tk を必要とする.Tcl/Tk を持たない環境に Sapid を インストールする場合は,“SapidSite.def” でマクロ HAVE TCL TK を定義している行をコメン トで囲み /* #define HAVE_TCL_TK */ とする. Tcl/Tk のバージョンに関しては,マクロ TclVersion と TkVersion を適切に設定すること.こ れらのマクロは,Tcl/Tk のライブラリを特定するのに用いられる.また,インクルードファイ ルが置かれているディレクトリを表すためのマクロとして TclIncDir と TkIncDir が,ライブ ラリが置かれているディレクトリを表すためのマクロとして TclLibDir, TkLibDir が用意され ている. (d) lex の代わりに flex を使用する場合は,“SapidSite.def” でマクロ USE FLEX を定義している 行のコメントを削除し #define USE_FLEX とする.C 言語の文字列定数やコメントで 8bit の文字コードを使いたい場合は flex を使うこと が望ましい. (e) 環境に応じて適切に設定する必要のある主なマクロを以下に示す.これらのマクロは “SapidSite.def” で変更すること.ON はそのマクロが定義されていることを,OFF は定義されていないことを 表す. HAVE TCL TK Tcl/Tk がインストールされている (デフォルト: ON). SAPID INSTALL JAPID Japid をインストールする (デフォルト: ON).Java がインストールされていない場合は OFF にすること. USE BISON yacc の代わりに bison を用いる (デフォルト: OFF). USE FLEX lex の代わりに flex を用いる (デフォルト: OFF). USE GCC C コンパイラとして cc の代わりに gcc を用いる (デフォルト: ON).Sapid プロジェクト では,UNIX 環境 (SunOS 5.5.1, FreeBSD 4.3, Red Hat Linux 6.1J) において GCC を用い て,Windows において Microsoft VC++ 6.0 を用いて開発を行っている.ただし,SunOS 5.5.1 については,Sun の純正コンパイラ (WorkShop Compilers 4.2) による動作確認を行っ た (2001/08/29). USE GMAKE make の代わりに gmake を用いる (デフォルト: 環境依存). 5 USE RELEASE NO <SAPID DEST>を “<SAPID DEST>/<RELEASE NO>” にする (デフォルト: OFF).複数のバー ジョンの Sapid をインストールするときに用いる. USE X11R6 1 IMAKE X Window System が X11R6.1 以上である (デフォルト: ON).X11R6 (すなわち,X11R6.0) の場合は OFF にすること. PerlCmd Perl の解釈実行系がインストールされているパスを表す (デフォルト: 環境依存). 5. Japid をインストールする場合は,Java がインストールされているトップディレクトリを表す環境変 数 JAVA HOME を設定する. JAVA HOME の値はコマンド javac のパスから “/bin/javac” を除いたパスとする.以下の例では,javac が “/usr/local/jdk1.3.1/bin/javac” にインストールされているので,JAVA HOME を “/usr/local/jdk1.3.1” とする. % where javac /usr/local/jdk1.3.1/bin/javac JAVA HOME は,jspie の実行時にも必要なので,“~/.bash profile” あるいは “~/.cshrc” に追加し て,自動的に設定されるようにすること. 6. “Makefile” を生成する. % xmkmf -a xmkmf は X Window System に含まれるスクリプトであり,内部で imake を呼び出している.Sun OS 5.x の Open Windows 環境では以下の方法で “Makefile” を生成する. % /usr/openwin/bin/imake -DUseInstalled -I/usr/openwin/lib/config % make Makefiles % make includes % make depend 注意: SunOS 5.x に X11R5 以上がインストールされていて,Open Windows と共存している場合は, パス上にどちらが優先されているかに注意すること.Opwn Windows は “/usr/openwin/bin” に, X11 は典型的には “/usr/X11R6/bin” あるいは “/usr/local/X11R6/bin” にインストールされてい る.Sapid のインストールに Open Windows を使う場合は,パス上で “/usr/openwin/bin” が X11 よりも優先されている必要がある.逆に,X11 を使う場合は X11 のパスが Open Windows よりも優 先されている必要がある. 注意: 以下のメッセージ /usr/openwin/lib/config/site.def", line 30: macro UseInstalled redefines previous macro at "command line" が出力されても問題はない. 注意: 以下のメッセージが出力される場合は,おそらく X11R6.0 の X Window System がインストー ルされているので,“SapidSite.def” のマクロ USE X11R6 1 IMAKE をコメントで囲む必要がある. 6 making Makefiles in PIDB... mv Makefile Makefile.bak "./Imakefile", line 19: Can’t find include file Sapid.def imake: Exit code 2. Stop. 7. コンパイルを行う. % make 注意: コマンド javac が見つからないというエラーが生じたときは,http://java.sun.com/から Java 2 SDK をダウンロードしてインストールするか,SAPID INSTALL JAPID を OFF にすること. Java のインストール方法は OS 毎に異なるが,Linux ではhttp://java.sun.com/j2se/1.3/ja から, Java 2 SDK をダウンロードし以下の手順によってインストールし,/usr/java/jdk1.3.1 03/bin を パスに追加する. % chmod a+x j2sdk-1_3_1_03-linux-i386-rpm.bin % ./j2sdk-1_3_1_03-linux-i386-rpm.bin % su % rpm -iv jdk-1.3.1_03.i386.rpm 8. インストールを行う.ただし,<SAPID DEST>にファイルを置くための権限 (通常は local または root) が必要となる. % make install このコマンドの実行により,<SAPID DEST>以下に,bin, class, doc, fixed-include, include, lib のディレクトリが作成され,ファイル群がインストールされる. 注意: Sun (SunOS 4.1.3 や 5.4 など) の make を用いると,間違って TEX のソースファイルから DVI ファイルを作成しようとするが,これは make コマンドのバグが原因である.一般に,TEX の環境は 各々のサイトによって大幅に異なるため,Sapid のリリースにおいては,インストール時に TEX 関係 のコマンドを起動しないように,TEX のソースファイルから生成される DVI や PostScript のファイ ルを添付している.しかし,バグを含む make コマンドは DVI や PostScript のファイルを生成しよ うとするため,エラーが生じることが多い.GNU の make を使用すればこの問題は解決される. 9. HTML で書かれた Sapid のドキュメントをインストールする.ただし,適切な権限 (通常は local ま たは root) が必要である. % make install-html 10. Sapid Test Suite に従って動作を確認する.動作確認は,インストール後にのみ行なうことができる. 11. 何らかの問題が生じて,インストールされたファイル群を削除する場合は,以下のコマンドを実行す る.ただし,<SAPID DEST>からファイルを削除するための権限 (通常は local または root) が必要と なる. % make uninstall 4.2 Sapid-Win32-GCC ソース・パッケージを用いて Sapid-Win32-GCC をインストールする手順は http://www.sapid.org/html2/TechMemo/Sap に説明されている. 7 4.3 Sapid-Win32-VC ソース・パッケージを用いて Sapid-Win32-VC をインストールする手順は http://www.sapid.org/html2/TechMemo/Sapid に説明されている.また,インストールに必要となる X11R6 のインストール手順は http://www.sapid.org/html2/TechMemo に説明されている. 4.4 Sapid-Darwin ソース・パッケージを用いて Sapid-Darwin をインストールする手順は http://www.sapid.org/html2/TechMemo/Sapid-Da に説明されている. ドキュメントのインストール 5 ドキュメント・パッケージをインストールする手順を以下に示す. 1. “http://www.sapid.org/FTP-DOC/” から,Sapid ドキュメントの最新リリースをダウンロードする. 2. “Sapid-Doc-<RELEASE NO>.tar.gz” を解凍する. % cd <SAPID_TOP> % zcat Sapid-Doc-<RELEASE_NO>.tar.gz | tar xvf 3. Sapid-Doc-<RELEASE NO>にリンクを張る. % ln -s Sapid-Doc-<RELEASE_NO> doc 4. “Makefile” を生成する. % xmkmf -a 5. インストールを行なう.ドキュメントは “<SAPID DEST>/doc” 以下にインストールされる. % cd <SAPID_TOP>/doc % make install % make install-html 環境設定 6 6.1 環境変数の設定 パスと環境変数を適切に設定するために,以下の方法で環境設定を行う.sh (bash などの派生物も含む) の利用者は “~/.bash profile” に if [ -f "<SAPID_DEST>/lib/SetUp.sh" ]; then . "<SAPID_DEST>/lib/SetUp.sh" fi を追加する.csh (tcsh などの派生物も含む) の利用者は “~/.cshrc” に if (-r "<SAPID_DEST>/lib/SetUp") then source "<SAPID_DEST>/lib/SetUp" endif 8 を追加する.これらの設定は再度 shell を起動したときに有効になる. 設定ファイルの読み込みによって,以下の環境変数が設定される. SPD DEF BEFORE コマンド sdb4 によって細粒度リポジトリを作成するときに,前処理情報データベース PIDB を作成 するコマンド pidb に渡されるデフォルトのマクロ定義を表す. SPD DEF AFTER コマンド sdb4 によって細粒度リポジトリを作成するときに,前処理情報データベース PIDB を作成 するコマンド pidb に渡されるデフォルトの include path を表す. SPD DEF ANSI BEFORE コマンド sdb4 に ANSI 環境を示すオプション “-ansi” が与えられた場合に,SPD DEF BEFORE の代 わりに用いられる. SPD DEF ANSI AFTER コマンド sdb4 に ANSI 環境を示すオプション “-ansi” が与えられた場合に,SPD DEF AFTER の代わ りに用いられる. SPD DEF GCC コマンド sdb4 に GCC 環境を示すオプション “-sdbg” が与えられた場合に設定されるマクロ GNUC と GNUC MINOR の値を表す. SPD INCLUDE PATH コマンド sdb4 に追加的に与える include パスを表す. 6.2 X Window System に関する環境設定 環境変数 XAPPLRESDIR は,X Window System のコマンドがリソースファイルを検索するパスを保持して いる.上記の SetUp スクリプトを実行することにより,環境変数 XAPPLRESDIR に必要なパスが追加される. 6.3 TEX に関する環境設定 通常,TEX は環境変数 TEXINPUTS の値に基づいてスタイルファイルを検索する.したがって,SPIE が 参照するスタイルファイル等が,TEXINPUTS に含まれるパスに存在しなければならない.上記の SetUp ス クリプトを実行することにより,環境変数 TEXINPUTS に必要なパスが追加される. 7 テストスィート Sapid-UNIX と Sapid-Win32-GCC のインストールが正しく行われたかを確認するための Test Suite を “<SAPID DEST>/test/dhrystone2.1” に用意した.詳細は Sapid Test Suite を参照すること. 9 8 改定 1994/09/26 1997/11/27 1997/11/27 S.Yamamoto N.Kurauchi A.Kitamura 初版の作成. 2000/04/08 2000/05/17 S.Yamamoto S.Yamamoto GNU-Win32 の改定. Cygwin B20 と X11R6.4 に対応. 2001/02/13 2004/02/07 2004/06/27 S.Yamamoto N.Atsumi S.Yamamoto Sapid-Win32-GCC と Sapid-Win32-VC に対応. Sapid-Win32-GCC-bin に対応. ドキュメントのインストールを追加. 2005/01/16 2005/04/03 S.Yamamoto S.Yamamoto Sapid-Win32-VC-bin に対応. <SAPID DEST>/sample/test に対応. Sapid-Win32 のインストールを追加. GNU-Win32 と X11 のインストールを追加. 10 目次 1 はじめに 1.1 1.2 1 動作環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 凡例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 環境 2 3 バイナリ・パッケージのインストール 2 3.1 3.2 Sapid-Win32-GCC-bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sapid-Win32-VC-bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 3.3 3.4 Sapid-Darwin-bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . バイナリ・パッケージのための簡易テスト . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 ソース・パッケージのインストール 4.1 Sapid-UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Sapid-Win32-GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 7 4.3 4.4 8 8 4 Sapid-Win32-VC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sapid-Darwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 ドキュメントのインストール 8 6 環境設定 8 6.1 6.2 環境変数の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X Window System に関する環境設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9 6.3 TEX に関する環境設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7 テストスィート 8 改定 9 10 11
© Copyright 2024 Paperzz