オペレーティング・システムで使用するように設定してエクスポートできる環境変数は多数あります。以降の項では、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 コマンドを入力します。
コンパイラーからの診断メッセージおよびリストは、オペレーティング・システムのインストール時に指定したデフォルトの言語で表示されます。メッセージおよびリストを別の言語で表示したい場合は、コンパイラーを実行する前に以下の環境変数を設定してエクスポートすることができます。
たとえば、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 の代わりに有効な各国語コードを使用してください。
オペレーティング・システムがインストールされると、これらの環境変数は初期化され、コンパイラーで使用したい環境変数とは異なる場合があります。
各カテゴリーは、それぞれ関連付けられている環境変数を持っています。特定のカテゴリーの各国語を変更したいが、他のカテゴリーの各国語は変更したくないという場合は、対応する環境変数を設定してエクスポートすることができます。
たとえば、次のようになります。
注:
各国語サポート環境変数およびロケールの概念に関する詳細は、「General Programming Concepts: Writing and Debugging Programs 」を参照してください。
通常の環境では、実行時にライブラリーがコンパイル時と異なるディレクトリーにある場合だけ、 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 ライブラリーと動的にリンクされるため、コンパイラーは実行できません。
-qpdf コンパイラー・オプションを使用して Fortran 90 をコンパイルする場合、プロファイル情報を格納するディレクトリーの名前を PDFDIR 環境変数に設定することによって、そのディレクトリーを指定できます。コンパイラーはプロファイル情報を保持するファイルを作成し、 -qpdf1 オプションを指定してコンパイルしたアプリケーションを実行したときに、それらのファイルは更新されます。
プロファイル情報が誤った場所に格納されていたり、複数のアプリケーションによって更新されたりすると問題が起きる可能性があるため、次のことをお勧めします。
XL Fortran コンパイラーは、コンパイル時に使用するために多数の一時ファイルを作成し、 XL Fortran アプリケーション・プログラムは、 STATUS='SCRATCH' でオープンされるファイルの一時ファイルを実行時に作成します。デフォルトでは、これらのファイルは /tmp ディレクトリーに入れられます。
これらのファイルが入るディレクトリーを変更したい場合は、すべての一時ファイルを保持できるほど /tmp が大きくないので、コンパイラーまたはアプリケーション・プログラムを実行する前に、 TMPDIR 環境変数を設定してエクスポートしてください。
以下に示す XLFSCRATCH_unit の方法を使用してスクラッチ・ファイルを明示的に指定した場合、 TMPDIR 環境変数はそのファイルに影響を与えません。
スクラッチ・ファイルに特定の名前を指定するには、実行時オプションの scratch_vars=yes を設定し、それから 1 つ以上の環境変数に、それらのユニットがスクラッチ・ファイルとしてオープンされたときに使用されるファイル名を XLFSCRATCH_unit の形式で設定します。例については、スクラッチ・ファイルの命名を参照してください。
暗黙に接続されるファイル、または FILE= 指定子なしにオープンされるファイルの名前を指定するには、まず実行時オプションの unit_vars=yes を指定し、次に XLFUNIT_unit という形式の名前が付いた 1 つ以上の環境変数をファイル名に設定します。例については、明示的な名前に接続されていないファイルの命名を参照してください。