[Xymon] Library Errors on Solaris 9

Vernon Everett everett.vernon at gmail.com
Thu Feb 21 02:15:08 CET 2013


Hi all

Encountered an interesting problem installing my Xymon client on Solaris 9.
I have solved it, but it's interesting enough that I felt it was worth
sharing with the list.
And maybe get some feedback on other approaches.
The client was compiled on Solaris 10, so I was expecting the Solaris
binary compatibility thing to make it all "just work" when I copied the
client to Solaris 9.
But that would be too easy. :-/

Most of the binaries gave this issue.
ld.so.1: /usr/local/xymon/client/bin/msgcache: fatal: *libresolv.so.2*:
version `SUNW_2.2.2' not found (required by file
/usr/local/xymon/client/bin/msgcache)
zsh: killed     /usr/local/xymon/client/bin/msgcache

Looks like *libresolve.so.2* is missing

The library is there
# grep libresolv.so.2 /var/sadm/install/contents
/usr/lib/libresolv.so=./libresolv.so.2 s none SUNWcsl
*/usr/lib/libresolv.so.2* f none 0755 root bin 316552 9398 1268771224
SUNWcsl
/usr/lib/sparcv9/libresolv.so=libresolv.so.2 s none SUNWcslx
/usr/lib/sparcv9/libresolv.so.2 f none 0755 root bin 385952 24889
1268771224 SUNWcslx

And we have the LD_LIBRARY_PATH set correctly.
% echo $LD_LIBRARY_PATH
/opt/svrexp/dvlpr/2.2/lib:/usr/openwin/lib:*/usr/lib*
:/opt/cics/lib:/opt/dcelocal/lib:/opt/encina/lib:.

So I checked to see if there was another issue, and it turns out it can see
libresolv.so.2, but wants a specific version.
# ldd /usr/local/xymon/client/bin/msgcache
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
*        libresolv.so.2 (SUNW_2.2.2) =>   (version not found)*
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        librt.so.1 =>    /usr/lib/librt.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libmd5.so.1 =>   /usr/lib/libmd5.so.1
        /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
        /usr/platform/SUNW,Sun-Fire-V240/lib/libmd5_psr.so.1

Then I recalled hearing about the LD_NOVERSION parameter you can set, which
causes the the runtime linker to ignore version requirements.
A bit of reading here also helped.
http://docs.oracle.com/cd/E19963-01/html/819-0690/docinfo.html
I added the following 2 lines to the top of the ~/client/runclient.sh script
*LD_NOVERSION=1
export LD_NOVERSION*
Restarted, and it all worked fine.

Maybe some of the programmer types can provide us with some feedback on the
correctness of this approach, or even provide a better solution, but for
now, it's working.

Regards
     Vernon

-- 
"Accept the challenges so that you can feel the exhilaration of victory"
- General George Patton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20130221/61bb8918/attachment.html>


More information about the Xymon mailing list