On 01/17/2011 12:22 AM, Helmut Jarausch wrote:
Hi,

on one of my machines, googleearth crashes. An
ldd /opt/googleearth/googleearth.bin | grep crypto
shows that it tries to load both
/usr/lib32/libcrypto.so.0.9.8  and  /usr/lib32/libcrypto.so.1.0.0


On a different machine it only loads /usr/lib32/libcrypto.so.1.0.0
and does not crash.

So, how can I find out the tree of dynamic libraries.
Probably these dynamic libraries are not loaded directly but
indirectly by some other dynamic library.

Is there anything better than invoking ldd for each dynamic library
which is loaded by an application to see how it got loaded?

Good question, and maybe someone has a better idea than mine, but I
just grep through the entire library directory until I find the name
of the old library:

# grep -r libcrypto.so.0 /usr/lib32/*
Binary file /usr/lib32/libcrypto.so.0.9.8 matches
Binary file /usr/lib32/libssl.so.0.9.8 matches

You may find at least one other library that matches.  I'd do the
same grep through /usr/bin and /usr/lib64 also.


Reply via email to