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:
(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.