Solution: 161025592 表題: UNIX: Purify/PureCoverage/Quantifyのインストール時の "ucbcc: bad -Y option"エラー 製品: Purify/PureCoverage/Quantify for UNIX バージョン: すべてのバージョン OS: Solaris DEFECT #: N/A PATCH #: N/A 参照事項: Solution: 6207の日本語訳 作成年月日: 28-Apr-2003 改訂年月日: 質問: Solaris マシン上で Purify/PureCoverage/Quantify のインストール時、 下記のメッセージが出力されるのはなぜですか。 ucbcc: bad -Y option 回答: 製品インストール時にインストール環境で使用されるコンパイラの種類を 決定するためにコンパイルラインを解析するシェルスクリプト purify.sh が 実行されます。 'cc' が検出された時には Purify はそれが Sun cc であ ることを仮定し、-Y オプションをコンパイルラインに付加します。-Y オプ ションは、代替リンカを使用するための Sun cc のオプションで、Purify の ld を使用させるためのものです。しかしながら、ucbcc では ?Y オプ ションは存在せず、代替リンカを呼び出すためのオプションは −Qpath で あるため、この問題が発生します。 回避策として、下記の2つの方法があります A. Solaris のコンパイラを使用する場合 PATH 環境変数で Solaris のコンパイラパス (デフォルトでは /opt/SUNWspro/bin) が /usr/ucb の前にくるように設定します。 B. ucbcc を使用する場合 /purify.sh を下記の手順にて修正します。 は Purify がインストールされているディレクトリ です。 1. に移動します。 % cd `purify -printhomedir` 2. もし Purify バージョン5.3、またその以前のバージョンを使用している場 合、下記の処理を行ないます。 % chmod 644 Manifest % vi Manifest --- purify.sh が記述されている行を '#' でコメント アウトします。 3. purify.sh を開いて、 'Sun cc' を検索します。 ---------------------------------------------------------------------- # Sun cc cc*) use_sparcworks_compiler -Yl,$intercept_dir "$@" status=$? ;; # Sun acc acc*) use_sparcworks_compiler -Qpath $intercept_dir "$@" status=$? ;; --------------------------------------------------------------------- 4. ucbccのために下記どちらかの方法でエントリを作成します。 a) "cc" が "ucbcc"として認識されるように "cc"を変更します: - Sun cc ブロックを '#' でコメントアウトします。 - Sun acc ブロックと同じように新しいブロックucbcc を付け加え、-Y オプ ションではなく、-Qpath オプションを指定します。 --------------------------------------------------------------------- # Sun cc # cc*) # use_sparcworks_compiler -Yl,$intercept_dir "$@" # status=$? # ;; # ucbcc cc*) use_sparcworks_compiler -Qpath $intercept_dir "$@" status=$? ;; --------------------------------------------------------------------- b) ucbccエントリを追加します。この場合は、シンボリックリンクを作成するなど して、コンパイラコマンドを 'cc' から 'ucbcc' に変更する必要があります。 --------------------------------------------------------------------- # Sun cc cc*) use_sparcworks_compiler -Yl,$intercept_dir "$@" status=$? ;; # Sun acc acc*) use_sparcworks_compiler -Qpath $intercept_dir "$@" status=$? ;; # ucbcc ucbcc*) use_sparcworks_compiler -Qpath $intercept_dir "$@" status=$? ;; --------------------------------------------------------------------- ご不明な点等ありましたら、ラショナルカスタマサービスへお問い合わせ下さい。