appcert を使用すると、指定されたセットの中でどのアプリケーションが潜在的に安定性の問題を抱えているかをすばやく簡単に識別できます。appcert が何も安定性の問題を報告しなかった場合、そのアプリケーションは、以降の Solaris リリースでもバイナリ安定性の問題が報告されることは起こりにくいと考えられます。次の表に、よくあるバイナリ安定性問題の一覧を示します。
表 13–1 よくあるバイナリ安定性問題
問題 |
回避方法 |
---|---|
ある非公開シンボルを使用しているが、変更されることがわかっている |
このようなシンボルの使用をすぐに停止する |
ある非公開シンボルを使用しているが、まだ変更されていない |
今のところアプリケーションは動作しているが、このようなシンボルの使用をできるだけ早く停止する |
あるライブラリに静的にリンクしているが、同等な共有オブジェクトを入手できる |
代わりに、同等な共有オブジェクトを使用する |
あるライブラリに静的に共有しているが、同等な共有オブジェクトを入手できない |
可能であれば、ld -z allextract を使用して、.a ファイルを .so ファイルに変換する。変換できない場合、共有オブジェクトが利用できるようになるまで、静的なライブラリを使用し続ける |
ある非公開シンボルを使用しているが、同等な公開シンボルを入手できない |
Sun に連絡して、公開インタフェースを要求する |
あるシンボルを使用しているが、評判が悪いか、削除されることが計画されている |
今のところアプリケーションは動作しているが、このようなシンボルの使用をできるだけ早く停止する |
ある公開シンボルを使用しているが、すでに変更されている |
コンパイルし直す |
リリースによっては、非公開インタフェースを使用することによる潜在的な安定性の問題が発生しないこともあります。なぜなら、リリースが変わっても、非公開インタフェースの動作が変更されるとは限らないためです。ターゲットリリースで非公開インタフェースの動作が変更されているかどうかを確認するには、apptrace を使用します。apptrace の使用法については、「apptrace によるアプリケーションの確認」を参照してください。