On Mon, Nov 21, 2016 at 09:31:47PM +0100, Bernhard Schmidt wrote: > > Hi Adrian, > > On Mon, Nov 21, 2016 at 04:58:34PM +0200, Adrian Bunk wrote: > > On Sun, Nov 20, 2016 at 08:54:06PM +0100, Bernhard Schmidt wrote: > > >... > > > On Sat, Nov 19, 2016 at 07:43:42AM +0100, Lucas Nussbaum wrote: > > >... > > > > Relevant part (hopefully): > > > > > gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall > > > > > -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong > > > > > -Wformat -Werror=format-security -c -o tunnel.o tunnel.c > > > > > In file included from /usr/include/linux/if_tunnel.h:6:0, > > > > > from tunnel.c:23: > > > > > /usr/include/linux/ip.h:85:8: error: redefinition of 'struct iphdr' > > > > > struct iphdr { > > > > > ^~~~~ > > > > > In file included from tunnel.c:21:0: > > > > > /usr/include/netinet/ip.h:44:8: note: originally defined here > > > > > struct iphdr > > > > > ^~~~~ > > > > > Makefile:353: recipe for target 'tunnel.o' failed > > > > > make[3]: *** [tunnel.o] Error 1 > > >... > > > Odd. I can reproduce this FTBFS. The package has not been touched for a > > > long time, does not have any uncommon builddeps and (according to the > > > reproducible builds at > > > https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/isatapd.html) > > > built fine in sid until a month ago. > > >... > > > > This is caused by a recent change to the kernel userspace headers: > > > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1fe8e0f074c77aa41aaa579345a9e675acbebfa9 > > Thanks! > > I'm far away from being a C programmer, so maybe the solution is easy. > But I could not find any. > > I need netinet/ip.h for the definition of IP_DF, it is not defined > anywhere else. > > I obviously need linux/if_tunnel.h for all the tunnel stuff, which > includes linux/ip.h with the conflicting definition of the iphdr struct. > > This works, but I don't think this is the right solution > > -#include <netinet/ip.h> > #include <net/if.h> > #include <linux/if_tunnel.h> > +#define IP_DF 0x4000 /* dont fragment flag */
This is pretty similar to the upstream fix for the other affected package (net-tools): https://sourceforge.net/p/net-tools/code/ci/45d573a89386c934d3ebac499d00c1670437813b > Bernhard cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed