XL Fortran for AIX V8.1.1

ユーザーズ・ガイド


環境変数の正しい設定方法

オペレーティング・システムで使用するように設定してエクスポートできる環境変数は多数あります。以降の項では、XL Fortran コンパイラーとアプリケーション・プログラム、あるいはそのどちらか一方に特別に重要である環境変数を扱います。

環境変数の原則

環境変数は、Bourne シェル、Korn シェル、または C シェルから設定できます。どのシェルを使用しているかわからない場合は、echo $0 を使用して迅速に見つけることができます。このコマンドを使用すると、以下のように各シェルで異なる結果になります。

$ sh
$ echo $0
sh
$ ksh
$ echo $0
ksh
$ csh
% echo $0
No file for $0.
%

Bourne シェルのパスは |/bin/sh、Korn シェルのパスは /bin/ksh、C シェルのパスは /bin/csh です。

システムの全利用者がアクセスできるように環境変数を設定するには、環境変数をファイル /etc/profile (Bourne または Korn シェルの場合) に設定するか、あるいはファイル /etc/csh.login または /etc/csh.cshrc (C シェルの場合) に設定します。環境変数を特定ユーザー用にのみ設定するには、ユーザーのホーム・ディレクトリー内の適当な .profile または .cshrc ファイルに適切なコマンドを追加してください。これらの変数は、ユーザーの次のログオン時に設定されます。

環境変数の設定に関する詳細は、「AIX コマンド・リファレンス 」内の以下のものを参照してください。

さまざまなシェルから環境変数を設定する方法の例を以下に示します。

Bourne シェルまたは Korn シェルから設定する場合:

NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/prime/%N
LANG=en_US
TMPDIR=/home/joe/temp  
export LANG NLSPATH TMPDIR

C シェルから設定する場合:

setenv LANG en_US
setenv NLSPATH /usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/prime/%N
setenv TMPDIR /home/joe/temp

環境変数の内容を表示するには、echo $var_name コマンドを入力します。

注:
Korn シェルはデフォルト・オペレーティング・システム・シェルであるため、本書の残りの部分では、シェル・コマンドの多くの例で、すべてのシェルの構文を繰り返す代わりに ksh 表記を使用しています。

各国語サポートのための環境変数

コンパイラーからの診断メッセージおよびリストは、オペレーティング・システムのインストール時に指定したデフォルトの言語で表示されます。メッセージおよびリストを別の言語で表示したい場合は、コンパイラーを実行する前に以下の環境変数を設定してエクスポートすることができます。

LANG
これはロケール を指定します。ロケールはカテゴリーに分類されます。個々のカテゴリーにはロケール・データの特定な面が含まれています。 LANG を設定すれば、すべてのカテゴリーに対して各国語を変更することができます。

NLSPATH
これは、メッセージ・カタログを見つけるのに必要なディレクトリー名のリストを示します。

たとえば、IBM_eucJP コード・ページで日本語ロケールを指定するには、 Bourne シェルまたは Korn シェルから次のコマンドを使用します。

LANG=ja_JP
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/prime/%N
export LANG NLSPATH

関連のあるメッセージ・カタログがインストールされている場合には、 ja_JP の代わりに有効な各国語コードを使用してください。

オペレーティング・システムがインストールされると、これらの環境変数は初期化され、コンパイラーで使用したい環境変数とは異なる場合があります。

各カテゴリーは、それぞれ関連付けられている環境変数を持っています。特定のカテゴリーの各国語を変更したいが、他のカテゴリーの各国語は変更したくないという場合は、対応する環境変数を設定してエクスポートすることができます。

たとえば、次のようになります。

LC_MESSAGES
送出されるメッセージに対して各国語を指定します。これは、コンパイラーおよび XLF コンパイル済みプログラムからのメッセージに影響を与えます。これらのメッセージは画面に表示することもできますし、リスト、モジュール、またはその他のコンパイラー出力ファイルに格納することもできます。

LC_TIME
時刻形式カテゴリーに対して各国語を指定します。主にコンパイラー・リストに影響を与えます。

LC_CTYPE
文字の分類、大文字 / 小文字の変換、およびその他の文字属性を定義します。 XL Fortran の場合は、主にマルチバイト文字の処理に影響を与えます。

