Created attachment 218524 [details] poudriere build log nuts doesn't build if ipv6 support disabled in net-mgmt/net-snmp
Can you provide the output of the following command, please? grep NETSNMP_TRANSPORT_UDPIPV6_DOMAIN /usr/local/include/net-snmp/net-snmp-config.h
#define NETSNMP_TRANSPORT_UDPIPV6_DOMAIN 1 #ifdef NETSNMP_TRANSPORT_UDPIPV6_DOMAIN # define SNMP_TRANSPORT_UDPIPV6_DOMAIN NETSNMP_TRANSPORT_UDPIPV6_DOMAIN
I discovered this too, here, last night. net-snmp is failing to undefine NETSNMP_TRANSPORT_UDPIPV6_DOMAIN, making apps believe IPv6 is still compiled in. I will assign this PR to zi@, the maintainer of net-snmp. He should change the title to something like "net-mgmt/net-snmp still defines IPv6 macros when IPv6 is disabled at build time."
Thanks! I'll enable ipv6 in net-mgmt/net-snmp for my builds then.
For now, yes. NETSNMP_TRANSPORT_TCPIPV6_DOMAIN is also defined as 1 when IPv6 is disabled. I suspect that zi@, after some investigation, will discover that there is much more broken in net-snmp than just this one macro definition when IPv6 is disabled and will likely need to push this upstream for ultimate resolution (without spending too much time at this).
My inclination is to just convert the existing IPV6 OPTION to not an OPTION and force it to be on. Do either of you see a reason not to do this?
Well, I'd say I don't know such reason. I believe, ipv6 knob in kernel is deprecated or removed, so probably, it's time to clean this option from ports as well, especially if it's hard to maintain.
Though my ISP (cable company) doesn't support it, I use IPv6 internally for ipfilter testing. I enable it for everything. Disabling IPv6 in net-snmp may have other issues: https://sourceforge.net/p/net-snmp/bugs/2903/. If it has this problem in Linux I expect to have the same problem in FreeBSD. In this case they fixed the logging but not the cause. This suggests that there's much more broken in net-snmp when IPv6 is disabled. It probably makes sense to disable the option entirely. You might want to discuss this in a little more detail in the commit log message to make sure nobody follows up by re-enabling the no IPv6 option.
(In reply to Ivan from comment #7) INET6 can still be removed from your kernel config. Doing so might expose some bugs though. I don't know anyone who runs a kernel without the INET6 option enabled.
Maybe the easiest thing, for now, is to make IPV6 enabled by default. That should fix everyone using the freebsd.org packages and make things work out of the box. If people elect to make custom builds and run into issues, then that's probably a separate issue. Thoughts?
Enabled by default and remove the option entirely until the upstream can fix the multitude of problems. They're on GH at https://github.com/net-snmp/net-snmp. Maybe raise an issue. And while we're at it USE_GH=yes and maybe even a net-snmp-devel port, though that might be a little more trouble than it's worth. Feeding the bears (like in the park), as a co-worker of mine says, can have consequences for the developer or support person. But something to thing about anyway. My krb5-devel, nut-devel and cfengine-devel ports haven't resulted in any extra tickets though. I'll leave it to you to decide. Personally, I use nut-devel since there hasn't been a release of nut for quite some time.
This bug is still there. Could we please get at least a workaround (like displaying an error if ipv6 is disabled for net-snmp) until it is fixed?
Created attachment 247563 [details] add patch to files/ and rebuild This patch seems to fix the issue with 5.9.4, still working on a full patch to upgrade from 5.9.1.
I think this PR is OBE now. I removed the IPV6 option from the port and fixed some bugs in the IPv6 MIB implementation: https://cgit.freebsd.org/ports/commit/?id=26406929ca14b616c3de4242d1a7cde0a57ee521 In particular, the patch for net-snmp isn't needed anymore. I verified that sysutils/nut still builds. Please re-open the PR if I missed something.