appcert
ChecksThe appcert
utility examines your applications for:
Private symbol usage
Static linking
Unbound symbols
Private symbols are functions or data that is used by Solaris libraries to call one another. The semantic behavior of private symbols might change, and symbols may sometimes be removed (such symbols are called demoted symbols.) The mutable nature of private symbols introduces the potential for instability in applications that depend on them.
Because the semantics of private symbol calls from one Solaris library to another might change between releases, the creation of static links to archives degrades the binary stability of an application. Dynamic links to the archive's corresponding shared object file avoid this problem.
The appcert
utility uses the dynamic linker to resolve the library symbols
that are used by the application being examined. Symbols the dynamic linker
cannot resolve are called unbound symbols. Unbound symbols
might be caused by environment problems, such as an incorrectly set LD_LIBRARY_PATH variable, or build problems, such as omitting the
definitions of the -llib or -z switches at compile time. While these examples are minor, unbound
symbols that are reported by appcert
might indicate a more serious problem.