Trying to update NSD from ports I got build error. ... --- query.o --- ./query.c:667:50: error: use of undeclared identifier 'rbnode_t' memcpy(&temp->node, &additional->node, sizeof(rbnode_t)); ^ ./query.c:1116:54: error: use of undeclared identifier 'rbnode_t' memcpy(&match->node, &wildcard_child->node, sizeof(rbnode_t)); ^ 2 errors generated. *** [query.o] Error code 1 make[2]: stopped in /usr/ports/dns/nsd/work/nsd-4.1.15 1 error make[2]: stopped in /usr/ports/dns/nsd/work/nsd-4.1.15 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/dns/nsd *** Error code 1 Stop. make: stopped in /usr/ports/dns/nsd Here is build options. # make showconfig | grep on ===> The following configuration options are available for nsd-4.1.15: DOCS=on: Build and/or install documentation IPV6=on: IPv6 protocol support LARGEFILE=on: Largefile support MINRESPSIZE=on: Minimial response sizing NSEC3=on: NSEC3 support ROOT_SERVER=off: Configure as a root server RRL=on: Response Rate Limiting ZONE_STATS=off: Separate statistics for each zone ===> Use 'make config' to modify these settings System # uname -v FreeBSD 11.0-RELEASE-p8 #0: Wed Feb 22 06:12:04 UTC 2017 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
This error appears if RADIXTREE is on.
Sorry not on. The error appears if RADIXTREE is off (default is on).
Yes, with RADIXTREE on its works. But I think that this issue must be fixed.
By the way t, you wrote the wrong category it is dns/nsd.
(In reply to w.schwarzenfeld from comment #4) Yes, it's my fault. Of course dns/nsd will be correct.
Please, correct the title. --- If I am right, this should be the solution: --- query.c.orig 2017-03-08 21:16:20 UTC +++ query.c @@ -664,7 +664,7 @@ add_additional_rrsets(struct query *quer temp->rnode = NULL; temp->dname = additional->dname; #else - memcpy(&temp->node, &additional->node, sizeof(rbnode_t)); + memcpy(&temp->node, &additional->node, sizeof(rbnode_type)); temp->node.parent = NULL; #endif temp->number = additional->number; @@ -1113,7 +1113,7 @@ answer_authoritative(struct nsd *nsd, match->rnode = NULL; match->dname = wildcard_child->dname; #else - memcpy(&match->node, &wildcard_child->node, sizeof(rbnode_t)); + memcpy(&match->node, &wildcard_child->node, sizeof(rbnode_type)); match->node.parent = NULL; #endif match->parent = closest_encloser;
Created attachment 180673 [details] patch to fix The suggested fix is correct (checked with the upstream). See also this attachment which include the PORTREVISION bump in the Makefile.
*** Bug 217537 has been marked as a duplicate of this bug. ***
A commit references this bug: Author: junovitch Date: Fri Mar 17 02:14:39 UTC 2017 New revision: 436315 URL: https://svnweb.freebsd.org/changeset/ports/436315 Log: dns/nsd: Fix missing _t to _type conversion for disable-radix-tree option - Noting NSD changelog, recent update renamed _t typedefs because POSIX reserves them. The 4.1.15 update missed a few conversion. - Unbreak RADIXTREE. No PORTREVISION change as port would not have built. PR: 217640 Reported by: Max Kostikov <max@kostikov.co> Submitted by: w.schwarzenfeld@utanet.at (the suggested diff) jaap@NLnetLabs.nl (maintainer - the port patch) Obtained from: nsd svn r4741 Changes: head/dns/nsd/files/patch-query.c
All, Thanks for the collaboration on this and sorry for the delay in application of the patch. I saw the ping to bug 217537 following my commit to update to 4.1.15 but have been swamped lately.