Subject:
[ruby-ffi] Re: Multiple libraries included via dlopen()?
From:
mjmac
Date:
12/16/10 5:07 PM
To:
ruby-ffi

More details, perhaps useful...  I'm in over my head, but trying to
understand the various moving parts.  Thought I'd give LD_DEBUG a try.

I decided to use attach_function on the "missing" function to see if
that might force it to be available to the plugin.  No dice:

LD_DEBUG=all ./test.rb 2>&1 | grep slurm_auth_get_arg_desc
     20022:	symbol=slurm_auth_get_arg_desc;  lookup in file=/usr/lib64/
libslurm.so [0]
     20022:	binding file /usr/lib64/libslurm.so [0] to /usr/lib64/
libslurm.so [0]: normal symbol `slurm_auth_get_arg_desc'
...
     20030:     opening file=/usr/lib64/slurm/auth_munge.so [0];
direct_opencount=1
...
     20022:	/usr/lib64/slurm/auth_munge.so: error: symbol lookup
error: undefined symbol: slurm_auth_get_arg_desc (fatal)
ruby: symbol lookup error: /usr/lib64/slurm/auth_munge.so: undefined
symbol: slurm_auth_get_arg_desc

So, it looks like the attach_function finds the symbol in libslurm.so
OK, but this doesn't help with loading auth_munge.so.  Is this a
namespace problem of some sort?  I'm shaky on the details of what's
going on at this level, so I could be on the wrong track.

TIA for any advice.