即使ldconfig知道它,程序也没有find这样的库

libidl.so.7.1的path在ld.so.conf中,库也在caching中:

$ /sbin/ldconfig -p | grep libidl.so.7.1 libidl.so.7.1 (libc6) => /opt/itt/idl71/bin/bin.linux.x86/libidl.so.7.1 

但是,由于某些原因,它不是由ldd发现的:

 $ ldd _pyIDLmodule.so | grep libidl.so.7.1 libidl.so.7.1 => not found 

但是,如果我明确地将path添加到LD_LIBRARY_PATH,它的工作原理:

 $ export LD_LIBRARY_PATH=/opt/itt/idl71/bin/bin.linux.x86_64/ $ ldd _pyIDLmodule.so | grep libidl.so.7.1 libidl.so.7.1 => /opt/itt/idl71/bin/bin.linux.x86_64/libidl.so.7.1 (0x00002b7428ee7000) 

我究竟做错了什么? 为什么不找ldd库?

你输出一个.x86_64,但是config -p显示一个.x86(不是_64)

我不确定这件事是否重要,但我认为它很好奇。