Q1. How to get version of runtime libraries
Hi,
I am not a developer but this seems like the best place to ask this question.
I want to find out what version of the Sun C++ runtime libraries are being used on a machine. They are using the runtime version (there is no compiler installed). The SUNW* directories that are under /opt are:
SUNWexplo
SUNWconn
SUNWebnfs
SUNWits
SUNWrtvc
SUNWspro
Which command do I need to run against what to find the version? I want to find out if they are using 5.0, 5.5 or 5.7.
Thanks in advance,
[551 byte] By [
nick_tk] at [2007-11-26 9:42:27]

# 2
You need to know exactly which libraries are in linked => use ldd on the executable.
Normally, /usr/lib/libCrun.so.1 (and /usr/lib/libCstd.so.1 if any of the standard library is used) are the ones that get linked.
However, depending on how the application was built and some environment variables (LD_PRELOAD, LD_LIBRARY_PATH) it is possible for applications to use other versions of these files.
In the standard case, the C++ runtime libs are in the packages SUNWlibC (and SUNWlibCx for 64bit) => pkgchk -l -p /usr/lib/libCstd.so.1 to see which package the lib is in
To see which patch is applied, try
showrev -p | grep libC
This should show something like
Patch: 108434-10 Obsoletes: Requires: 109147-07 Incompatibles: Packages: SUNWlibC
Patch: 108435-10 Obsoletes: Requires: 108434-10 Incompatibles: Packages: SUNWlibCx
Lastly, you could try
elfdump -v /usr/lib/libCrun.so.1
which will show you some version info (which should match what ldd indicates the application needs)
Paul