Dimitri wrote:
However, this is probably beside the point. I'd sooner check with a debugger if you're actually calling dlopen("/proper/path/to/the.so"). If you are, it's unlikely that you'll need to debug libtool itself; it has successfully performed its wrapping and things are now in the hands of your linker. I doubt you'd find anything of note by debugging libtool itself in this scenario.
If you never make it to an actual dlopen(), you're right, you may want libtool debugging.
Yes, plugin library is actually being loaded. But after that it pulls libslapi.so, unsuccessfully. My bad, last time I haven't noticed an important line in ld-linux.so debug output:
/usr/local/lib/libslapi-2-devel.so.0: error: symbol lookup error: undefined symbol: entry2str_mutex (fatal)
Let me guess - you're on Debian or Ubuntu.
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/478827
That's why ltdl cannot load a plugin. However, this doesn't make things much clearer: that entry2str_mutex symbol is definitely present in the slapd binary, according to nm output:
[root@localhost slapd]$ nm slapd | grep entry2str_mutex 082676b0 B entry2str_mutex
Sounds like the slapd binary was not built correctly (so the symbol didn't get exported from the binary) or the libslapi binary was not built correctly (and doesn't have a runtime link dependency on the slapd binary).