我使用Centos 6.6,有一个共享库,生成的可执行文件和任何使用这个共享库的可执行文件都无法找到它,如ldd所见。我可以找到这个库:
$ locate libcs.so.1
/opt/cloudshield/lib/libcs.so.1ldd显示以下内容:
$ sudo ldd /opt/cloudshield/lib/libcs.so.1
ldd: warning: you do not have execution permission for `/opt/cloudshield/lib/libcs.so.1'
linux-vdso.so.1 => (0x00007ffff4fff000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7a0fd56000)
/lib64/ld-linux-x86-64.so.2 (0x000000340ba00000)
$ sudo ldconfig -v | grep libcs.so.1是因为内核库linux-vdso.so.1吗?
Executable cannot find the library libcs.so.1:
[fpeter@localhost radius]$ ldd radius
`linux-vdso.so.1 => (0x00007fff634b4000)
libconfd.so => /home/fpeter/trunk/thirdparty/tailf/confd/lib/libconfd.so (0x00007f5db20e6000)
libcs.so.1 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000340c600000)
libc.so.6 => /lib64/libc.so.6 (0x000000340c200000)
libm.so.6 => /lib64/libm.so.6 (0x000000340ce00000)
libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x0000003ba4a00000)
/lib64/ld-linux-x86-64.so.2 (0x000000340ba00000)
libdl.so.2 => /lib64/libdl.so.2 (0x000000340be00000)
libz.so.1 => /lib64/libz.so.1 (0x000000340d600000)发布于 2015-07-07 20:30:19
将/opt/cloudshield/lib/添加到LD_LIBRARY_PATH环境变量中,例如:
LD_LIBRARY_PATH=/opt/cloudshield/lib
export LD_LIBRARY_PATH另请参阅How to build library ithoutsudo或shared libraries。
https://stackoverflow.com/questions/31268343
复制相似问题