getdnsapi / getdns

A modern asynchronous DNS API https://getdnsapi.net/
Other
467 stars 126 forks source link

getdns_extension_set_libuv_loop not exported in v1.6.0 #493

Open certxlm opened 4 years ago

certxlm commented 4 years ago

Hi there, We're working on our own little piece of C code involving the UV event loop and getdns. In v1.5.2, building getdns with libtoolize -ci; autoreconf -fi; ./configure --with-libuv; make produces a shared library with the _getdns_extension_set_libuv_loop_ symbol exported. In v1.6.0, cmake -DBUILD_LIBUV=ON .; make produces a shared library _without getdns_extension_set_libuv_loop_. Needless to say that after compiling our usual code (with -lgetdns_ex_uv, why the change of name by the way?), we get an (un)expected undefined reference for getdns_extension_set_libuv_loop.

Did we miss something while building the library? Thanks for any help you could provide! Ps: system is a fresh install of Ubuntu 18.04 LTS.

% git branch; nm -D ./src/.libs/libgetdns_ext_uv.so

* (HEAD detached at v1.5.2)
  develop
                 U __assert_fail
                 w __cxa_finalize
                 U getdns_context_set_eventloop
0000000000000dc0 T getdns_extension_set_libuv_loop
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable

% git branch; nm -D libgetdns_ex_uv.so

* (HEAD detached at v1.6.0)
  develop
                 U __assert_fail
                 w __cxa_finalize
                 U getdns_context_set_eventloop
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U plain_mem_funcs_user_arg
                 U priv_getdns_context_mf
wtoorop commented 4 years ago

Hi @certxlm I believe this is a mistake that happened when moving to cmake (also the name change). @banburybill could you have a look? Thanks!

banburybill commented 4 years ago

@wtoorop Looks like the library name change is an issue for all extension libraries. Shall we change them all back from getdns_ex_* to getdns_ext_*?

wtoorop commented 3 years ago

@banburybill I'm not sure... if we do, we should make it another "major" release (so going to 1.7). What do you think?

certxlm commented 3 years ago

Hello, Just wanted to confirm that the lastest PR fixes name and symbol issues, thanks! Regards, CERT-XLM