Solaris 8 のソフトウェア開発 (追補)

appcert のチェック項目

appcert ユーティリティがアプリケーションで検査するのは、次の項目です。

非公開シンボルの使用

非公開 (private) シンボルとは、Solaris ライブラリがお互いに呼び出すときに使用する関数やデータです。非公開シンボルの意味上の動作は変わる可能性があり、シンボルは場合によっては削除されることがあります (このようなシンボルを降格されたシンボルといいます)。非公開シンボルの変更が可能な性質は、非公開シンボルに依存するアプリケーションが不安定になる原因となります。

静的リンク

Solaris ライブラリ間の非公開シンボルの呼び出しの意味が、リリースごとに変わる可能性があるため、アーカイブに対する静的リンクを作成すると、アプリケーションのバイナリの安定性が低下することになります。アーカイブの対応する共用オブジェクトファイルへ動的リンクを作成すると、この問題が回避できます。

結合されていないシンボル

appcert ユーティリティは動的リンカーを使用して、検査されるアプリケーションが使用するライブラリシンボルを解決します。動的リンカーが解決できないシンボルを、結合されていないシンボルといいます。結合されていないシンボルの原因は、LD_LIBRARY_PATH 変数の間違った設定などの環境の問題や、コンパイル時に -llib オプションや -z オプションの定義を省略したなどの作成上の問題にあります。この例は重大とはならないものの、appcert が報告する結合されていないシンボルは、重大な問題となる場合があります。