LC_NUMERIC
数値の I/O に使用する形式を指定します。この変数をシェルで設定しても、コンパイラーにも XLF コンパイル済みプログラムにも影響を与えませんLC_NUMERIC カテゴリーは、プログラムの最初の I/O ステートメントによって POSIX に設定されているので、別の設定が必要なプログラムは、この箇所の後でリセットしてから、すべての I/O ステートメントに対して POSIX への設定を復元します。

注:

  1. LC_ALL 環境変数を指定すると、 LANG およびその他の LC_ 環境変数の値がオーバーライドされます。

  2. XL Fortran コンパイラーまたはアプリケーション・プログラムがメッセージ・カタログにアクセスできなかったり、特定のメッセージを検索できない場合は、英語でメッセージが表示されます。

  3. バックスラッシュ \ は、 ¥ 記号と同じ 16 進コード X'5C' を持っていて、ロケールが日本語の場合には、ディスプレイに ¥ 記号として表示できます。

関連情報:
実行時メッセージ用の言語の選択を参照してください。

各国語サポート環境変数およびロケールの概念に関する詳細は、「General Programming Concepts: Writing and Debugging Programs 」を参照してください。

LIBPATH: ライブラリー検索パスの設定

通常の環境では、実行時にライブラリーがコンパイル時と異なるディレクトリーにある場合だけ、 LIBPATH を指定します。 LIBPATH を使用するには、実行時に、必要なユーザー・ライブラリーが入っているディレクトリーの名前と /usr/lib を次のように設定します。

   # Compile and link
   xlf95 -L/usr/lib/mydir1 -L/usr/lib/mydir2 -lmylib1 -lmylib2 test.f
 
   # When the libraries are in the same directories as at compile
   # time, the program finds them.
   a.out
 
   # If libmylib1.a and libmylib2.a are moved to /usr/lib/mydir3,
   # you must set the LIBPATH variable:
   export LIBPATH=/usr/lib/mydir3:/usr/lib
   a.out

コンパイラーを実行するときには、ライブラリー libxlf90.a が必ず /usr/lib ディレクトリーか LIBPATH に指定したディレクトリーに入っている必要があります。そうでない場合、libxlf90.a ライブラリーと動的にリンクされるため、コンパイラーは実行できません。

PDFDIR: PDF プロファイル情報用ディレクトリーの指定

-qpdf コンパイラー・オプションを使用して Fortran 90 をコンパイルする場合、プロファイル情報を格納するディレクトリーの名前を PDFDIR 環境変数に設定することによって、そのディレクトリーを指定できます。コンパイラーはプロファイル情報を保持するファイルを作成し、 -qpdf1 オプションを指定してコンパイルしたアプリケーションを実行したときに、それらのファイルは更新されます。

プロファイル情報が誤った場所に格納されていたり、複数のアプリケーションによって更新されたりすると問題が起きる可能性があるため、次のことをお勧めします。

TMPDIR: 一時ファイルのディレクトリーの指定

XL Fortran コンパイラーは、コンパイル時に使用するために多数の一時ファイルを作成し、 XL Fortran アプリケーション・プログラムは、 STATUS='SCRATCH' でオープンされるファイルの一時ファイルを実行時に作成します。デフォルトでは、これらのファイルは /tmp ディレクトリーに入れられます。

これらのファイルが入るディレクトリーを変更したい場合は、すべての一時ファイルを保持できるほど /tmp が大きくないので、コンパイラーまたはアプリケーション・プログラムを実行する前に、 TMPDIR 環境変数を設定してエクスポートしてください。

以下に示す XLFSCRATCH_unit の方法を使用してスクラッチ・ファイルを明示的に指定した場合、 TMPDIR 環境変数はそのファイルに影響を与えません。

XLFSCRATCH_unit: スクラッチ・ファイルの名前の指定

スクラッチ・ファイルに特定の名前を指定するには、実行時オプションの scratch_vars=yes を設定し、それから 1 つ以上の環境変数に、それらのユニットがスクラッチ・ファイルとしてオープンされたときに使用されるファイル名を XLFSCRATCH_unit の形式で設定します。例については、スクラッチ・ファイルの命名を参照してください。

XLFUNIT_unit: 暗黙に接続されるファイルの名前の指定

暗黙に接続されるファイル、または FILE= 指定子なしにオープンされるファイルの名前を指定するには、まず実行時オプションの unit_vars=yes を指定し、次に XLFUNIT_unit という形式の名前が付いた 1 つ以上の環境変数をファイル名に設定します。例については、明示的な名前に接続されていないファイルの命名を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]