NetBSD Problem Report #49991

From www@NetBSD.org  Sun Jun 21 09:23:01 2015
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 323A1A65E2
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 21 Jun 2015 09:23:01 +0000 (UTC)
Message-Id: <20150621092259.26502A65E4@mollari.NetBSD.org>
Date: Sun, 21 Jun 2015 09:22:59 +0000 (UTC)
From: okuyama@flex.phys.tohoku.ac.jp
Reply-To: okuyama@flex.phys.tohoku.ac.jp
To: gnats-bugs@NetBSD.org
Subject: build fails with MKINET6=no due to 3rd-party softwares
X-Send-Pr-Version: www-1.0

>Number:         49991
>Category:       bin
>Synopsis:       build fails with MKINET6=no due to 3rd-party softwares
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 21 09:25:00 +0000 2015
>Closed-Date:    Sun Oct 04 09:57:52 +0000 2020
>Last-Modified:  Sun Oct 04 09:57:52 +0000 2020
>Originator:     Rin Okuyama
>Release:        NetBSD 7.99.19
>Organization:
Department of Physics, Tohoku University
>Environment:
NetBSD okuyama 7.99.19 NetBSD 7.99.19 (OKUYAMA) #6: Sun Jun 21 16:42:43 JST 2015  root@okuyama:/usr/src/sys/arch/amd64/compile/OKUYAMA amd64
>Description:
Userland building fails with MKINET6=no. Compilation errors occur in
the following directories:

- external/apache2/mDNSResponder

<net/if_var.h> is mistakenly excluded from ./dist/mDNSPosix/mDNSUNP.c
when IPv6 support is disabled.

- external/bsd/dhcpcd

"#ifdef INET6" is missing in some parts of ./dist/dhcpcd.c.

- external/bsd/tcpdump

Even if IPv6 is not supported, "void ip6_print()" is declared in
./dist/netdissect.h, and this function is called from several parts of
the software.
>How-To-Repeat:
Execute build.sh with MKINET6=no in /etc/mk.conf. Alternatively, you
can do "make MKINET6=no" in the above mentioned directories.
>Fix:
Apply a patch below.

--- external/apache2/mDNSResponder/dist/mDNSPosix/mDNSUNP.c.orig	2015-06-21 15:07:47.000000000 +0900
+++ external/apache2/mDNSResponder/dist/mDNSPosix/mDNSUNP.c	2015-06-21 15:10:32.000000000 +0900
@@ -54,7 +54,8 @@
     #include <net/if_dl.h>
 #endif

-#if defined(AF_INET6) && HAVE_IPV6 && !HAVE_LINUX && !defined(sun)
+#if (defined(AF_INET6) && HAVE_IPV6 && !HAVE_LINUX && !defined(sun)) || \
+    defined(__NetBSD__)
 #if defined(__FreeBSD__) || defined(__DragonFly__)
 #include <net/if_var.h>
 #endif
--- external/bsd/dhcpcd/dist/dhcpcd.c.orig	2015-06-21 15:20:19.000000000 +0900
+++ external/bsd/dhcpcd/dist/dhcpcd.c	2015-06-21 15:23:04.000000000 +0900
@@ -674,7 +674,9 @@
 			arp_close(ifp);
 			if_sortinterfaces(ctx);
 			ipv4_preferanother(ifp);
+#ifdef INET6
 			ipv6nd_expire(ifp, 0);
+#endif
 #else
 			dhcpcd_drop(ifp, 0);
 #endif
@@ -708,7 +710,7 @@
 			}
 			dhcpcd_initstate(ifp, 0);
 			script_runreason(ifp, "CARRIER");
-#ifdef NOCARRIER_PRESERVE_IP
+#if defined(NOCARRIER_PRESERVE_IP) && defined(INET6)
 			/* Set any IPv6 Routers we remembered to expire
 			 * faster than they would normally as we
 			 * maybe on a new network. */
--- external/bsd/tcpdump/dist/netdissect.h.orig	2015-06-21 17:31:39.000000000 +0900
+++ external/bsd/tcpdump/dist/netdissect.h	2015-06-21 15:39:05.000000000 +0900
@@ -595,8 +595,8 @@
 extern u_int ieee802_11_radio_avs_if_print(netdissect_options *, const struct pcap_pkthdr *, const u_char *);
 extern u_int prism_if_print(netdissect_options *, const struct pcap_pkthdr *, const u_char *);

-extern void ip6_print(netdissect_options *,const u_char *, u_int);
 #ifdef INET6
