Programming Interfaces Guide

appcert Results

The results of the appcert utility's analysis of an application's object files are written to several files that are located in the appcert utility's working directory, typically /tmp. The main subdirectory under the working directory is, where pid is the process ID for that instantiation of appcert. The appcert utility's results are written to the following files:


Contains the mapping between checked binaries and the subdirectory in which appcert output specific to that binary is located.


Contains a copy of the rollup report that is displayed on stdout when appcert is run.


Contains a list of binaries that appcert was asked to check but was forced to skip, along with the reason each binary was skipped. These reasons are in the following list:

  • File is not a binary object

  • File cannot be read by the user

  • File name contains metacharacters

  • File does not have the execute bit set


A separate subdirectory is under the objects subdirectory for each object examined by appcert. Each of these subdirectories contains the following files:


Contains a list of symbols that appcert suspects are demoted Solaris symbols.


Contains a list of private Solaris symbols to which the object is directly bound.


Contains a list of public Solaris symbols to which the object is directly bound.


Contains a list of symbols not bound by the dynamic linker when running ldd -r. Lines returned by ldd containing “file not found” are also included.


Contains a printer-formatted summary of dynamic bindings in the objects appcert examined, including tables of public and private symbols used from each Solaris library.

Returns one of four exit values.


No potential sources of binary instability were found by appcert.


The appcert utility did not run successfully.


Some of the objects checked by appcert have potential binary stability problems.


The appcert utility did not find any binary objects to check.

Correcting Problems Reported by appcert