Developer's Toolkit Release Notes for HP-UX 11i

Chapter 4 77
Compatibility Information and Installation Requirements
Linking Mixed Shared and Archived Libraries
Linking Mixed Shared and Archived Libraries
Application developers should be aware of potential problems associated
with linking an archived library below a shared library — that is,
resolving shared library external reference symbols with an archived
library. Minor changes or bug fixes to a shared library may add external
r33333eferences which were not present at the time an application was
linked. If the application does not contain a path to the shared library
containing the newly referenced symbols, a fatal application error will
result.
In general, if an application uses an archived library, be sure that other
libraries containing dependencies on that archived library (those stacked
"on top" of the archived library) are also linked archived rather than
shared.
Examples of
Stacked Libraries
In these examples, assume that libB has dependencies on libA (since it
uses symbols from libA). Also, both libA and libB have dependencies on
the standard libc.
Appropriately Stacked Libraries
All Shared Libraries libB.sl
libA.sl
libc.sl
Archived Library Stacked on Shared Library libB.a
libA.sl
libc.sl
Problematic Stacked Libraries
Shared Libraries Stacked on Archived Library libB.sl
libA.sl
libc.a
Shared Library Stacked on Archived Library libB.sl
libA.a
libc.sl