Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - How do I tell which version of a shared object .so the linker used?: Page 1 of 4 (4 Items)
   
How do I tell which version of a shared object .so the linker used?  
I have an executable that's generating an error at runtime:

lddFATAL Could not load library libicui18n.so.49

This is because the linker is linking it to point to the libsqlite3.so that comes with QNX 6.6.  However, we have our 
own self-contained libsqlite3.so we've been using for just such a reason.

How can I tell which .so the linker chooses to dynamic-link against.  This can either be at linktime or later with, say,
 the objdump utility.

Note:  "our" libsqlite3.so is built and is in the link path (in fact, it is the very first option on the link line, -
L(path to our libsqlite3.so directory) when we get around to linking the executable, which is the very last thing we do.
  There is no build/link of the libsqlite3.so after that; it occurs much earlier.

We also use this in the link command:

 -Wl,-Bdynamic -lsqlite3

So why is it going into the QNX libraries before going into our -L(custom path)?