|Linux & Unix Commands - Search Man Pages
cmpdylib - compare two dynamic shared libraries for compatibility
cmpdylib oldLibrary newLibrary
cmpdylib compares two versions of a dynamic shared library to see if they are compatible
with each other. If the two versions are incompatible, the reason is printed to stdout,
and the exit status is nonzero. If they are compatible, nothing is printed, and the exit
status is zero.
To see if the two versions are compatible, cmpdylib first verifies that newLibrary was
built for all of the architectures that oldLibrary was built for. If so, for each archi-
tecture, it checks to see if the global symbols defined in oldLibrary are still defined in
newLibrary. It then looks for new symbols, symbols defined in newLibrary that are not
defined in oldLibrary. If it finds new symbols, it compares the compatibility version
numbers of the two libraries. If the compatibility version number of newLibrary is
greater than oldLibrary, the libraries are still compatible. If the compatibility version
number is the same or less, the libraries are incompatible.
The older version of the library.
The newer version of the library.
This example shows the result of performing cmpdylib on two incompatible versions of the
Foundation library. As stated, the versions are incompatible because the newer version was
not built for the ppc architecture.
cmpdylib /System/Library/Frameworks/Foundation.framework/Foundation Foundation_proj/Foun-
cmpdylib: file: Foundation_proj/Foundation does not contain architecture: ppc
cmpdylib: new dynamic shared library: Foundation_proj/Foundation does not contain archi-
The exit status is zero if the library versions are compatible and nonzero if they are
There are lots of other things that could be checked for that are not (such as the Objec-
tive C API).
Apple Computer, Inc. November 3, 1997 CMPDYLIB(1)
All times are GMT -4. The time now is 06:16 AM.