HP プラットフォームのみで LD_PRELOAD が強制され、他の UNIX フレーバー (AIX、Linux、および Solaris) では強制されません。
Perl モジュールXML::LibXML::Commonをすべての Unix フレーバーでビルドしました。特に、HP プラットフォームでのみ libcl.2 ライブラリに対して LD_PRELOAD を実行する必要がありました。他の UNIX プラットフォームでは、そのようなものは何も必要ありませんでした。
これは OS の動作によるものですか、それとも HP ローダー/コンパイラに欠けているものですか?
「XML::LibXML::SAX」の新しいオブジェクトを単純に作成する perl スクリプトを実行していました。
use XML::LibXML::SAX;
$x = XML::LibXML::SAX->new();
そしてそれは不平を言った
モジュール XML::LibXML::Common の 'site_perl/5.8.8/PA-RISC2.0-thread-multi/auto/XML/LibXML/Common/Common.sl' を読み込めません: Exec フォーマット エラー
そして、libcl.2 に対して LD_PRELOAD を実行すると、エラーはなくなり、Perl はマルチスレッド サポート用にビルドされます。