+extern void ip6_print(netdissect_options *,const u_char *, u_int);
 extern int frag6_print(netdissect_options *, const u_char *, const u_char *);
 extern int rt6_print(netdissect_options *, const u_char *, const u_char *);
 extern int hbhopt_print(netdissect_options *, const u_char *);
--- external/bsd/tcpdump/dist/print-arcnet.c.orig	2015-06-21 15:31:36.000000000 +0900
+++ external/bsd/tcpdump/dist/print-arcnet.c	2015-06-21 15:30:37.000000000 +0900
@@ -330,9 +330,11 @@
 	        ip_print(ndo, p, length);
 		return (1);

+#ifdef INET6
 	case ARCTYPE_INET6:
 		ip6_print(ndo, p, length);
 		return (1);
+#endif

 	case ARCTYPE_ARP_OLD:
 	case ARCTYPE_ARP:
--- external/bsd/tcpdump/dist/print-chdlc.c.orig	2015-06-21 15:31:49.000000000 +0900
+++ external/bsd/tcpdump/dist/print-chdlc.c	2015-06-21 15:32:02.000000000 +0900
@@ -81,9 +81,11 @@
 	case ETHERTYPE_IP:
 		ip_print(ndo, p, length);
 		break;
+#ifdef INET6
 	case ETHERTYPE_IPV6:
 		ip6_print(ndo, p, length);
 		break;
+#endif
 	case CHDLC_TYPE_SLARP:
 		chdlc_slarp_print(ndo, p, length);
 		break;
--- external/bsd/tcpdump/dist/print-enc.c.orig	2015-06-21 15:32:50.000000000 +0900
+++ external/bsd/tcpdump/dist/print-enc.c	2015-06-21 15:33:35.000000000 +0900
@@ -122,7 +122,7 @@
 	case AF_INET:
 		ip_print(ndo, p, length);
 		break;
-#ifdef AF_INET6
+#if defined(INET6) && defined(AF_INET6)
 	case AF_INET6:
 		ip6_print(ndo, p, length);
 		break;
--- external/bsd/tcpdump/dist/print-ether.c.orig	2015-06-21 15:34:49.000000000 +0900
+++ external/bsd/tcpdump/dist/print-ether.c	2015-06-21 15:34:49.000000000 +0900
@@ -328,9 +328,11 @@
 	        ip_print(ndo, p, length);
 		return (1);

+#ifdef INET6
 	case ETHERTYPE_IPV6:
 		ip6_print(ndo, p, length);
 		return (1);
+#endif

 	case ETHERTYPE_ARP:
 	case ETHERTYPE_REVARP:
--- external/bsd/tcpdump/dist/print-fr.c.orig	2015-06-21 15:35:05.000000000 +0900
+++ external/bsd/tcpdump/dist/print-fr.c	2015-06-21 15:35:24.000000000 +0900
@@ -325,9 +325,11 @@
 	        ip_print(ndo, p, length);
 		break;

+#ifdef INET6
 	case NLPID_IP6:
 		ip6_print(ndo, p, length);
 		break;
+#endif

 	case NLPID_CLNP:
 	case NLPID_ESIS:
--- external/bsd/tcpdump/dist/print-gre.c.orig	2015-06-21 15:36:44.000000000 +0900
+++ external/bsd/tcpdump/dist/print-gre.c	2015-06-21 15:36:34.000000000 +0900
@@ -205,9 +205,11 @@
 	case ETHERTYPE_IP:
 	        ip_print(ndo, bp, len);
 		break;
+#ifdef INET6
 	case ETHERTYPE_IPV6:
 		ip6_print(ndo, bp, len);
 		break;
+#endif
 	case ETHERTYPE_MPLS:
 		mpls_print(ndo, bp, len);
 		break;
--- external/bsd/tcpdump/dist/print-ip.c.orig	2015-06-21 15:37:13.000000000 +0900
+++ external/bsd/tcpdump/dist/print-ip.c	2015-06-21 15:39:48.000000000 +0900
@@ -441,10 +441,12 @@
 		}
 		break;

+#ifdef INET6
 	case IPPROTO_IPV6:
 		/* ip6-in-ip encapsulation */
 		ip6_print(ndo, ipds->cp, ipds->len);
 		break;
+#endif

 	case IPPROTO_RSVP:
 		rsvp_print(ndo, ipds->cp, ipds->len);
@@ -696,9 +698,11 @@
 	case 4:
 		ip_print (ndo, bp, length);
 		return;
+#ifdef INET6
 	case 6:
 		ip6_print (ndo, bp, length);
 		return;
+#endif
 	default:
 		ND_PRINT((ndo, "unknown ip %d", IP_V(&hdr)));
 		return;
