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.