[PATCH] [mcast-tools] Enable build of pim6sd when glibc is higher than 2.3.x

From: Rami Rosen
Date: Thu Apr 17 2008 - 03:12:36 EST


Hi,

This patch enables building pim6sd successfully on machines where
glibc is higher than 2.3.x
in the mcast mcast-tools git tree (both for i386 and x86_64 machines).

Running next series of opetaions will succeed now:
git-clone git://git.linux-ipv6.org/gitroot/yoshfuji/mcast-tools.git
cd mcast-tools
aclocal; automake; autoconf
./configure
cd pim6sd
make


Regards,
Rami Rosen


Signed-off-by: Rami Rosen <roszenrami@xxxxxxxxx>



On Tue, Apr 8, 2008 at 12:14 PM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> From: "Andy Johnson" <johnsonzjo@xxxxxxxxx>
> Date: Tue, 8 Apr 2008 09:57:39 +0300
>
>
> > mld6.c: In function 'init_mld6':
> > mld6.c:210: error: 'ICMP6_MEMBERSHIP_QUERY' undeclared (first use in
> > this function)
> > mld6.c:210: error: (Each undeclared identifier is reported only once
> > mld6.c:210: error: for each function it appears in.)
> > mld6.c:211: error: 'ICMP6_MEMBERSHIP_REPORT' undeclared (first use in
> > this function)
> > mld6.c:212: error: 'ICMP6_MEMBERSHIP_REDUCTION' undeclared (first use
> > in this function)
> > mld6.c: In function 'accept_mld6':
> > mld6.c:451: error: 'MLD_LISTENER_DONE' undeclared (first use in this function)
>
> Somewhere along the line ICMP6_MEMBERSHIP_* got changed
> into MLD_LISTENER_* in the glibc headers.
>
> Similarly MLD_LISTENER_DONE should be MLD_LISTENER_REDUCTION.
>
> In glibc-2.3.x both defines were provided, but after that the old
> ICMP6_* defines were completely removed.
>
> Probably Yoshifuji-san tests the user tool builds on a glibc-2.3.x or
> earlier system, which has the old deprecated defines.
>
> So if you simply change:
>
> ICMP6_MEMBERSHIP_* --> MLD_LISTENER_*
>
> and also:
>
> MLD_LISTENER_DONE --> MLD_LISTENER_REDUCTION
>
> the build will complete successfully.
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
diff --git a/pim6sd/mld6.h b/pim6sd/mld6.h
index 0f254a0..2f41b29 100644
--- a/pim6sd/mld6.h
+++ b/pim6sd/mld6.h
@@ -98,6 +98,18 @@ struct mld_hdr {
#define mld_reserved mld6_reserved
#endif

+/* For glibc higher than 2.3.x */
+#ifndef ICMP6_MEMBERSHIP_QUERY
+#define ICMP6_MEMBERSHIP_QUERY MLD_LISTENER_QUERY
+#define ICMP6_MEMBERSHIP_REDUCTION MLD_LISTENER_REDUCTION
+#define ICMP6_MEMBERSHIP_REPORT MLD_LISTENER_REPORT
+#define MLD_LISTENER_DONE MLD_LISTENER_REDUCTION
+#define MLD_MTRACE_RESP 201
+#define MLD_MTRACE 202
+
+#endif
+
+
#ifndef IP6OPT_RTALERT_MLD
#define IP6OPT_RTALERT_MLD 0
#define IP6OPT_RTALERT 0x05