--- external/bsd/tcpdump/dist/print-ipnet.c.orig	2015-06-21 15:37:45.000000000 +0900
+++ external/bsd/tcpdump/dist/print-ipnet.c	2015-06-21 15:37:40.000000000 +0900
@@ -76,9 +76,11 @@
 	        ip_print(ndo, p, length);
 		break;

+#ifdef INET6
 	case IPH_AF_INET6:
 		ip6_print(ndo, p, length);
 		break;
+#endif

 	default:
 		if (!ndo->ndo_eflag)
--- external/bsd/tcpdump/dist/print-isoclns.c.orig	2015-06-21 15:38:19.000000000 +0900
+++ external/bsd/tcpdump/dist/print-isoclns.c	2015-06-21 15:38:11.000000000 +0900
@@ -708,9 +708,11 @@
 		ip_print(ndo, p + 1, length - 1);
 		break;

+#ifdef INET6
 	case NLPID_IP6:
 		ip6_print(ndo, p + 1, length - 1);
 		break;
+#endif

 	case NLPID_PPP:
 		ppp_print(ndo, p + 1, length - 1);
--- external/bsd/tcpdump/dist/print-juniper.c.orig	2015-06-21 15:38:49.000000000 +0900
+++ external/bsd/tcpdump/dist/print-juniper.c	2015-06-21 15:40:41.000000000 +0900
@@ -480,9 +480,11 @@
         case JUNIPER_PROTO_IPV4:
             ip_print(ndo, p, l2info.length);
             break;
+#ifdef INET6
         case JUNIPER_PROTO_IPV6:
             ip6_print(ndo, p, l2info.length);
             break;
+#endif
         default:
             if (!ndo->ndo_eflag)
                 ND_PRINT((ndo, "unknown GGSN proto (%u)", gh->proto));
@@ -782,9 +784,11 @@
             else
                 ip_print(ndo, p, l2info.length);
             return l2info.header_len;
+#ifdef INET6
         case JUNIPER_LSQ_L3_PROTO_IPV6:
             ip6_print(ndo, p,l2info.length);
             return l2info.header_len;
+#endif
         case JUNIPER_LSQ_L3_PROTO_MPLS:
             mpls_print(ndo, p, l2info.length);
             return l2info.header_len;
@@ -836,9 +840,11 @@
             case JUNIPER_LSQ_L3_PROTO_IPV4:
                 ip_print(ndo, p, l2info.length);
                 return l2info.header_len;
+#ifdef INET6
             case JUNIPER_LSQ_L3_PROTO_IPV6:
                 ip6_print(ndo, p,l2info.length);
                 return l2info.header_len;
+#endif
             case JUNIPER_LSQ_L3_PROTO_MPLS:
                 mpls_print(ndo, p, l2info.length);
                 return l2info.header_len;
@@ -1080,9 +1086,11 @@
     case 0x6c:
     case 0x6d:
     case 0x6e:
+#ifdef INET6
     case 0x6f:
         ip6_print(ndo, p, length);
         break;
+#endif
     default:
         return 0; /* did not find a ip header */
         break;
--- external/bsd/tcpdump/dist/print-mpls.c.orig	2015-06-21 15:41:11.000000000 +0900
+++ external/bsd/tcpdump/dist/print-mpls.c	2015-06-21 15:41:26.000000000 +0900
@@ -190,9 +190,11 @@
 		ip_print(ndo, p, length - (p - bp));
 		break;

+#ifdef INET6
 	case PT_IPV6:
 		ip6_print(ndo, p, length - (p - bp));
 		break;
+#endif

 	case PT_OSI:
 		isoclns_print(ndo, p, length - (p - bp), length - (p - bp));
--- external/bsd/tcpdump/dist/print-null.c.orig	2015-06-21 15:41:49.000000000 +0900
+++ external/bsd/tcpdump/dist/print-null.c	2015-06-21 15:41:57.000000000 +0900
@@ -114,11 +114,13 @@
 		ip_print(ndo, p, length);
 		break;

+#ifdef INET6
 	case BSD_AFNUM_INET6_BSD:
 	case BSD_AFNUM_INET6_FREEBSD:
 	case BSD_AFNUM_INET6_DARWIN:
 		ip6_print(ndo, p, length);
 		break;
+#endif

 	case BSD_AFNUM_ISO:
 		isoclns_print(ndo, p, length, caplen);
