目次

製品のインストール

  • XL C/C++ V7.0 パッケージ
  • IBM XL C/C++ Advanced Edition V7.0 for Linux のインストール
  • システム前提条件
  • 前提条件の作業と条件
  • インストール
  • RHEL3 U3 への製品マイグレーション・インストール
  • インストール済みパッケージの照会
  • XL C/C++ マニュアル・ページの使用可能化
  • 正しい NLSPATH の設定
  • コンパイラーの構成
  • ドキュメンテーションの表示
  • ショート・コンパイラー呼び出しコマンドの設定
  • コンパイラーのシンボリック・リンクを /usr/bin サブディレクトリーに作成する
  • PATH 環境変数の変更
  • インストールのテスト
  • XL C/C++ V7.0 のアンインストール
  • 上級者のための手順

  • 同じ RHEL3 U3 システム上での複数のコンパイラー・バージョンのインストール
  • 複数の C/C++ コンパイラー・バージョンでの最新のランタイム環境の使用 (RHEL3 U3 のみ)
  • コンパイラーへの PTF 更新の試行
  • 構成のトラブルシューティング

  • エラー: 32 ビットまたは 64 ビット GCC のロケーションを判別できません (RHEL3 U3、 RHEL4)
  • エラー: ライセンス受け入れツールを実行できません (RHEL4、  SLES9、Y-HPC)
  • 問題: 十分なデバッグ情報がありません

  • 製品のインストール

    本書には、IBM XL C/C++ Advanced Edition V7.0 for Linux のインストールに関する大切な情報が収められています。この製品をインストールする前によくお読みください。 CD-ROM に収められている README ファイルを必ずご参照ください。このファイルには製品の最新情報が収録されています。製品をインストールした後、vacpp_path/vacpp/7.0 ディレクトリーにある README ファイルを参照してください。

    注:
    vacpp_path は、ご使用のシステム上のコンパイラーのロケーションです。コンパイラーがデフォルトのロケーションにインストールされた場合、vacpp_path は、/opt/ibmcmp になります。

    XL C/C++ V7.0 パッケージ

    以下のパッケージが CD に収録されています。 rpm を使用して、これらのファイルセットを参照してください。

    表 1.

    必要な XL C/C++ V7.0 パッケージ
    パッケージ名 パッケージの説明
    xlsmp.msg.rte SMP ランタイム・メッセージ
    xlsmp.rte SMP ランタイム動的ライブラリー
    xlsmp.lib SMP ランタイム静的ライブラリー
    xlmass.lib IBM(R) Mathematical Acceleration Subsystem (MASS) ライブラリー
    vac.lic XL C/C++ V7.0 ライセンス
    vacpp.rte C++ ランタイム環境
    vacpp.rte.lnk C++ ランタイム環境のリンク
    vac.lib C コンパイラー・ライブラリー
    vac.cmp C コンパイラー
    vacpp.lib C++ コンパイラー・ライブラリー
    vacpp.cmp C++ コンパイラー
    vacpp.samples XL C/C++ V7.0 サンプル
    vacpp.help XL C/C++ V7.0 ドキュメンテーション

    サポートされているロケールは次のとおりです。


    IBM XL C/C++ Advanced Edition V7.0 for Linux のインストール

    IBM XL C/C++ Advanced Edition V7.0 for Linux のインストールでは、Linux(TM) パッケージをインストールするための標準ツールである Red Hat Package Manager (RPM) を使用します。RPM はオペレーティング・システムに添付されています。

    以下のハイレベルの手順を行う必要があります。

    1. root ユーザー、または管理者特権を持つユーザーになります。
    2. パッケージをインストールします。
    3. コンパイラー・マニュアル・ページを使用可能にします。
    4. 正しい NLSPATH を設定します。
    5. コンパイラーを構成します。
    6. 呼び出しコマンドの環境を設定します。
    7. インストールをテストします。

    システム前提条件

    前提条件の作業と条件

    XL C/C++ V7.0 をインストールするには、root ユーザー・アクセスが必要です。

    必要なプリインストール・パッケージ

    このセクションの表に、コンパイラーをインストールする前にインストールしておかなければならない GCC およびオペレーティング・システム・パッケージをリストします。

    表 3.

    必要な GCC および RHEL3 U3 オペレーティング・システム・パッケージ
    パッケージ名 バージョン要件
    gcc 3.2.3
    gcc-c++ 3.2.3
    glibc-devel 2.3.2
    libstdc++-devel 3.2.3

    表 4.

    必要な GCC および RHEL4 オペレーティング・システム・パッケージ
    パッケージ名 バージョン要件
    gcc 3.4.3
    gcc-c++ 3.4.3
    glibc-devel 2.3.4
    libstdc++-devel 3.4.3
    libgcj 3.4.3

    表 5.

    必要な GCC および SLES9 オペレーティング・システム・パッケージ
    パッケージ名 バージョン要件
    gcc 3.3.3
    gcc-c++ 3.3.3
    gcc-64bit 9
    glibc-devel-64bit 9
    libstdc++-devel-64bit 9
    java2 1.3.1
    java2-jre 1.3.1

    表 6.

    必要な GCC および Y-HPC オペレーティング・システム・パッケージ
    パッケージ名 バージョン要件
    gcc 3.3.3
    gcc-ppc32 3.3.3
    gcc-c++ 3.3.3
    libgcj 3.3.3

    必要なパッケージがシステムにあることを検査する

    以下のコマンドを使用して、必要なパッケージがインストール済みであることを検査することができます。

       rpm -qa | grep package_name
    

    例えば、gcc-c++ がインストール済みであるかどうかを確認するには、gcc-c++ パッケージを次のように照会します。

       rpm -qa | grep gcc-c++
    

    gcc-c++ バージョン 3.3.3 がインストール済みであると、以下の出力と同様の結果が出されます。

          gcc-c++-3.3.3-43.24
    

    例外: RHEL3 U3  および RHEL4 では、32 ビットおよび 64 ビットの glibc-devellibstdc++-devel のパッケージが両方とも必要です。コンパイラーをインストールする前に、これらのパッケージがインストール済みであることを確認するには、エラー: 32 ビットまたは 64 ビット GCC のロケーションを判別できません (RHEL3 U3、 RHEL4)にある手順に従ってください。

    注:
    これらのパッケージがインストール済みであるかどうかを検査するのに、grep コマンドを使用することはできません。RHEL3 U3  および RHEL4 での RPM パッケージの名前は、RPM パッケージが 32 ビットか 64 ビットかに関係なく、同じ名前を持つように作成されているためです。結果として、出力では、32 ビットか 64 ビットか、あるいは両方の RPM パッケージがインストール済みであるかどうかが示されません。

    特定のタスクをサポートするパッケージ

    表 7 に、製品のインストールには必要ありませんが、特定のタスクのサポートに必要なプログラムおよびパッケージをリストします。

    表 7.

    特定のタスクをサポートするパッケージ
    タスク 前提条件 RPM パッケージ 照会
    必要: vac_configure を使用するコンパイラーの構成 perl rpm -qf /usr/bin/perl
    オプション: コンパイラーとともにパッケージされたドキュメンテーションの使用 Web ブラウザーおよび PDF ビューアーをサポートするグラフィカルなデスクトップ環境 (K Desktop Environment や Gnome など) のための RPM パッケージ。 rpm -q mozilla
    rpm -q kdebase3
    rpm -q xpdf

    十分なスペースがあることを検査する

    XL C/C++ V7.0 パッケージには、約 100 MB のハード・ディスク・スペースが必要です。この容量には、オプションのサンプルおよびドキュメンテーションが含まれます。

    注:
    高レベルの最適化でコンパイルすると、多くの一時ディスク・スペースが必要になります。

    次のコマンドを使用して、デフォルトのインストール・ロケーションへのコンパイラーのインストールに使用できるスペース量を判別してください。

       df -h /opt
    

    インストール

    このセクションでは、XL C/C++ V7.0 コンパイラーをインストールするさまざまな方法について説明します。

    RPM パッケージをインストールした後に、new_install または、vac_configure のいずれかを実行して、コンパイラーを構成する必要があります。 コンパイラーの構成を参照してください。

    表 8 に、サポートされるすべての Linux ディストリビューションのパッケージおよびその前提条件を示します。


    表 8.

    XL C/C++ V7.0 パッケージおよびその前提条件
    パッケージ名 前提条件 説明 再配置
    xlsmp.msg.rte
    なし SMP ランタイム・メッセージ すべての SMP パッケージは、同じロケーションにインストールすること。
    xlsmp.rte
    xlsmp.msg.rte
    SMP ランタイム動的ライブラリー
    xlsmp.lib
    xlsmp.msg.rte
    xlsmp.rte
    SMP ランタイム静的ライブラリー
    xlmass.lib
    なし IBM Mathematical Acceleration Subsystem (MASS) ライブラリー 任意のロケーション
    vac.lic
    なし XL C/C++ V7.0 ライセンス 任意のロケーション
    vacpp.rte
    なし C/C++ ランタイム環境 すべての C/C++ ランタイム関連パッケージは同じロケーションにインストールすること。
    vacpp.rte.lnk
    vacpp.rte
    C/C++ ランタイムのリンク
    vac.cmp
    vac.lib
    vac.lic
    xlmass.lib
    xlsmp.lib
    xlsmp.msg.rte
    xlsmp.rte
    C コンパイラー すべての C/C++ コンパイラーおよびライブラリー・パッケージは、同じロケーションにインストールすること。
    vac.lib
    なし C コンパイラー・ライブラリー
    vacpp.cmp
    vac.cmp
    vac.lib
    vac.lic
    vacpp.lib
    vacpp.rte
    vacpp.rte.lnk
    xlmass.lib
    xlsmp.lib
    xlsmp.msg.rte
    xlsmp.rte
    C++ コンパイラー
    vacpp.lib
    なし C++ コンパイラー・ライブラリー
    vacpp.samples
    なし サンプル・プログラム 任意のロケーション (オプション)。
    vacpp.help
    なし。 HTML および PDF 形式のマニュアル・ページおよびコンパイラー資料 任意のロケーション (オプション)。

    単一コマンドによるすべての XL C/C++ RPM パッケージのインストール

    現行作業ディレクトリーに、XL C/C++ V7.0 のすべての RPM パッケージが格納されていて、それ以外の RPM パッケージが入っていない場合は、単一のコマンドを使用して XL C/C++ V7.0 をインストールすることができます。

    注:
    デフォルトでは、コンパイラー・パッケージは、/opt/ibmcmp ディレクトリーにインストールされます。

    すべてのパッケージをデフォルトのロケーションにインストールするには、以下のコマンドを使用します。

       rpm -ivh *.rpm
    

    すべてのパッケージを単一のデフォルト以外のロケーションにインストールするには、以下のコマンドを使用します。

       rpm -ivh *.rpm --prefix relocation_path
    

    ここで relocation_path は、製品ファイルのロケーションです。

    それぞれの XL C/C++ RPM パッケージの個別のインストール

    現行作業ディレクトリーに、XL C/C++ V7.0 RPM パッケージに加えて RPM パッケージが格納されている場合は、XL C/C++ V7.0 RPM パッケージを個別にインストールしなくてはなりません。パッケージを個別にインストールする際の依存関係エラーを避けるため、デフォルト・インストールの例または非デフォルト・インストールの例で説明されているインストールの順序に従う必要があります。

    注:
    このセクションのコマンドでは、以下の変数を使用します。

    パッケージをデフォルトのロケーションにインストールするには、以下のコマンドを使用します。

       rpm -ivh package_name-V.R.M-F.arch.rpm
    

    パッケージをデフォルト以外のロケーションにインストールするには、以下のコマンドを使用します。

       rpm -ivh package_name-V.R.M-F.arch.rpm --prefix relocation_path
    

    デフォルト・インストールの例

    RHEL3 U3 または RHEL4 へのデフォルト・インストール

    XL C/C++ V7.0 をデフォルトのロケーションである /opt/ibmcmp にインストールする場合は、以下のコマンドを実行します。XL C/C++ V7.0 の RHEL3 U3 または RHEL4 へのインストール中の依存関係エラーを避けるため、以下のコマンドを所定の順序で実行します。

       rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64pseries.rpm
       rpm -ivh xlsmp.rte-1.5.1-0.ppc64pseries.rpm
       rpm -ivh xlsmp.lib-1.5.1-0.ppc64pseries.rpm
       rpm -ivh xlmass.lib-4.1.1-0.ppc64pseries.rpm
       rpm -ivh vac.lic-7.0.1-0.ppc64pseries.rpm
       rpm -ivh vac.lib-7.0.1-0.ppc64pseries.rpm
       rpm -ivh vac.cmp-7.0.1-0.ppc64pseries.rpm
       rpm -ivh vacpp.rte-7.0.1-0.ppc64pseries.rpm
       rpm -ivh vacpp.rte.lnk-7.0.1-0.ppc64pseries.rpm
       rpm -ivh vacpp.lib-7.0.1-0.ppc64pseries.rpm
       rpm -ivh vacpp.cmp-7.0.1-0.ppc64pseries.rpm
     
    
    注:
    XL Fortran コンパイラーがすでにインストールされている場合は、xlsmp.msg.rtexlsmp.rtexlsmp.lib、および xlmass.lib はすでにインストールされています。RPM では、これらのコンポーネントを 2 度インストールすることができないようになっています。

    サンプル・プログラムおよび製品資料パッケージには、他の RPM パッケージとの依存関係がないため、以下のコマンドを使用して任意の順序でインストールできます。

      rpm -ivh vacpp.help-7.0.1-0.ppc64pseries.rpm
      rpm -ivh vacpp.samples-7.0.1-0.ppc64pseries.rpm
    

    SLES9 または Y-HPC へのデフォルト・インストール

    XL C/C++ V7.0 をデフォルトのロケーションである /opt/ibmcmp にインストールする場合は、以下のコマンドを実行します。XL C/C++ V7.0 の SLES9 または Y-HPC へのインストール中の依存関係エラーを避けるため、以下のコマンドを所定の順序で実行します。

       rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64.rpm
       rpm -ivh xlsmp.rte-1.5.1-0.ppc64.rpm
       rpm -ivh xlsmp.lib-1.5.1-0.ppc64.rpm
       rpm -ivh xlmass.lib-4.1.1-0.ppc64.rpm
       rpm -ivh vac.lic-7.0.1-0.ppc64.rpm
       rpm -ivh vac.lib-7.0.1-0.ppc64.rpm
       rpm -ivh vac.cmp-7.0.1-0.ppc64.rpm
       rpm -ivh vacpp.rte-7.0.1-0.ppc64.rpm
       rpm -ivh vacpp.rte.lnk-7.0.1-0.ppc64.rpm
       rpm -ivh vacpp.lib-7.0.1-0.ppc64.rpm
       rpm -ivh vacpp.cmp-7.0.1-0.ppc64.rpm
    
    注:
    XL Fortran コンパイラーがすでにインストールされている場合は、 xlsmp.msg.rtexlsmp.rte、および xlsmp.lib はすでにインストールされています。 RPM では、これらのコンポーネントを 2 度インストールすることができないようになっています。

    サンプル・プログラムおよび製品資料パッケージには他の RPM パッケージとの依存関係がないため、以下のコマンドを使用して任意の順序でインストールできます。

      rpm -ivh vacpp.help-7.0.1-0.ppc64.rpm
      rpm -ivh vacpp.samples-7.0.1-0.ppc64.rpm
    

    非デフォルト・インストールの例

    このセクションの例では、一緒にインストールされるべきパッケージのグループごとに、別々のディレクトリーがあります。表 8 に、これらのパッケージ・グループをリストします。これらのディレクトリーそれぞれを示す変数は、以下のとおりです。

    RHEL3 U3 または RHEL4 への非デフォルト・インストール

    XL C/C++ V7.0 の RHEL3 U3 または RHEL4 へのインストール中の依存関係エラーを避けるため、以下のコマンドを所定の順序で実行します。

      rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64pseries.rpm --prefix smprt_path
      rpm -ivh xlsmp.rte-1.5.1-0.ppc64pseries.rpm --prefix smprt_path
      rpm -ivh xlsmp.lib-1.5.1-0.ppc64pseries.rpm --prefix smprt_path
      rpm -ivh xlmass.lib-4.1.1-0.ppc64pseries.rpm --prefix xlmass_path
      rpm -ivh vac.lic-7.0.1-0.ppc64pseries.rpm --prefix vaclic_path
      rpm -ivh vac.lib-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path
      rpm -ivh vac.cmp-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path
      rpm -ivh vacpp.rte-7.0.1-0.ppc64pseries.rpm --prefix vacpprt_path
      rpm -ivh vacpp.rte.lnk-7.0.1-0.ppc64pseries.rpm --prefix vacpprt_path
      rpm -ivh vacpp.lib-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path
      rpm -ivh vacpp.cmp-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path 
    

    サンプル・プログラムおよび製品資料パッケージには、他の RPM パッケージとの依存関係がないため、以下のコマンドを使用して任意の順序でインストールできます。

      rpm -ivh vacpp.help-7.0.1-0.ppc64pseries.rpm --prefix vacppdoc_path
      rpm -ivh vacpp.samples-7.0.1-0.ppc64pseries.rpm --prefix vacppsmpls_path
    

    SLES9 または Y-HPC への非デフォルト・インストール

    XL C/C++ V7.0 の SLES9 または Y-HPC へのインストール中の依存関係エラーを避けるため、以下のコマンドを所定の順序で実行します。

      rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64.rpm --prefix smprt_path
      rpm -ivh xlsmp.rte-1.5.1-0.ppc64.rpm --prefix smprt_path
      rpm -ivh xlsmp.lib-1.5.1-0.ppc64.rpm --prefix smprt_path
      rpm -ivh xlmass.lib-4.1.1-0.ppc64.rpm --prefix xlmass_path
      rpm -ivh vac.lic-7.0.1-0.ppc64.rpm --prefix vaclic_path
      rpm -ivh vac.lib-7.0.1-0.ppc64.rpm --prefix vacpp_path
      rpm -ivh vac.cmp-7.0.1-0.ppc64.rpm --prefix vacpp_path
      rpm -ivh vacpp.rte-7.0.1-0.ppc64.rpm --prefix vacpprt_path
      rpm -ivh vacpp.rte.lnk-7.0.1-0.ppc64.rpm --prefix vacpprt_path
      rpm -ivh vacpp.lib-7.0.1-0.ppc64.rpm --prefix vacpp_path
      rpm -ivh vacpp.cmp-7.0.1-0.ppc64.rpm --prefix vacpp_path
    

    サンプル・プログラムおよび製品資料パッケージには、他の RPM パッケージとの依存関係がないため、以下のコマンドを使用して任意の順序でインストールできます。

      rpm -ivh vacpp.help-7.0.1-0.ppc64.rpm --prefix vacppdoc_path
      rpm -ivh vacpp.samples-7.0.1-0.ppc64.rpm --prefix vacppsmpls_path
    

    RHEL3 U3 への製品マイグレーション・インストール

    製品マイグレーション・インストールは、RHEL4、 SLES9 または Y-HPC には適用されません。V7.0 が、これらのオペレーティング・システムでサポートされる XL C/C++ の最初のバージョンであるためです。

    注:
    システムに前のバージョンのコンパイラーがインストールされている場合は、vac_configure ユーティリティーを使用してそのコンパイラーを構成します。複数のバージョンの製品がインストールされている場合は、new_install を使用しないでください。

    バージョンアップ

    コンパイラーの基本バージョンがインストールされている場合は、製品の新規バージョンをインストールする前にそれをアンインストールすることを強くお勧めします。

    システム上に複数のバージョンのコンパイラーがインストールされている場合は、上級者のための手順の説明を参照してください。

    PTF 更新

    PTF 更新を適用する前に、前のコンパイラー・パッケージをすべてアンインストールすることを強くお勧めします。

    注:

    1. PTF (プログラム一時修正) 更新の場合は、vac.lic を除くすべてのパッケージが同梱されています。基本バージョンから存在している vac.lic を使用する必要があります。

    2. PTF 更新を適用する際、前の修正レベルをアンインストールする前に PTF 更新をテストすることができます。この場合、PTF を他のロケーションにインストールする必要があります。説明については、上級者のための手順を参照してください。

    インストール済みパッケージの照会

    個々のパッケージを照会するには、以下のようなコマンドを実行します。

       rpm -q vac.cmp
    

    インストールが正常に終了しなかった場合は、パッケージがインストールされなかったことを示すメッセージが出されます。

    パッケージが正しくインストールされた場合、結果は次のようになります。

       vac.cmp-V.R.M-F
    

    ここで、V.R.M-F は、システムにインストールされたコンパイラーの Version.Release.Modification-Fix レベルのことです。

    すべてのコンパイラー・パッケージを照会するには、次のコマンドを実行してください。

       rpm -qa | grep -e vac -e xlsmp -e xlmass
    

    パッケージがインストールされていない場合、コマンドの出力はヌルとなります。

    XL C/C++ マニュアル・ページの使用可能化

    コンパイラー起動コマンド、およびコンパイラーに付属のその他のユーティリティーについてのマニュアル・ページが用意されています。

    マニュアル・ページを参照できるようにするには、事前に以下のように XL C/C++ MANPATH 環境変数に絶対パスを追加しておく必要があります。

    1. 端末ウィンドウを開きます。
    2. 使用しているシェルによって、以下のコマンドのいずれかを入力します。

      マニュアル・ページでサポートされているロケールは次のとおりです。

      例えば、英語のマニュアル・ページを表示するには、次のコマンドのいずれかを入力します。

      
      
    3. 次の表に示すように、MANPATH 環境変数の先頭に /opt/ibmcmp/vacpp/7.0/man を追加します。


      表 9.

      MANPATH 環境変数の更新方法
      シェル コマンド
      bash または ksh export MANPATH=/opt/ibmcmp/vacpp/7.0/man:$MANPATH
      csh setenv MANPATH /opt/ibmcmp/vacpp/7.0/man:$MANPATH

    マニュアル・ページを呼び出すには、例えば以下のように、man の後に参照したい情報のコマンドを入力します。

    man xlc.

    マニュアル・ページを終了するには、q と入力します。

    正しい NLSPATH の設定

    インストールの後に、 NLSPATH 環境変数を設定し、ランタイム環境が適切なメッセージ・カタログを検出するようにします。

    次のコマンドを実行してください:

      export NLSPATH=$NLSPATH:
       smprt_path/msg/%L/%N:
       vacpprt_path/msg/%L/%N:
       vacpp_path/vacpp/7.0/msg/%L/%N
     
    

    ここで、

    注:
    デフォルトのインストール・ロケーションが使用されている場合、smprt_pathvacpprt_path、および vacpp_path は、すべて /opt/ibmcmp です。

    コンパイラーの構成

    システム上に 1 つのバージョンのコンパイラーのみがインストールされている場合は、new_install ユーティリティーを使用してコンパイラーを構成する必要があります。 new_install ユーティリティーが、既存の構成ファイルをすべて自動的にバックアップして、vac_configure ユーティリティーを起動します。 new_install を実行するには、root 特権または管理者特権が必要です。

    少なくとも以下のうち 1 つが当てはまる場合のみvac_configure ユーティリティーを直接起動する必要があります。

    説明については、vac_configure ユーティリティーの直接の実行を参照してください。

    注:
    コンパイラーを vac_configure を使用して構成する場合は、出力構成ファイル vac.cfg を、書き込み許可のあるロケーションにインストールすることができます。root 特権も管理者特権も必要ありません。

    以下の表に、生成された構成ファイル内の属性の一部を示します。

    表 10.

    Linux 固有の構成属性
    属性 内容 追加情報
    gcc_path
    gcc_path_64
    32 ビット・モードまたは 64 ビット・モードの GCC 実行可能ファイルのロケーション gcc コマンドは、指定されたパス下の bin ディレクトリーに入っていなければなりません。
    gcc_libs
    gcc_libs_64
    32 ビット・モードまたは 64 ビット・モードの、GCC ライブラリーがコンマで区切られたリスト gcc は、このリストを vac_configure ユーティリティーに戻します。
    gcc_libdirs
    gcc_libdirs_64
    32 ビット・モードまたは 64 ビット・モードの、 GCC ライブラリーが入っているディレクトリーがコンマで区切られたリスト gcc は、このリストを vac_configure ユーティリティーに戻します。

    new_install ユーティリティーの実行

    システム上に 1 つのバージョンのコンパイラーのみがインストールされている場合は、new_install ユーティリティーを使用してコンパイラーをインストールし、構成する必要があります。

    new_install ユーティリティー:

    RHEL4、  SLES9 または Y-HPC 上で new_install を実行すると構成ファイルが生成される前に、ご使用条件を受け入れることを要求されます。ライセンス受け入れツールを実行するためには、Java(TM) ランタイム環境が、表 7 に指定されているようにインストールされている必要があります。

    注:
    このステップは、RHEL3 U3 では要求されません。

    new_install ユーティリティーを実行する方法:

    1. new_install および vac_configure の実行可能ファイルが入っているディレクトリーに変更します。

         cd /opt/ibmcmp/vacpp/7.0/bin
      

      または、XL C/C++ をデフォルト以外のロケーションにインストールした場合は、以下のディレクトリーに変更します。

         cd vacpp_path/vacpp/7.0/bin
      
    2. 以下のコマンドを実行します。

        ./new_install
      

    new_install コマンドは以下のコマンドを実行します。

       vac_configure
       -gcc gcc32path
       -gcc64 gcc64path
       -install
       -mass xlmass_path/xlmass/4.1
       -smprt smprt_path/xlsmp/1.5
       -vaclic vaclic_path/vac/7.0
       -vacpprt vacpprt_path/vacpp/7.0
       -vac vacpp_path/vac/7.0
       -vacpp vacpp_path/vacpp/7.0
       vacpp_path/vac/7.0/etc/vac.base.cfg
    

    vac_configure ユーティリティーの直接の実行

    vac_configure ユーティリティーは、new_install コマンドによって自動的に起動されます。

    vac_configure コマンドには、以下の構文があります:

                      .-------------------.
                      V                   |
    >>-vac_configure----+- -gcc--path---+-+--+-----------+---------->
                        '- -gcc64--path-'    +- -o--name-+
                                             '- -install-'
     
    >--+---------+--+-------------------------------------------+--->
       '- -force-'  | .---------------------------------------. |
                    | V                                       | |
                    +---+- -mass--xlmass_path/xlmass/4.1----+-+-+
                    |   +- -smprt--smprt_path/xlsmp/1.5-----+   |
                    |   +- -vaclic--vaclic_path/vac/7.0-----+   |
                    |   +- -vacpprt--vacpprt_path/vacpp/7.0-+   |
                    |   +- -vac--vacpp_path/vac/7.0---------+   |
                    |   '- -vacpp--vacpp_path/vacpp/7.0-----'   |
                    '- -ibmcmp--path----------------------------'
     
    >--+--------------------------+--------------------------------><
       '-template_config_filename-'
     
     
    

    ここで、

    -gcc path
    GCC bin ディレクトリーをインストールするパスを指定します。構成ファイルでは、 gcc_path 属性はこのパスと同じものに設定されます。

    例えば、 GCC コマンドが /usr/bin/gcc にある場合は、次のように指定します。

      -gcc /usr
    

    -gcc64 path
    64 ビットの GCC bin ディレクトリーをインストールするパスを指定します。構成ファイルでは、 gcc_path_64 属性はこのパスと同じものに設定されます。

    -o name
    生成する構成ファイルの名前を指定します。デフォルトでは、出力がディスプレイへ書き込まれます。

    -install
    デフォルトのコンパイラー構成ファイル vac.cfg を生成し、デフォルトのロケーション /etc/opt/ibmcmp/vac/7.0/vac.cfg に置きます。

    -force
    vac_configure ユーティリティーで、指定の名前およびパスを使用して既存の出力ファイルを強制的に上書きします。デフォルトでは、force を使用しないで、指定のファイルがすでに存在する場合は、vac_configure はエラー・メッセージを出して、停止します。

    -mass xlmass_path/xlmass/4.1
    xlmass.lib パッケージのパスを指定します。デフォルトでは、このパスは /opt/ibmcmp/xlmass/4.1 です。

    -smprt smprt_path/xlsmp/1.5
    xlsmp.msg.rtexlsmp.rte、および xlsmp.lib パッケージのパスを指定します。デフォルトでは、このパスは /opt/ibmcmp/xlsmp/1.5 です。

    -vaclic vaclic_path/vac/7.0
    vac.lic パッケージのパスを指定します。デフォルトでは、これは /opt/ibmcmp/vac/7.0 です。

    -vacpprt vacpprt_path/vacpp/7.0
    vacpp.rte および vacpp.rte.lnk パッケージのパスを指定します。デフォルトでは、これは /opt/ibmcmp/vacpp/7.0 です。

    -vacpp vacpp_path/vacpp/7.0
    vacpp.cmp パッケージのパスを指定します。デフォルトでは、これは /opt/ibmcmp/vacpp/7.0 です。

    -vac vacpp_path/vac/7.0
    vac.cmp パッケージのパスを指定します。デフォルトでは、これは /opt/ibmcmp/vac/7.0 です。

    -ibmcmp relocation_path
    別の方法として、すべての XL C/C++ パッケージ (xlsmp.msg.rtexlsmp.rtexlsmp.libvac.licvacpp.rtevacpp.rte.lnkvac.cmp、および vacpp.cmp) をインストールするパスを指定します。この場合、relocation_path は、smprt_pathvaclic_pathvacpprt_path、および vacpp_path を示します。
    注:
    パッケージを別のサブディレクトリーにインストールしたい場合は、ibmcmp は使用しません。

    template_config_filename
    構成ファイルを作成するために使用される入力ファイル。デフォルトでは、これは、/opt/ibmcmp/vac/7.0/etc/vac.base.cfg です。vac.cmp パッケージを vacpp_path ロケーションに再配置したが、デフォルトのテンプレートを使用したい場合は、以下を指定します。

    vacpp_path/vac/7.0/etc/vac.base.cfg.


    ドキュメンテーションの表示

    XL C/C++ V7.0 には、以下のドキュメンテーションが用意されています。

    README ファイル
    README ファイルは、インストール CD のルート・ディレクトリーに入っています。このファイルは、/opt/ibmcmp/vacpp/7.0 ディレクトリーにインストールされます。

    PDF ブック
    XL C/C++ ドキュメンテーションの PDF バージョンは、インストール CD の /doc/language_path/pdf ディレクトリーに入っています。vacpp.help パッケージをインストールすると、 PDF ファイルは、システムの対応するディレクトリーにインストールされます。例えば、vacpp.help パッケージをデフォルト・ロケーションにインストールする場合、以下のようになります。
    注:
    これらのファイルを表示するには PDF ビューアーが必要です。 xpdf ビューアーは、それぞれサポートされる Linux ディストリビューションに同梱されています。

    HTML ファイル
    XL C/C++ ドキュメンテーションの HTML バージョンは、インストール CD の /doc/language_path/html ディレクトリーに入っています。vacpp.help パッケージをインストールすると、 HTML ファイルは、システムの対応するディレクトリーにインストールされます。例えば、vacpp.help パッケージをデフォルト・ロケーションにインストールする場合、以下のようになります。
    注:
    HTML ファイルを表示するには、Mozilla、Konqueror などの Web ブラウザーでファイル index.htm を開きます。

    マニュアル・ページ
    コンパイラー起動コマンド (xlc など) および追加コマンド (vac_configurenew_installgxlcgxlc++showpdfmergepdfresetpdf、および cleanpdf) のマニュアル・ページが用意されています。例えば、マニュアル・ページをデフォルト・ロケーションにインストールする場合、以下のようになります。

    ショート・コンパイラー呼び出しコマンドの設定

    コンパイラーを絶対パスを指定しないで起動したい場合は、以下のいずれかを行ってください。

    コンパイラーのシンボリック・リンクを /usr/bin サブディレクトリーに作成する

    vaccp_path にインストールされた XL C/C++ コンパイラー呼び出しの 1 つ (例えば xlc) のシンボリック・リンクを作成するには、以下のコマンドを使用します。

    ln -s vaccp_path/vacpp/7.0/bin/xlc /usr/bin/xlc
    

    例: コンパイラーがデフォルトのロケーションにある場合は、以下のコマンドを使用します。

    ln -s /opt/ibmcmp/vacpp/7.0/bin/xlc /usr/bin/xlc
    

    PATH 環境変数の変更

    XL C/C++ の PATH 環境変数を変更するには、ターゲット・パス (vacpp_path/vacpp/7.0/bin) を PATH 環境変数に追加します。

    例: コンパイラーがデフォルトのロケーションにある場合は、以下のコマンドを使用して、PATH 環境変数を変更します。

    export PATH=$PATH:/opt/ibmcmp/vacpp/7.0/bin
    

    インストールのテスト

    製品インストールおよびクリティカルな検索パスをテストするには、以下の単純な C および C++ プログラムを作成してみてください。

    1. 以下の C プログラムを作成し、ソース・ファイルの名前を hello.c にします。

      #include <stdio.h>
      int main(void)
      {
         printf("Hello World!¥n");
         return 0;
      }
      
    2. xlc コマンドを使用してテスト・プログラムをコンパイルします。例:
        /opt/ibmcmp/vac/7.0/bin/xlc hello.c -o hello
      
    3. 次のプログラムを実行します。

        ./hello
      

      画面に "Hello World!" と出力されるはずです。

    4. プログラムの終了コードを調べます。

        echo $?
      

      結果は 0 になるはずです。

    5. 以下の C++ プログラムを作成し、ソース・ファイルの名前を hello.cpp にします。
      #include <iostream>
      int main()
      {
         std::cout << "Hello World!" << std::endl;
         return 0;
      }
      
    6. xlC コマンドを使用してテスト・プログラムをコンパイルします。例:
        /opt/ibmcmp/vacpp/7.0/bin/xlC hello.cpp -o hello
      
    7. 次のプログラムを実行します。

        ./hello
      

      画面に "Hello World!" と出力されるはずです。

    8. プログラムの終了コードを調べます。

        echo $?
      

      結果は 0 になるはずです。


    XL C/C++ V7.0 のアンインストール

    注:

    1. このプロダクトをアンインストールするには、root ユーザー・アクセスが必要です。

    2. パッケージをアンインストールする場合は必ず、パッケージの V.R.M-F (Version.Release.Modification-Fix レベル) を指定します。

    3. パッケージは、常にそれらをインストールした順序と逆、つまり LIFO (後入れ先出し) でアンインストールします。

    4. 他のパッケージが必要とするパッケージはアンインストールできません。例えば、SMP ランタイム (xlsmp.rte) は、IBM XL Fortran も同じシステムにインストールされている場合は、共用コンポーネントであると考えられます。

    5. パッケージの除去コマンドは new_install または vac_configure によって生成された構成ファイルを除去しません。

    アンインストール時の、依存関係エラーを避けるため、コンパイラー・パッケージを次の順序でアンインストールしてください。

    サンプル・プログラムと製品資料には、パッケージの依存関係がありません。これらをアンインストールするには、次のコマンドを任意の順序で発行します。

    rpm -e vacpp.samples-7.0.1-0

    rpm -e vacpp.help-7.0.1-0


    上級者のための手順

    旧バージョンのコンパイラーがインストールされている場合は、製品の新規バージョンをインストールする前にそれをアンインストールすることを強くお勧めします。これらの手順は、以下のユーザーを対象とします。


    同じ RHEL3 U3 システム上での複数のコンパイラー・バージョンのインストール

    注:
    それぞれのユーザーごとに個別のライセンスが必要です。

    以下のシナリオの要件を満たすため、システムに複数のバージョンのコンパイラーをインストールする必要が生じることがあります。

    複数の C/C++ コンパイラー・バージョンでの最新のランタイム環境の使用 (RHEL3 U3 のみ)

    Visual Age C/C++ V6.0 および XL C/C++ V7.0 を同じシステムにインストールして、両方が最新のランタイム環境を使用するようにするには、より新しいランタイム関連パッケージが、既存の VisualAge C++ V6.0 ランタイム関連パッケージを確実に上書きするようにしなければなりません。

    注:
    新規の XL C/C++ V7.0 ランタイム環境およびコンパイラーをインストールしている間の依存関係エラーを避けるため、例: 既存のランタイム環境を上書きするステップのステップを使用してください。

    以下の表に、VisualAge C++ V6.0 および XL C/C++ V7.0 両方のランタイム関連パッケージをリストします。


    表 11.

    ランタイム関連パッケージ
    VisualAge C++ V6.0 ランタイム関連パッケージ XL C/C++ 7.0 ランタイム関連パッケージ
    xlsmp.msg.rte-1.3.M-F xlsmp.msg.rte-1.5.M-F
    xlsmp.rte-1.3.M-F xlsmp.rte-1.5.M-F
    xlsmp.lib-1.3.M-F xlsmp.lib-1.5.M-F
    vacpp.rte 6.0.m-f vacpp.rte 7.0.m-f
    vacpp.rte.lnk 7.0.m-f
    注:
    これらのパッケージ名には、以下の変数が含まれます。

    例: 既存のランタイム環境を上書きするステップ

    この例では、以下のシナリオを使用します。

    注:
    XL C/C++ V7.0 に関連していないパッケージの --prefix path ユーティリティーは、それらのパッケージもデフォルトのロケーションにインストールすれば省略できます。

    このシナリオの場合、以下のステップを使用します。

    1. 将来、依存関係エラーが発生することを避けるため、既存のランタイム関連パッケージは、以下のコマンドを実行してアンインストールします。

      rpm -e xlsmp.msg.rte-1.3.7-2 --nodeps

    2. 既存のランタイム関連パッケージを置き換えるため、以下のコマンドを実行して XL C/C++ V7.0 コンパイラーをインストールします。

      rpm -ivh xlsmp.msg.rte-1.5.1-0.ppc64pseries.rpm

      rpm -ivh xlsmp.rte-1.5.1-0.ppc64pseries.rpm --force

      rpm -ivh xlsmp.lib-1.5.1-0.ppc64pseries.rpm

      rpm -ivt xlmass.lib-4.1.1-0.ppc64pseries.rpm --prefix xlmass_path

      rpm -ivh vac.lic-7.0.1-0.ppc64pseries.rpm --prefix vaclic_path

      rpm -ivh vac.lib-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path

      rpm -ivh vac.cmp-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path

      rpm -ivh vacpp.rte-7.0.1-0.ppc64pseries.rpm --force

      rpm -ivh vacpp.rte.lnk-7.0.1-0.ppc64pseries.rpm

      rpm -ivh vacpp.cmp-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path

      rpm -ivh vacpp.help-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path

      rpm -ivh vacpp.samples-7.0.1-0.ppc64pseries.rpm --prefix vacpp_path

    3. 以下のようにして、vac_configure ユーティリティーを起動します。

      vacpp_path/vac/7.0/bin/vac_configure

      -gcc /usr

      -gcc64 /usr

      -mass xlmass_path/xlmass/4.1

      -smprt /opt/ibmcmp/xlsmp/1.5

      -vac vacpp_path/vac/7.0

      -vacpp vacpp_path/vacpp/7.0

      -vacpprt /opt/ibmcmp/vacpp/7.0

      -vaclic vaclic_path/vac/7.0

      vacpp_path/vac/7.0/etc/vac.base.cfg

      -o /etc/opt/ibmcmp/vac/7.0/vac.cfg


    コンパイラーへの PTF 更新の試行

    PTF 更新を適用する際、前の修正レベルをアンインストールする前に PTF 更新をテストすることができます。PTF は、他のロケーションにインストールする必要があります (インストールの手順に従ってください)。この場合、vac.lic を再インストールする必要はありません。

    後で、PTF が必要であることを確認し、旧バージョンをアンインストールする準備ができた場合は、XL C/C++ V7.0 のアンインストールの手順に従って行うことができます。

    注:

    1. vac.lic はアンインストールしないでください。このパッケージをアンインストールしようとすると、エラー・メッセージが出されます。これは、このパッケージが、ご使用のシステムにインストール済みのほかのパッケージに必要な前提条件であるためです。

    2. コンパイラーの旧バージョンをアンインストールしない場合は、new_install ユーティリティーを使用しないでください。 vac_configure ユーティリティーを使用する必要があります。

    3. 基本バージョンのコンパイラーをシステムからアンインストールしないで、同じロケーションに PTF を適用しようとすると、インストールが失敗します。ファイルのロケーションが同じであるため、RPM ユーティリティーは既存のパッケージの上書きを回避します。

    構成のトラブルシューティング

    この章では、XL C/C++ V7.0 を構成するときに生じる可能性のある問題について説明します。


    エラー: 32 ビットまたは 64 ビット GCC のロケーションを判別できません (RHEL3 U3、 RHEL4)

    シナリオ
    new_install または vac_configure ユーティリティーを実行して RHEL3 U3 または RHEL4 を稼動するコンピューター上でコンパイラーを構成しているときに、以下のエラー・メッセージのうち少なくとも 1 つを受け取ります。

    エラー・メッセージ


    ERROR: Could not determine location of 32-bit GCC. Suggestion: Ensure 32-bit "glibc-devel", 32-bit
    "libstdc++-devel" are installed.  These packages can be obtained from your operating system install media.
     
    
    ERROR: Could not determine location of 64-bit GCC.  Suggestion: Ensure 64-bit "glibc-devel", 64-bit 
    "libstdc++-devel" are installed.  These packages can be obtained from your operating system install media.
     
    
    ERROR: Please ensure all relevant 32 and 64-bit GCC packages are installed before running "new_install"
    again. If they are installed but cannot be detected by "new_install", please run "vac_configure" manually.
    

    説明
    以下のパッケージのいずれか、または両方が適切なディレクトリーにインストールされていません。

    RHEL3 U3 および RHEL4 の場合、32 ビットまたは 64 ビット・バージョンの GCC がインストール済みであるかどうかは、パッケージの照会ではわかりません。これは、32 ビットおよび 64 ビット・パッケージがまったく同じ RPM 名を持っているためです。

    処置
    glibc-devel および libstdc++-devel の 32 ビットと 64 ビットの RPM パッケージが両方ともシステムにインストールされていることを、32 ビットおよび 64 ビット・モードのテスト・ケースをコンパイルすることで検査します。テスト・プログラムが、エラー・メッセージなしで正常にコンパイルした場合は、64 ビットの RPM パッケージがインストール済みであることを示しています。エラー・メッセージが表示された場合は、パッケージをインストールする必要があります。

    この例では、よく知られた "Hello World" テスト・ケースのインスタンスを使用します。このテストを実行するのに必要な C/C++ ファイルの作成に関する説明は、インストールのテストを参照してください。
    1. GCC の 32 ビット・モードのバージョンをテストするには以下のコマンドを実行します。
         gcc helloWorld.c
         g++ helloWorld.cpp
      
    2. GCC の 64 ビット・モードのバージョンをテストするには、以下を実行します。

         gcc -m64 helloWorld.c 
         g++ -m64 helloWorld.cpp
      
    3. プログラムが正常にコンパイルされない場合は、必要なパッケージをインストールしてコンパイラーを再度構成する必要があります。
      1. 32 ビット・モードのテストでエラー・メッセージを受け取った場合は、以下のコマンドを使用して必要なパッケージをインストールします。
           rpm -ivh glibc-devel-V.R.M-F.ppc.rpm
           rpm -ivh libstdc++-devel-V.R.M-F.ppc.rpm
        

        ここで、V.R.M-F は、パッケージの Version.Release.Modification-Fix レベルのことです。

        注:
        32 ビットの glibc-devel および libstdc++-devel パッケージはオペレーティング・システムと共に提供されるインストール・メディアから入手可能です。RPM ファイル名は、パッケージが 32 ビット・モードであるか、64 ビット・モードであるかを示します。32 ビット・モードの RPM ファイル名は *.ppc.rpm です。
      2. 64 ビット・モードのテストでエラー・メッセージを受け取った場合は、以下のコマンドを使用して必要なパッケージをインストールします。

           rpm -ivh glibc-devel-V.R.M-F.ppc64.rpm
           rpm -ivh libstdc++-devel-V.R.M-F.ppc64.rpm
        

        ここで、V.R.M-F は、パッケージの Version.Release.Modification-Fix レベルのことです。

        注:
        64 ビットの glibc-devel および libstdc++-devel パッケージはオペレーティング・システムと共に提供されるインストール・メディアから入手可能です。RPM ファイル名は、パッケージが 32 ビット・モードであるか、64 ビット・モードであるかを示します。64 ビット・モードの RPM ファイル名は *.ppc64.rpm です。
      3. new_install または vac_configure をもう一度実行します。

    エラー: ライセンス受け入れツールを実行できません (RHEL4、  SLES9、Y-HPC)

    シナリオ
    new_install ユーティリティーを、RHEL3 U3 以外のサポートされる Linux ディストリビューションを稼動するコンピューター上で実行しようとしているときに、以下のエラー・メッセージを受け取ります。

    エラー・メッセージ


    ERROR: Could not run the license acceptance tool.  Please ensure you have installed either libgcj, or 
    both java2 and java2-jre RPM(s) from your operating system installation media.
    

    説明
    new_install ユーティリティーを実行するには、Java ランタイム環境が必要です。

    処置
    Java ランタイム環境がインストールされていることを検査します。説明については、必要なパッケージがシステムにあることを検査するを参照してください。その後に、new_install をもう一度実行します。

    問題: 十分なデバッグ情報がありません

    シナリオ
    new_install または vac_configure を実行中に予期しない結果になり、システムが提供している情報よりも多くの情報が必要です。

    処置

    以下のオプションの 1 つを使用することで、さらに詳細な出力を得ます。

    IBM Copyright 2003