passwd: error while loading shared libraries: libdl.so.2
I am using Red Hat Enterprise Linux Server Release 6.4 (Santiago).
I have a problem with the 'passwd' command. Everytime I call this command (in the root account), I get the following message: passwd: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory. I wonder how to fix the problem. Thanks. If it helps, I also include the following: Code:
[root@server1 production]# ldd /bin/passwd |
Code:
ldd: warning: you do not have execution permission for `/lib64/libdl.so.2' Code:
$ ls -l /lib64/libdl.so.2 /lib64/libdl-2.12.so |
Actually it's a long story before this problem exists. What I remember is: initially, due to some other problems, I was not able to run any of the unix command (i.e. ls, cd, rpm). The terminal kept giving me similar error message (error while loading shared libraries: libdl.so.2) every time I keyed in any unix command.
In order to solve this, I downloaded an rpm package (http://mirror.centos.org/centos/6/os...el6.x86_64.rpm) using another linux machine and opened the package using rpm2cpio command. Here I downloaded centos package since I think it may work on RHEL. Afterwards, I copied the libdl-2.12.so file from the package to the problematic machine. Somehow, it solves the problem partially. I am able to run most of the unix commands so far, except passwd. This morning, I tried to install the rpm using the same glibc rpm package directly using the rpm command. Now, everytime I execute ldd -v /lib64/libdl.so.2 command, I no longer get the "ldd: warning: you do not have execution permission for `/lib64/libdl.so.2'" message. However, I am still not able to execute passwd command. Really appreciate your help. The following are the codes in details: [root@server1 CENTOS]# ldd -v /lib64/libdl.so.2 linux-vdso.so.1 => (0x00007fffb63ff000) libc.so.6 => /lib64/libc.so.6 (0x00007fcc42f0e000) /lib64/ld-linux-x86-64.so.2 (0x00007fcc434a7000) Version information: /lib64/libdl.so.2: ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2 libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6 libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6 /lib64/libc.so.6: ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2 [root@server1 CENTOS]# ls -l /lib64/libdl.so.2 /lib64/libdl-2.12.so --w-r-xr-x. 1 root root 19536 Apr 3 12:43 /lib64/libdl-2.12.so lrwxrwxrwx. 1 root root 20 Apr 4 09:25 /lib64/libdl.so.2 -> /lib64/libdl-2.12.so [root@server1 CENTOS]# passwd passwd: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory |
The problem has been solved. Apparently, there are some folders in the system whose names were changed earlier. Thanks for your help anyway.
|
All times are GMT -5. The time now is 08:51 AM. |