HP-UX での Apache DSO の使用
このセクションでは、HP-UX オペレーティング・システムでゲートウェイ Apache DSO (CSPa[n][Sys].so) を使用する際に発生する可能性がある一般的な起動時の問題の解決方法を説明します。
基本的な症状としては、Apache が起動できず、sem_init など、シンボルが不足していることを示すエラー・メッセージをコンソールに報告します。
例 :
apachectl start
Syntax error on line 1137 of /opt/hpws/apache/conf/httpd.conf:
Cannot load /opt/cspgateway/bin/CSPa2.so into server:
Unresolved symbol: sem_init (code) from /opt/cspgateway/bin/CSPa2.so
セマフォ関数は、標準実行時ライブラリ librt.so に含まれます。 これは、スレッドセーフ・ライブラリ (ゲートウェイ DSO など) を使用するときに事前にロードする必要がある一連のライブラリの 1 つです。 これは、ホストする実行可能プログラム (この場合は Apache httpd) が、影響を受けるライブラリに起動時に明示的にリンクしない場合に当てはまります。
実行時ライブラリは通常 /usr/lib/ ディレクトリにあります。
ライブラリは LD_PRELOAD 環境変数に含めることで事前にロードされるように設定されます。
以下はその例です。
export LD_PRELOAD=/usr/lib/librt.sl
apachectl start
または以下のようにします。
setenv LD_PRELOAD /usr/lib/librt.sl
apachectl start
または、Apache の起動に sudo が使用されている場合は、以下のようにします。
sudo sh -c "export LD_PRELOAD=/usr/lib/librt.sl; apachectl start"
実行時ライブラリを事前にロードした後は、Apache はさらにエラー状態を報告することなく起動するはずです。