この章では、AZ-Prologのインストールと環境設定について、Windows版(2-1)とLinux版(2-2)、Mac版(2-3)の順に解説しています。
本マニュアルでは、OSによらずAZ-Prologがインストールされたディレクトリを ${AZProlog} と表記します。
Windows版のインストールの手順を説明します。
旧版のAZ-Prologがインストールされている場合、コントロールパネル→「プログラムと機能」で旧版用のプログラムを削除しておいてください。手作業で旧版用の環境変数を設定されている場合はこれを削除しておいてください。
インストール後、インストールされたディレクトリの「relnote.txt」ファイルを確認してください。このファイルには、マニュアルには書かれていない追加事項などが記載されています。
インストール時に、インストール先フォルダを変更しなかった場合は、以下のようにディレクトリが構成され、各ファイルが格納されます。また、構成されたディレクトリに環境変数が設定されます。
C:¥Program Files | |
├ ¥AZ-Prolog.9xx | |
├ ¥Bench | ベンチマークプログラム一式 |
├ ¥bin | |
├ prolog.exe | ウインドウ版インタプリタ |
├ prolog_c.exe | コンソール版インタプリタ(並列処理子側プロセスと共用) |
├ prologcgi.exe | CGI用インタプリタ |
├ azpc.exe | Prologコンパイラ |
├ azserv.exe | OLEオートメーションサーバーPrologインタプリタ |
├ ¥doc | |
├ ¥include | |
├ ¥lib | |
├ ¥ext | 拡張機能動的リンクライブラリ |
├ ¥obj | |
├ ¥sample | |
├ ¥system |
※AZ-Prologのディレクトリ名はバージョンごとに変わります。インストールされたバージョンでの構成については、インストールディレクトリ直下のrelnote.txtを参照してください
環境変数は、次のように設定されます。
【構成されたディレクトリ 】 | 【設定される環境変数】 |
---|---|
C:¥Program Files¥AZ-Prolog.9xx¥bin | このDIRがシステム環境変数Pathに追加される |
C:¥Program Files¥AZ-Prolog.9xx¥lib | このDIRがシステム環境変数Libに追加される |
C:¥Program Files¥AZ-Prolog.9xx¥include | このDIRがシステム環境変数Includeに追加される |
C:¥Program Files¥AZ-Prolog.9xx | このDIRがシステム環境変数AZPrologに設定される |
¥doc | このディレクトリ直下にエラーメッセージファイル「errmsg.pdf」、マニュアルHTMLファイルの存在するディレクトリ「doc」があります。この環境変数が指定されていない場合は、実行ファイルと同じディレクトリにこれらのファイルが存在するものとみなします。 |
---|---|
¥obj | このディレクトリ直下にAZ-Prologコンパイラのオプションスイッチ(「/i」「/no」「/curses」)を使用する時にユーザプログラムと一緒にリンクされるオブジェクトファイルディレクトリ「obj」があります。 この環境変数がない場合にはコンパイラはカレントディレクトリにあるものとみなして処理を行ないます。 |
¥system | このディレクトリ直下にAZ-Prologの拡張機能を提供するソースファイルがあります。 |
¥sample | このディレクトリにサンプルプログラムが格納されています。 |
¥bench | ベンチマークプログラムが格納されています。 インタプリタのベンチマークを計測する場合や再コンパイルする場合はプログラムをダウンロードしてください。ダウンロード先などの詳細はReadMe.txtに書かれています。 |
ここではLinux版のインストールの手順を説明します。
・標準インストールの場合
「2-2-1.インストール」でデフォルトの場所にインストールした場合は、以下のディレクトリ構成で各ファイルが格納されます。この時には環境変数の設定は不要です。
ただし、本マニュアルの記述では説明の都合上、環境変数AZPrologが設定されているものとして説明している箇所があります。その場合は /usr/localに置き換えて考えてください。
<例>
マニュアルの記述: | "-L ${AZProlog}/lib/azprolog/ext -l_socket" |
実際の意味: | "-L /usr/local/lib/azprolog/ext -l_socket" |
・任意の場所にインストールした場合
この場合は、ご利用に先立ち、環境変数 AZPrologにインストール先を設定する他、必要な環境変数を以下の例に倣って設定してください。
<例>/home/az へインストールした場合の環境設定
export AZProlog=/home/az
export LD_LIBRARY_PATH=${AZProlog}/lib:${LD_LIBRARY_PATH}
export PATH=${AZProlog}/bin:${PATH}
.bashrc に書き加えておくと毎回の手間が省けますが、複数の異なるバージョンのAZ-Prologをインストールした場合は、バージョン毎にシェルスクリプトを書いて、その中で環境変数をそれぞれに変えて設定して切り替えることもできます。
Linux版では、インストール後のディレクトリは以下のように構成されます。任意の場所にインストールした場合は、 /usr/local の部分をインストール先に読み替えてください。
ベンチマークプログラムのコンパイル、拡張機能の再コンパイルなどの作業を行う場合は、必要に応じて作業ディレクトリにコピーしておこなってください。
|
ここではMac版の環境設定及びインストール手順を説明します。
ターミナル上でazprologのアプリケーションをコマンド・インタプリタとして起動する場合は環境設定を手動で行う必要があります。
※なお、上記「2-3-1.インストール」でprolog_setenv.shを起動するとユーザ環境設定ファイル(~/.profileや~/.bash_profile)に必要な環境設定を自動で行います。
[環境設定]
$ export AZProlog=/Applications/azprolog.app/Contents/az_home
$ export DYLD_LIBRARY_PATH=/Applications/azprolog.app/Contents/az_home/lib
$ export PATH=$PATH:/Applications/azprolog.app/Contents/az_home/bin
※上記の環境設定をユーザ環境設定ファイル(~/.profileや~/.bash_profile)などに登録しておくと毎回ターミナル起動後に手動で環境設定を行う必要がなく便利です。
azprologアプリケーションのホームディレクトリは、/Applications/azprolog.app/Contents/az_home となります(インストールディレクトリとも呼びます) 。
/Applications | |
├ /azprolog.app | |
├ /Contents | |
├ Info.plist | プロパティ・リスト |
├ /MacOS | シェルスクリプト |
├ /Resources | リソース |
├ /az_home | azprologホームディレクトリ |
├ /bin | |
├ prolog | ウインドウ版インタプリタ(画面制御述語可、プロンプト"?-"あり) |
├ prolog_c | コンソール版インタプリタ(並列処理子側プロセスと共用) 画面制御不可。質問するときは、"?-"を入力する。 |
├ prologcgi | CGI用インタプリタ |
├ azpc | Prologコンパイラ |
├ /include | |
├ /lib | |
├ /pkgconfig | |
├ /azprolog | |
├ /ext | 拡張機能動的リンクライブラリ |
├ /obj | コンパイラによりリンクされるオブジェクトファイル |
├ /share | |
├ /doc | |
├ /azprolog | マニュアル |
├ /azprolog | |
├ /bench | ベンチマークプログラム |
├ /sample | サンプルプログラム |
├ /system | 拡張機能を提供するソースファイル |
azpcアプリケーションでCソースやprologスクリプトなどをコンパイルし、作成されたバイナリファイルを実行する際は、AZ-Prologの動的ライブラリのパスを設定しておく必要があります。
※ライブラリのパスが設定されていないと「ライブラリが存在しない」などのエラーが出力されます。
AZ-Prologの動的ライブラリのパスは以下となりますので、共有ライブラリパスの環境変数(DYLD_LIBRARY_PATH)などに設定後、目的のプログラムを実行します。
/Applications/azprolog.app/Contents/az_home/lib
また、ベンチマークプログラムをコンパイルし実行する際もライブラリパスの設定が必要となります。