Bisbal, Prentice wrote:
[...]
Below is the output of the commands you requested. The naviagent binary is 32-bit. The RPM filename has "noarch" for the architecture, and there is no way to specify the Linux distribution or architecture on the download page, so EMC must be doing the "one size fits all" thing.
# file /opt/Navisphere/bin/naviagent /opt/Navisphere/bin/naviagent: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
# ldd /opt/Navisphere/bin/naviagent linux-gate.so.1 => (0xffffe000) libnsl.so.1 => /lib/libnsl.so.1 (0xf7fb7000) libdl.so.2 => /lib/libdl.so.2 (0x00495000) libm.so.6 => /lib/tls/libm.so.6 (0x0049b000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x004ca000) libc.so.6 => /lib/tls/libc.so.6 (0x00368000) /lib/ld-linux.so.2 (0x0034f000)
So you should modify $LD_LIBRARY_PATH to use the older libpthread.so, the one from the compat-glibc package.
The output of the command below should indicate that libpthread.so.0 is taken from the /usr/lib/i386-redhat-linux3E/lib, instead of using /lib/tls/libpthread.so.0 :
% LD_LIBRARY_PATH=/usr/lib/i386-redhat-linux3E/lib ldd /opt/Navisphere/bin/naviagent [...] libpthread.so.0 => /usr/lib/i386-redhat-linux3E/lib/libpthread.so.0 [...]
If this is case, you just have to write a shell wrapper script or a shell alias to call naviagent, something like:
% chmod +x /usr/local/bin/naviagent % cat /usr/local/bin/naviagent #! /bin/sh LD_LIBRARY_PATH=/usr/lib/i386-redhat-linux3E/lib /opt/Navisphere/bin/naviagent $@
Then modify $PATH in order to call it first:
% which naviagent /usr/local/bin/naviagent
Try so see if it's working.
You can also take a look in ld.so(8) man page and the LD_PRELOAD environment variable if it's still no working.
Regards, Pierre