Re: ipv6 redefinition build issue with 4.15-rc8

From: Daniel Wagner
Date: Wed Jan 17 2018 - 17:34:52 EST



On 01/17/2018 11:20 PM, Hauke Mehrtens wrote:
On 01/17/2018 08:31 PM, Neil MacLeod wrote:
All

Further to my previous reply (reproduced below having been bounced by
linux-kernel) I have successfully built LibreELEC when using the
ConnMan patch from Jonas - there were no other failures.

I have also built a number of network related packages (iftop, iperf,
ngrp, nmap, sshfs, tcpdump, udpxy, wireless-tools), again without
issue, so this particular 4.15-rc8 kernel change is only affecting
ConnMan as far as I can tell.

Thanks for testing.

Regards
Neil

All

Many thanks for the replies.

To ensure my build environment is sane I tested again without reverting the kernel commit, and reproduced the connman build failure.

Next I tested the change suggested by Hauke (kernel patch: http://ix.io/Eh5) and connman fails to build, however it fails with a different error this time: http://ix.io/Eh2

I then tested the change suggested by Jonas (connman patch: http://ix.io/Eh6) and connman builds successfully, no failure, so this might be a potential fix.

You should import the libc header files first and then the Linux header
files in user space applications, this is the supported order.

Can you try this patch please:

--- a/src/tethering.c
+++ b/src/tethering.c
@@ -31,11 +31,11 @@
#include <stdio.h>
#include <sys/ioctl.h>
#include <net/if.h>
-#include <linux/sockios.h>
#include <string.h>
#include <fcntl.h>
-#include <linux/if_tun.h>
#include <netinet/in.h>
+#include <linux/sockios.h>
+#include <linux/if_tun.h>
#include <linux/if_bridge.h>

#include "connman.h"


Do we want to do any changes to the kernel header files? I do not know
of any clean workaround to make this work, we can probably hack
something for connman, but I think it is not worth the trouble.

Nah, don't worry, we just fix this in ConnMan. Thanks a lot for the excellent input!

I'll cook a patch for this.

Thanks,
Daniel