特定マシンの各ユーザーまたは全ユーザーがコンパイラーの
実行時に困難を経験する場合は、システム環境に問題があると思われます。
よく発生する問題と解決策を以下にいくつか示します。
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/9.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/9.1/lib
と /opt/ibmcmp/xlf/9.1/lib64
にインストールされていることを確認してください。また、別のディレクトリーに
libxlf90.so
がインストールされている場合は、そのディレクトリーが組み込まれるように
LD_LIBRARY_PATH と LD_RUN_PATH
環境
変数
を設定してください。
この環境変数の詳細は、ライブラリー検索パスの設定を参照してください。
徴候: コンパイラーまたは XL Fortran アプリケーション・プログラムからのメッセージが
別の言語で表示されます。
解決策: 正しい各国語環境を設定してください。
env コマンドを使用して各ユーザー用の
各国語を設定することができます。
あるいは、各ユーザーが環境変数 LANG、NLSPATH、LC_MESSAGES、LC_TIME、
および LC_ALL のうちの 1 つ以上を設定することもできます。
これらの変数の目的がよくわからない場合は、各国語サポートのための環境変数に詳細が
記載されているので参照してください。
徴候: I/O エラーでコンパイルが失敗します。
解決策:
/tmp ファイル・システムのサイズを小さくするか、
あるいは、環境変数 TMPDIR をフリー・スペースがより
たくさんあるファイル・システムのパスに設定してください。
説明: オブジェクト・ファイルが、ファイル・システムを保持できない
ほど大きくなりすぎた可能性があります。
原因は、コンパイル単位が非常に大きいか、または宣言内の
大きな配列の全部または一部の初期化にある可能性があります。
徴候: 個別の makefiles およびコンパイル・スクリプトの数が
多過ぎて、簡単に保持または追跡ができません。
解決策: 構成ファイルにスタンザを追加して、これらのスタンザの名前を使用して
コンパイラーとのリンクを作成してください。
別のコマンド名でコンパイラーを実行すれば、一貫性のある一連の
コンパイラー・オプションやその他の構成の設定を多数のユーザーに
提供することができます。
