Re: dlz-bdbhpt-dynamic - a dlopen bdbhpt DLZ driver
Jan-Piet Mens <[email protected]> Mon, 16 Jul 2012 11:16:03 +0200
| Newsgroups | gmane.network.dns.bind9.dlz |
|---|---|
| Message-ID | <[email protected]> |
Mark,
> The missing symbols your linker is complaining about are internal ones
> generated by the compiler? Those particular symbols appear to be ones
> within the source proceeded by _.
> I suspect this is coming about because I'm building the shared object in
> one go, and not building the plain object file first.
No, it's not the Makefile.
Looking into this a bit deeper, the DLZ example from BIND -9.9.1 contrib
doesn't call dns_sdlz_putrr() directly. (Neither do I because I swiped
that code from the example.) E.g.:
result = state->putrr(lookup, "TXT", 0, buf);
which results in (what's it called?: LAZY_LOADING) ?
Your code calls the function explicitly:
result = dns_sdlz_putrr(lookup, pd.type, pd.ttl, pd.data);
and the linker, at least here, can't find that symbol.
If I add the following huge pile of libs, I can get it to link:
$(CC) $(CFLAGS) -shared -o dlz_bdbhpt_dynamic.so dlz_bdbhpt_dynamic.o \
$(BDB_LIBS) \
-lisc -ldns -lssl \ # ISC stuff
-lcrypto -lkrb5 -lxml2 # required for above
Just wanted to get that off to you. I'll test a bit now.
-JP
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/