--- external/bsd/tcpdump/dist/print-pflog.c.orig	2015-06-21 15:42:19.000000000 +0900
+++ external/bsd/tcpdump/dist/print-pflog.c	2015-06-21 15:43:02.000000000 +0900
@@ -157,7 +157,7 @@
 		        ip_print(ndo, p, length);
 			break;

-#if defined(AF_INET6) || defined(OPENBSD_AF_INET6)
+#if defined(INET6) && (defined(AF_INET6) || defined(OPENBSD_AF_INET6))
 #ifdef AF_INET6
 		case AF_INET6:
 #endif /* AF_INET6 */
--- external/bsd/tcpdump/dist/print-pim.c.orig	2015-06-21 15:43:19.000000000 +0900
+++ external/bsd/tcpdump/dist/print-pim.c	2015-06-21 15:43:32.000000000 +0900
@@ -774,9 +774,11 @@
 			ip_print(ndo, bp, len);
 			break;

+#ifdef INET6
 		case 6:	/* IPv6 */
 			ip6_print(ndo, bp, len);
 			break;
+#endif

 		default:
 			ND_PRINT((ndo, "IP ver %d", IP_V(ip)));
--- external/bsd/tcpdump/dist/print-ppp.c.orig	2015-06-21 15:43:46.000000000 +0900
+++ external/bsd/tcpdump/dist/print-ppp.c	2015-06-21 15:44:43.000000000 +0900
@@ -1397,9 +1397,11 @@
         case PPP_IP:
 		ip_print(ndo, b + 1, length - 1);
 		goto cleanup;
+#ifdef INET6
         case PPP_IPV6:
 		ip6_print(ndo, b + 1, length - 1);
 		goto cleanup;
+#endif
         default: /* no luck - try next guess */
 		break;
         }
@@ -1469,10 +1471,12 @@
 	case PPP_IP:
 		ip_print(ndo, p, length);
 		break;
+#ifdef INET6
 	case ETHERTYPE_IPV6:	/*XXX*/
 	case PPP_IPV6:
 		ip6_print(ndo, p, length);
 		break;
+#endif
 	case ETHERTYPE_IPX:	/*XXX*/
 	case PPP_IPX:
 		ipx_print(ndo, p, length);
@@ -1782,9 +1786,11 @@
 			case PPP_IP:
 				ip_print(ndo, p, length);
 				break;
+#ifdef INET6
 			case PPP_IPV6:
 				ip6_print(ndo, p, length);
 				break;
+#endif
 			case PPP_MPLS_UCAST:
 			case PPP_MPLS_MCAST:
 				mpls_print(ndo, p, length);
@@ -1799,9 +1805,11 @@
 			case PPP_IP:
 				ip_print(ndo, p, length);
 				break;
+#ifdef INET6
 			case PPP_IPV6:
 				ip6_print(ndo, p, length);
 				break;
+#endif
 			case PPP_MPLS_UCAST:
 			case PPP_MPLS_MCAST:
 				mpls_print(ndo, p, length);
@@ -1829,9 +1837,11 @@
 	case PPP_IP:
 		ip_print(p, length);
 		break;
+#ifdef INET6
 	case PPP_IPV6:
 		ip6_print(ndo, p, length);
 		break;
+#endif
 	case PPP_MPLS_UCAST:
 	case PPP_MPLS_MCAST:
 		mpls_print(ndo, p, length);
--- external/bsd/tcpdump/dist/print-sl.c.orig	2015-06-21 15:45:19.000000000 +0900
+++ external/bsd/tcpdump/dist/print-sl.c	2015-06-21 15:45:13.000000000 +0900
@@ -83,9 +83,11 @@
 	case 4:
 	        ip_print(ndo, (u_char *)ip, length);
 		break;
+#ifdef INET6
 	case 6:
 		ip6_print(ndo, (u_char *)ip, length);
 		break;
+#endif
 	default:
 		ND_PRINT((ndo, "ip v%d", IP_V(ip)));
 	}

>Release-Note:

>Audit-Trail:
From: Rin Okuyama <rokuyama@rk.phys.keio.ac.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: bin/49991 build fails with MKINET6=no due to 3rd-party softwares
Date: Fri, 23 Sep 2016 01:53:58 +0900

 Even today, the patches attached to this PR are required to build -current
 with MKINET6=no, except that for dhcpcd; dhcpcd has already been fixed.

 I've been using the patched system for more than a year without any non-
 trivial troubles (external packages depending on IPv6 do not work on my
 system, of course).

State-Changed-From-To: open->closed
State-Changed-By: rin@NetBSD.org
State-Changed-When: Sun, 04 Oct 2020 09:57:52 +0000
State-Changed-Why:
outdated (2015 PR of mine)


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.