From: Alex Suykov <alex.suykov@gmail.com>
To: Sven Eckelmann <sven@narfation.org>
Cc: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] musl build fixes
Date: Wed, 1 Apr 2015 22:35:50 +0300 [thread overview]
Message-ID: <20150401193550.GA24391@vostro> (raw)
In-Reply-To: <2646597.jD5Rzrq2qD@sven-desktop>
Wed, Apr 01, 2015 at 07:36:10PM +0200, Sven Eckelmann wrote:
> Nacked-by: Sven Eckelmann <sven@narfation.org>
>
> The __be32, __be16 are from the kernel and used there to check if data was
> correctly converted from host byte order to big endian (and the other way
> around). batctl just uses the packet.h from the kernel module.
Ah, I see, I wasn't aware packet.h is shared between batctl and
the batman kernel module.
> See https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2015-March/012926.html
> for a proposal how to provide headers which are not yet part of linux-libc-dev
> (linux kernel uapi headers).
It's not that linux headers are not available in musl, they are.
The problem is that musl provides its own standalone <netinet/if_ether.h>
instead of including <linux/if_ether.h>, and if both get included at the same
time, gcc complains about duplicate definitions.
Can you please take a look at the patch below?
That is enough to get a musl build, too, and it keeps packet.h intact.
In glibc and uclibc at least, <netinet/if_ether.h> includes <linux/if_ether.h>,
so those can be interchanged freely, and batctl already depends on netinet/*
headers. With musl, that would break bitwise attribute of course,
but only outside of the kernel, and that would be a musl issue anyway.
ping.c | 3 ++-
tcpdump.c | 1 +
tcpdump.h | 2 +-
traceroute.c | 3 ++-
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/ping.c b/ping.c
index bdca222..9ec6745 100644
--- a/ping.c
+++ b/ping.c
@@ -34,7 +34,8 @@
#include <stdint.h>
#include <sys/select.h>
#include <sys/time.h>
-#include <linux/if_ether.h>
+#include <netinet/if_ether.h>
+#include <linux/types.h>
#include "main.h"
#include "ping.h"
diff --git a/tcpdump.c b/tcpdump.c
index b994977..cfeb4cc 100644
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -43,6 +43,7 @@
#include <stdint.h>
#include <sys/select.h>
#include <sys/socket.h>
+#include <linux/types.h>
#include "tcpdump.h"
#include "packet.h"
diff --git a/tcpdump.h b/tcpdump.h
index 5d936f2..3c9126c 100644
--- a/tcpdump.h
+++ b/tcpdump.h
@@ -23,7 +23,7 @@
#define _BATCTL_TCPDUMP_H
#include <netpacket/packet.h>
-#include <linux/if_ether.h>
+#include <netinet/if_ether.h>
#include <net/if_arp.h>
#include <sys/types.h>
#include "main.h"
diff --git a/traceroute.c b/traceroute.c
index 4ebfec2..5b58d9d 100644
--- a/traceroute.c
+++ b/traceroute.c
@@ -22,16 +22,17 @@
#include <netinet/in.h>
+#include <netinet/if_ether.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
-#include <linux/if_ether.h>
#include <stddef.h>
#include <sys/select.h>
#include <sys/time.h>
+#include <linux/types.h>
#include "main.h"
#include "traceroute.h"
--
2.0.3
next prev parent reply other threads:[~2015-04-01 19:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-01 17:18 [B.A.T.M.A.N.] musl build fixes Alex Suykov
2015-04-01 17:36 ` Sven Eckelmann
2015-04-01 19:35 ` Alex Suykov [this message]
2015-04-01 20:02 ` Sven Eckelmann
2015-04-01 21:53 ` Alex Suykov
2015-04-02 6:39 ` Sven Eckelmann
2015-04-06 14:27 ` Alex Suykov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150401193550.GA24391@vostro \
--to=alex.suykov@gmail.com \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=sven@narfation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.