即使库位于我的LD_LIBRARY_PATH中,ldd也会显示“找不到”

$ ldd libpmsfdcwrt.so linux-gate.so.1 => (0x004ae000) libdl.so.2 => /lib/libdl.so.2 (0x00417000) [ ... elided ... ] libz.so.1 => not found [ ... elided ... ] libpmssl.so.0.9.7 (0xf5be8000) libfreebl3.so => /usr/lib/libfreebl3.so (0xf5b88000) 

注意“libz.so.1 =>未find”。

但是libz.so.1存在:

 $ ls -l /lib64/libz.so.1 lrwxrwxrwx 1 root root 13 Apr 25 2013 /lib64/libz.so.1 -> libz.so.1.2.3 $ ls -l /lib64/libz.so.1.2.3 -rwxr-xr-x 1 root root 91096 Oct 3 2012 /lib64/libz.so.1.2.3 

而且,该目录在LD_LIBRARY_PATH中列出:

 $ echo $LD_LIBRARY_PATH :/oracle/product/11.2.0/client_1/lib:/opt/CA/CAlib:/usr/local/CAlib:/opt/CA/WorkloadAutomationAE/autosys/lib:/opt/auto/ixpagent/lib:/lib64:/opt/CA/SharedComponents/lib:/usr/lib:/opt/CA/SharedComponents/Csam/SockAdapter/lib 

(我注销并重新login,以确保它是坚持。)

Solutions Collecting From Web of "即使库位于我的LD_LIBRARY_PATH中,ldd也会显示“找不到”"

问题是一个32位/ 64位的冲突:

 $ file libpmsfdcwrt.so libpmsfdcwrt.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped $ file /lib64/libz.so.1.2.3 /lib64/libz.so.1.2.3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped 

谢谢大家,指着我正确的方向。