I have my own executable that I link to a particular version of Xerces. It also uses a bunch of other libraries, some of them not my own. When I run ldd on that executable, I see that it needs the Xerces version that I expect it to need, plus another version. I assume the other version comes from one othe other libraries I link to.
Here is the question: how do I find out which third-party library requires the older Xerces?
The environment is Linux and Solaris (my executable is compiled for both).
ldd /path/to/file
works for both executables and shared libraries.
This is what worked for me in the end. Thanks for kicking me off - I was "stuck on stupid".
Without more information on how you are linking this executable (do you have the source code or not?) it's not very easy to understand the question. I would suggest running ldd on each of the libraries your executable links to.