使用 appcert 实用程序,可以快速轻松地识别给定集合中存在潜在稳定性问题的应用程序。如果 appcert 未报告任何稳定性问题,则应用程序在后续 Solaris 发行版中可能不会遇到二进制稳定性问题。下表列出了一些常见的二进制稳定性问题。
表 11–1 常见的二进制稳定性问题
问题 |
采取的措施 |
---|---|
使用确定要更改的专用符号 |
立即停止使用此类符号。 |
使用尚未更改的专用符号 |
应用程序目前仍然可以运行,但是应根据实际情况尽快停止使用此类符号。 |
静态链接包含共享对象对应项的库 |
改用共享对象对应项。 |
静态链接不包含共享对象对应项的库 |
如果可能,使用命令 ld -z allextract 将 .a 文件转换为 .so 文件。否则,继续使用静态库,直到共享对象可用为止。 |
使用没有可用公共对应项的专用符号 |
与 Sun 联系,请求获取一个公共接口。 |
使用已过时的符号,或者使用计划要删除的符号 |
应用程序目前仍然可以运行,但是应根据实际情况尽快停止使用此类符号。 |
使用已更改的公共符号 |
重新编译。 |
给定的发行版中可能不会出现由于使用专用接口而导致的潜在稳定性问题。专用接口的行为在不同的发行版之间并不一定会发生变化。要验证专用接口的行为在目标发行版中是否已发生变化,请使用 apptrace 工具。apptrace 的用法在使用 apptrace 进行应用程序验证中介绍。