On Wednesday 01 April 2015 22:35:50 Alex Suykov wrote: [...]
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.
The linux/if_ether.h -> netinet/if_ether.h seems to be understandable (but rather unfortunate).
I am not sure why why you include linux/types.h to the different source files. Most likely because this include should actually be in packet.h as mentioned in https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2015-March/012930.html https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2015-March/012942.html
Kind regards, Sven