Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP- UX Developer Edge

Solaris技術者のための「HP-UXへの移行のすすめ」・後編

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
Solaris技術者のための「HP-UXへの移行のすすめ」・後編
Apacheなどのオープンソース・ソフトウェアをインテル®Itanium®プロセッサ(以下、Itanium)+HP-UX環境にインストールする場合、いくつかの「コツ」を知ることでスムーズに事が運ぶ。たとえば最新版のautoconfの利用や、HP Cコンパイラに最適なオプション指定などがそうしたコツの一例だ。またgccとHP Cコンパイラそれぞれの得手不得手を理解すれば、「実行速度にこだわらない開発ツールなどのビルドにはgcc」「WebサーバやデータベースなどのビルドにはHP Cコンパイラ」といった使い分けも可能になる。特集の後半では、テックファームによる検証結果にもとづき、HP-UX移行作業の詳細を掘り下げていく。
Solaris技術者のための「HP-UXへの移行のすすめ」・後編
オープンソース・ソフトウェアのHP-UX移行
オープンソース・ソフトウェア移行の一般則
2004年11月
テクニカルライター 吉川和巳

オープンソース・ソフトウェアのHP-UX移行


本特集の前編では、SolarisからHP-UXへの移行に際して、とくに管理作業面で注意すべきポイントを紹介した。後編ではひきつづき、各種オープンソース・ソフトウェアのHP-UX移行について説明する。まずは移行作業の土台となるCコンパイラの違いから見ていこう。


gccとHP Cコンパイラ


ご存じのとおり、オープンソース・ソフトウェアの標準的なCコンパイラといえば gcc である。Itaniumで動作するgccを初めからビルドするのは容易ではないが、HP-UX Developer EdgeではItanium版gccを公開しているので、これをダウンロードして使うことができる。gccを使えば、オープンソース・ソフトウェアの構成やインストールをスムーズに進めることができる。

しかしgccのネックは、投機実行やプレディケーション、明示的並列化といったItaniumのメリットをフルに引き出す最適化機能を備えていないことだ。よってHP Integrityサーバの能力をフルに引き出すためにも、HPが有償製品として提供している HP Cコンパイラ の購入を前提に考えたほうがよいだろう。

実際、テックファームの小林氏も、gccが生成するItaniumバイナリのパフォーマンスが「いま一歩の印象」であると説明する。同社の評価によれば、ファイル圧縮などの整数演算処理ではHP Cコンパイラが生成するバイナリの方が10〜20%ほど高速で、浮動小数演算処理ではその差が2〜5倍にも達するという。こうした事実をふまえれば、「実行速度にこだわらない開発ツールなどのビルドにはgcc」「WebサーバやデータベースなどのビルドにはHP Cコンパイラ」といった使い分けも1つの方法だろう。


Apache HTTP Serverのインストール


さて、たいていのWebアプリケーション開発では、Apache HTTP Server(以降、Apache)のセットアップを欠かすことができない。HP-UXには標準でApache 2.0.46がプリインストールされている(/opt/hpws/apache)ので、最新版や構成オプションにこだわらなければそれをそのまま利用可能だ。しかし最新バージョンを使いたい場合や構成オプションを変更したい場合は、ゼロからApacheをインストールする必要がある。

Itanium+HP-UX環境におけるApacheのインストール手順について、小林氏は「とりたてて特別な設定をせずにApacheをコンパイルしてインストールしても、ほぼ問題なく動作する。ただし、ちょっとしたウォーニングなどが出力されることもある」と説明する。そこで同氏は、最新版のautoconfを使ってApacheをItanium+HP-UX環境に対応させる方法を推奨している。これにより、警告メッセージなどが表示されないクリーンなインストールが可能になるという。

オープンソース開発で広く利用されているautoconfは、特定のUNIX環境にあわせたコンパイルを可能にするツールだ。Apache 2.0などのautoconfに対応したソフトウェアの場合、ソースコード中のOSの違いに依存する部分がどこかを示すconfigure.inと呼ばれるテンプレートが付属する。autoconfを実行すると、同テンプレートの内容にもとづいて、実行環境のOSに特化したconfigureスクリプトが生成される。さらにこのconfigureスクリプトを実行すれば、makeのためのMakefileとconfig.hヘッダファイルが生成される仕組みだ。

さて、HP Integrityサーバ上でautoconfによるApacheのインストールを実施するには、まずItanium+HP-UX環境に対応した最新のautoconfを用意する必要がある。そのためには、図1の手順をひととおり進めることになる。

  図1:Apacheインストール時の各パッケージ相関図
図1:Apacheインストール時の各パッケージ相関図
  図1に示すように、最新版のmakeやm4、autoconf、libtoolをそれぞれ事前にインストールしなければならない。もっとも、これらのツールのインストール作業は簡単で、いずれも「./configure」「make」「make install」といった通常の手順だけで完了する。

各ツールが用意できたならば、以下の手順でApacheのインストールを実施する。

$ PATH=/usr/local/bin:$PATH
$ export PATH
$ gzip -cd httpd-2.0.49.tar.gz | tar xf -
$ cd httpd-2.0.49
$ sh ./buildconf
$ CC="cc" CFLAGS="-AC99 +DSitanium2" LIBS="-lpthread" \
 ./configure --prefix=/opt/apache2 --disable-include --disable-cgi --enable-so
$ make
# make install

ここで、buildconfスクリプトを実行することでautoconfが呼び出され、Itanium+HP-UX環境に対応したconfigureスクリプトが生成される。なお上記例のとおり、HP Cコンパイラに対してCFLAGS変数で-AC99オプションと+DSitanium2オプションを指定し、LIBS変数で-lpthreadオプションを指定しておく。また64ビット・バイナリを作成する場合は、さらに+DD64オプションを指定する。以上の手順により、Apacheのインストールは完了する。

ここで紹介した手法は、その他のオープンソース・ソフトウェアにも適用可能なことが多い。つづいてはその一般則をまとめておこう。

トップへ   次のページへ

本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

オンラインサポート
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項