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.