Bug#844869: isatapd: FTBFS: ip.h:85:8: error: redefinition of 'struct iphdr'
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=/<>=. -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 > #include > #include > +#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
Bug#844869: isatapd: FTBFS: ip.h:85:8: error: redefinition of 'struct iphdr'
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=/<>=. -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 #include #include +#define IP_DF 0x4000/* dont fragment flag */ Bernhard signature.asc Description: Digital signature
Bug#844869: isatapd: FTBFS: ip.h:85:8: error: redefinition of 'struct iphdr'
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=/<>=. -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 > 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
Bug#844869: isatapd: FTBFS: ip.h:85:8: error: redefinition of 'struct iphdr'
Control: tags -1 confirmed On Sat, Nov 19, 2016 at 07:43:42AM +0100, Lucas Nussbaum wrote: Hi, > Source: isatapd > Version: 0.9.7-2 > Severity: serious > Tags: stretch sid > User: debian...@lists.debian.org > Usertags: qa-ftbfs-20161118 qa-ftbfs > Justification: FTBFS on amd64 > > Hi, > > During a rebuild of all packages in sid, your package failed to build on > amd64. > > Relevant part (hopefully): > > gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 > > -fdebug-prefix-map=/<>=. -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 > > The full build log is available from: >http://aws-logs.debian.net/2016/11/18/isatapd_0.9.7-2_unstable.log > > A list of current common problems and possible solutions is available at > http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! > > About the archive rebuild: The rebuild was done on EC2 VM instances from > Amazon Web Services, using a clean, minimal and up-to-date chroot. Every > failed build was retried once to eliminate random failures. 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. I'll reach out to the original author and check myself. Bernhard signature.asc Description: Digital signature
Bug#844869: isatapd: FTBFS: ip.h:85:8: error: redefinition of 'struct iphdr'
Source: isatapd Version: 0.9.7-2 Severity: serious Tags: stretch sid User: debian...@lists.debian.org Usertags: qa-ftbfs-20161118 qa-ftbfs Justification: FTBFS on amd64 Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 > -fdebug-prefix-map=/<>=. -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 The full build log is available from: http://aws-logs.debian.net/2016/11/18/isatapd_0.9.7-2_unstable.log A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! About the archive rebuild: The rebuild was done on EC2 VM instances from Amazon Web Services, using a clean, minimal and up-to-date chroot. Every failed build was retried once to eliminate random failures.