インストールまたはシステム環境の問題の修正

特定マシンの各ユーザーまたは全ユーザーがコンパイラーの 実行時に困難を経験する場合は、システム環境に問題があると思われます。 よく発生する問題と解決策を以下にいくつか示します。

xlf90: not found
xlf90_r: not found
xlf95: not found
xlf95_r: not found
xlf: not found
xlf_r: not found
f77: not found
fort77: not found
f90: not found
f95: not found

徴候:

シェルは、コンパイラーを実行するコマンドを見つけることができません。

解決策:

PATH 環境変数にディレクトリー/opt/ibmcmp/xlf/10.1/bin が入っていることを 確認してください。 コンパイラーが正しくインストールされていれば、そのコンパイラーを実行するのに 必要なコマンドは、このディレクトリーに入っています。

Could not load program program
Error was: not enough space
徴候:

システムがコンパイラーまたはアプリケーション・プログラムをまったく実行できません。

解決策:

この問題を経験したユーザーは、スタックおよびデータ用のストレージ限界を、 『unlimited』 に設定してください。 たとえば、ハード・リミットもソフト・リミットもこれらの bash コマンドで設定することができます。

    ulimit -s unlimited
    ulimit -d unlimited

または、ファイル /etc/security/limits.conf を 編集して、すべてのユーザーに無制限のスタック・セグメントとデータ・セグメントを (これらのフィールドに -1 を入力することによって) 与えると便利です。

ストレージの問題が XLF コンパイル済みプログラムにある場合は、 -qsave または -qsmallstack オプションを使用すれば、プログラムがスタック限界を 超えないようにすることができます。

説明:

コンパイラーは、ストレージの限界を超える場合のある大きな内部データ域をユーザー用に割り振ります。 XLF コンパイル済みプログラムは、デフォルト時には旧バージョンよりも多くのデータをスタック上に置き、ストレージの 限界を超えることもあります。 必要な限界の正確な値を判別することはむずかしいので、無制限にすることをお勧めします。

Could not load program program
Could not load library library_name.so
Error was: no such file or directory
解決策:

XL Fortran ライブラリーが /opt/ibmcmp/xlf/10.1/lib /opt/ibmcmp/xlf/10.1/lib64 にインストールされていることを確認してください。また、別のディレクトリーに libxlf90.so がインストールされている場合は、そのディレクトリーが組み込まれるように LD_LIBRARY_PATHLD_RUN_PATH 環境 変数 を設定してください。 この環境変数の詳細は、ライブラリー検索パスの設定を参照してください。

徴候:

コンパイラーまたは XL Fortran アプリケーション・プログラムからのメッセージが 別の言語で表示されます。

解決策:

正しい各国語環境を設定してください。 env コマンドを使用して各ユーザー用の 各国語を設定することができます。 あるいは、各ユーザーが環境変数 LANGNLSPATHLC_MESSAGESLC_TIME、 および LC_ALL のうちの 1 つ以上を設定することもできます。 これらの変数の目的がよくわからない場合は、各国語サポートのための環境変数に詳細が 記載されているので参照してください。

徴候:

入出力エラーでコンパイルが失敗します。

解決策:

/tmp ファイル・システムのサイズを小さくするか、 あるいは、環境変数 TMPDIR をフリー・スペースがより たくさんあるファイル・システムのパスに設定してください。

説明:

オブジェクト・ファイルが、ファイル・システムを保持できない ほど大きくなりすぎた可能性があります。 原因は、コンパイル単位が非常に大きいか、または宣言内の 大きな配列の全部または一部の初期化にある可能性があります。

徴候:

個別の makefiles およびコンパイル・スクリプトの数が 多過ぎて、簡単に保持または追跡ができません。

解決策:

構成ファイルにスタンザを追加して、これらのスタンザの名前を使用して コンパイラーとのリンクを作成してください。 別のコマンド名でコンパイラーを実行すれば、一貫性のある一連の コンパイラー・オプションやその他の構成の設定を多数のユーザーに 提供することができます。