Technical QuestionsQ: What is Appcert?
A:
Appcert is a Perl script that resolves the symbol bindings in an ELF binary and compare the interfaces used against the ABI definition contained in the Solaris system libraries. It can thus spot usage of Solaris private interfaces (which may change from release to release), or other potential binary stability problems such as static linking of libraries. Because Appcert is a static checker, it is not foolproof, but it catches many potential problems. Appcert has been part of Solaris since the 4/01 release of Solaris 8; an unbundled (and unsupported) version of Appcert for releases prior to Solaris 8 is freely available for downloading at the Solaris ABI Program web site. Since the bundled version of Appcert supersedes the unbundled one, it is the source to the bundled version that is being made available.
Q: Where can I obtain my copy of Appcert?
A:
Appcert can be obtained free-of-charge from www.sun.com/software/solaris/programs/abi/appcert.html.
Q: Where can I get more information on Appcert?
A:
For more information on Appcert, refer to the April 2000 edition of Sun BluePrints OnLine article titled "Building Longevity into Solaris 8 Operating Environment Applications".
Q: What OS releases does Appcert support?
A:
Appcert can examine applications written from Solaris 2.3 to Solaris 9.
Q: Are there any plans to support SunOS 4.x (Solaris 1)?
A:
There are no plans to support SunOS or releases of Solaris prior to 2.3.
Q: What languages does Appcert support?
A:
As long as the resulting binary objects constituting the application rely on dynamic linking (i.e., access Solaris services via dynamic bindings to C-language interfaces in Solaris shared libraries), it doesn't matter what source code they were derived from -- Appcert will work on them. Binaries produced from FORTRAN, Mainsail and other languages have already been checked.
Appcert doesn't work on Java programs, because they rely on a different runtime interface. For Java applications see the 100% Pure Java program; this information can be found at http://java.sun.com/100percent. Q: Are the APIs provided with the GNOME desktop checked by the Appcert program?
A:
No. At present, the GNOME desktop, an open source project, is not supported by Sun Microsystems and is not part of the Solaris ABI which is checked by Appcert. However, the GNOME 2.0 desktop, still in development, will be delivered in a future update of the Solaris 9 Operating System and will be supported by Sun. Sun is working closely with the GNOME Foundation to highlight the importance of release-to-release compatibility and to identify those GNOME 2.0 libraries which are mature enough to recommend for use in commercial software projects. Developers will be notified once this identification is complete.
Q: What programming interfaces are covered by Appcert?
A:
The components currently covered are: all of the C programming interfaces included (bundled) in the Solaris product. That is, all of the interfaces in the base system and networking areas (/usr/man/man{2,3}), OpenWindows (/usr/openwin/man), and CDE
(Motif) (/usr/dt/man). Appcert has not yet been extended to cover the latest version of
GNOME 2.0
Q: How long will it take to check my application?
A:
Appcert takes about 5-15 seconds to examine each binary object in an application. Very large application binaries will take longer.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||