Error while loading shared libraries
I can't understand what's wrong... I have four RHEL 5 servers I'm administering. I went to run tracepath on Server 1 and it gave me the error
Code:
tracepath: error while loading shared libraries: libresolv.so.2: cannot open shared object file: No such file or directory Both .so files have the same owners and privileges. Both have the same md5 hash. Both servers' /etc/ld.so.conf files are identical. Both have identical running processes. Why can't Server 1 run tracepath / load libresolv.so.2? |
Do all servers:
1) have the same hardware, CPU, etc? E.G., are some 64-bit, while others are 32-bit, or is some other difference? 2) run the same point release of RHEL 5? 3) have an identical collection of packages installed? |
All servers are running as virtual machines. They are operating on a cluster of 4 physical servers through VSphere.
They are all running the same version of RHEL 5. I assume they have an identical collection of installed packages... how can I check? |
Here's what's interesting relating to the servers' memory usage:
Server 1: 2774MB Server 2: 13419MB Server 3: 16409MB Server 4: 10866MB I suppose that doesn't mean too much though since Server 1 did just get restarted this morning (kernel panic). |
No hope?
|
Added information: On Server 1, the result of
Code:
type tracepath Code:
tracepath is /bin/tracepath Code:
tracepath is hashed (/bin/tracepath) |
Pardon me if I go into too much detail, I don't know of what information you are aware.
My general suspicions would be along the lines of something like, either a package is missing, or a package deployment wasn't completely successful, or there's an issue with different architectures on different virtual machines, or there is some esoteric problem with access permissions. All too often when I try run a program and I get a message such as you got, there is no information on what form of library the attempt to load was made. E.G., if I'm running a 64-bit Operating System which can also run 32-bit programs, was the attempt made to load a 64-bit library, or a 32-bit library? If as would often tend to be the case, most of what I'm running are 64-bit programs, I might first expect that the library is 64-bit. But if some programs tend to be distributed as only 32-bit, there will tend to need to be a 32-bit version of the library. This command: Code:
uname -a Code:
rpm -qa | sort > server1_package_list.txt Code:
diff server1_package_list.txt server2_package_list.txt Additional info: Ooops! Sorry, I missed that the md5 sum was the same on two servers. If you run these two commands: Code:
file /bin/tracepath HTH. |
Lots to process! From the top...
Quote:
Okay, the result from uname -a on Server 1: Code:
Linux [address] 2.6.18-404.e15 #1 SMP Sat Mar 7 04:14:13 EST 2015 x86_64 x86_64 x86_64 GNU/Linux Code:
Linux [address] 2.6.18-406.e15 #1 SMP Fri May 1 10:37:57 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux file /bin/tracepath and ldd/bin/tracepath on Server 1: Code:
/bin/tracepath: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, stripped Code:
/bin/tracepath: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, stripped Code:
setenforce 0 |
so what does it mean? Problem solved, or just hashed was not printed or ???
I would try strace tracepath if nothing else helped (on both hosts) |
Quote:
I tried strace. Bash said the command was not found |
would be nice to see what have you tried exactly and what was the error message exactly. Probably you hid some information....
|
Wow, that's kind of an attack, isn't it? No, I didn't hide a single thing from you except for the server's address. If you want something that's not here, ask me for it.
|
The ONLY thing that has changed since the start of this thread is that instead of Server 1 saying
Code:
tracepath is /bin/tracepath Code:
tracepath is hashed (/bin/tracepath) tracepath still gives me the same result on Server 1 - cannot load shared library. Same as in post 1 of this thread. |
hashed only means the shell already found it and remembered. That is from this point of view meaningless.
You are administering that host, so probably you can install strace on it. what will locate libresolv respond (on both hosts)? How LD_LIBRARY_PATH was set? |
I'm one of the admins. I'll have to get permission from the lead to install it.
|
All times are GMT -5. The time now is 07:08 PM. |