データサービスの開発を始める前に、Sun Cluster 開発パッケージ (SUNWscdev) をインストールして、Sun Cluster のヘッダーファイルやライブラリファイルにアクセスできるようにする必要があります。このパッケージがすでにすべてのクラスタノード上にインストールされている場合でも、通常は、クラスタノード上にはない独立した開発マシン、すなわちクラスタノード以外の開発マシンで開発を行います。このような場合、pkgadd を使って、開発マシンに SUNWscdev パッケージをインストールする必要があります。
コードをコンパイルおよびリンクするとき、ヘッダーファイルとライブラリファイルを識別するオプションを設定する必要があります。
互換モードでコンパイルされた C++ コードと標準モードでコンパイルされた C++ コードを Solaris オペレーティングシステム製品や Sun Cluster 製品で併用することはできません。したがって、Sun Cluster で使用する C++ ベースのデータサービスを作成する場合は、次の点に注意してください。
Sun Cluster 3.0 以前のバージョンで使用する場合は、互換モードでコンパイルする必要があります。
Sun Cluster 3.1 以降のバージョンで使用する場合は、標準モードでコンパイルする必要があります。
(クラスタノード以外の) 開発マシンで開発が終了すると、完成したデータサービスをクラスタに転送して、実行および検証できます。
Solaris オペレーティングシステムの Solaris 5.8 またはそれ以降の Developer または Entire Distribution ソフトウェアグループを使用してください。
この節では、次の手順を使用します。
Sun Cluster 開発パッケージ (SUNWscdev) をインストールして、適切なコンパイラオプションとリンカーオプションを設定します。
データサービスをクラスタに転送します。
SUNWscdev パッケージをインストールして、コンパイラオプションとリンカーオプションをデータサービス開発用に設定する方法について説明します。
スーパーユーザーになるか、あるいは同等の役割を持つ役割を宣言し、使用したい CD-ROM ディレクトリに移動します。
# cd CD-ROM_directory |
SUNWscdev パッケージを現在のディレクトリにインストールします。
# pkgadd -d . SUNWscdev |
Makefile に、データサービスのコードが使用する include ファイルとライブラリファイルを示すコンパイラオプションとリンカーオプションを指定します。
-I オプションは、Sun Cluster のヘッダーファイルを指定します。-L オプションは、開発システム上にあるコンパイル時ライブラリの検索パスを指定します。-R オプションはクラスタの実行時リンカーの検索パスを指定します。
# サンプルデータサービスの Makefile ... -I /usr/cluster/include -L /usr/cluster/lib -R /usr/cluster/lib ...
開発マシン上でデータサービスの開発が完了した場合、クラスタに転送して検証する必要があります。この転送を行うときは、エラーが発生する可能性を減らすために、データサービスのコードと RTR ファイルを一緒にパッケージに保管して、その後、クラスタのすべてのノード上でパッケージをインストールすることを推奨します。
データサービスをインストールするときは、pkgadd を使用するかどうかに関わらず、すべてのクラスタノード上にデータサービスをインストールする必要があります。Agent Builder は、RTR ファイルとデータサービスのコードを自動的にパッケージ化します。