Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

Appcert reports a number of unbound symbols in one of my applications shared objects, but they are symbols in Solaris libraries that the shared object calls. Why doesn appcert recognize them?

0
Posted

Appcert reports a number of unbound symbols in one of my applications shared objects, but they are symbols in Solaris libraries that the shared object calls. Why doesn appcert recognize them?

0

This situation arises when the shared object does not record its dependencies and is dlopen’ed by the application rather than linked. Since the shared object is never linked, and appcert uses the linker to resolve symbols, appcert cannot figure out what is going on unless the shared object records its dependencies. Since the default compiler behavior is to NOT record dependencies in shared objects, this situation frequently happens with dlopen’ed shared objects. To avoid this problem, make sure that when a shared object is built, its dependencies on Solaris libraries are explicitly recorded by using the the “-l” and “-R” compiler options, and force symbol resolution at compile time with the “-z defs” options. See the man pages for cc and ld.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123