views:

86

answers:

1

The path to libidl.so.7.1 is in ld.so.conf, and the library is in the cache as well:

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

However, for some reason it is not found by ldd:

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

Yet if I explicitly add the path to LD_LIBRARY_PATH, it works:

$ 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)

What am I doing wrong? Why isn't ldd finding the library?

+3  A: 

You export a .x86_64 yet the config -p shows a .x86 (no _64)

I'm not sure if this matters or not, but I thought it curious.

David Harkness
Yes, that was it. I guess the library was in the cache, but couldn't be loaded because it was 32bit. Thanks!
Nikratio