gpgme and libassuan problem.

Chris chris.gilg at link-comm.com
Thu Feb 20 23:26:23 CET 2014


Chris <chris.gilg <at> link-comm.com> writes:
> 
> I'm still stuck on this. 
> 
> I ran the nm command on libgpgme.so and the result I get is:
> 
> U _assuan_ctx_set_system_hooks
> U _assuan_get_active_fds
> U _assuan_new_ext
> U _assuan_pending_line
> U _assuan_read_line
> U _assuan_release
> U _assuan_send_data
> U _assuan_sendfd
> U _assuan_socket_connect
> U _assuan_transact
> U _assuan_write_line
> 
> I also did the same for the libassuan.so and the result I get(minus all the
> other entries):
> 
> 0000284c t _assuan_ctx_set_system_hooks
> 000043c0 t _assuan_get_active_fds
> 00002368 t _assuan_new_ext
> 00003a10 t _assuan_pending_line
> 00004278 t _assuan_read_line
> 00004278 t _assuan_release
> 00003f3c t _assuan_send_data
> 00003d0c t _assuan_sendfd
> 000070d8 t _assuan_socket_connect
> 00003788 t _assuan_transact
> 00003ec8 t _assuan_write_line
> 
> I've read that " *UND*(U) if the section is referenced in the file being
> dumped, but not defined there."
> According to that, it has the right requirements.
> 
> I'm not sure what else to try. Any tips would be greatly appreciated. Thanks.
> 

More information: I added the --cref to the linker so I can see more output.

What I get seems to be backwards:

assuan_ctx_set_system_hooks                      
../../../../staging/usr/lib/libgpgme.so
assuan_get_active_fds                            
../../../../staging/usr/lib/libgpgme.so
assuan_new_ext                                   
../../../../staging/usr/lib/libgpgme.so
assuan_pending_line                              
../../../../staging/usr/lib/libgpgme.so
assuan_read_line                                 
../../../../staging/usr/lib/libgpgme.so
assuan_release                                   
../../../../staging/usr/lib/libgpgme.so
assuan_send_data                                 
../../../../staging/usr/lib/libgpgme.so
assuan_sendfd                                    
../../../../staging/usr/lib/libgpgme.so
assuan_socket_connect                            
../../../../staging/usr/lib/libgpgme.so
assuan_transact                                  
../../../../staging/usr/lib/libgpgme.so
assuan_write_line                                
../../../../staging/usr/lib/libgpgme.so

That output is saying that the assuan_new_ext function is defined in gpgme
and not libassuan.

Documentation states that:
"If the symbol is defined, the first file listed is the location of the
definition. 
 The remaining files contain references to the symbol."

What I should be seeing is:

assuan_ctx_set_system_hooks                      
../../../../staging/usr/lib/libassuan.so <-- where the function is defined.
                                                 
../../../../staging/usr/lib/libgpgme.so <-- where the function is referenced.

Am I doing something wrong?




More information about the Gnupg-devel mailing list