On Thu, 12 Jan 2017 13:17:10 +0000 (GMT)
Paul Jakma <p...@jakma.org> wrote:

> There's a compile failure here somewhere:
> 
> make[2]: Entering directory '/home/paul/code/quagga/nhrpd'
>    CC       zbuf.o
>    CC       znl.o
>    CC       resolver.o
>    CC       linux.o
>    CC       netlink.o
> In file included from /usr/include/linux/if_tunnel.h:6:0,
>                   from netlink.c:17:
> /usr/include/linux/ip.h:85:8: error: redefinition of ‘struct iphdr’
>   struct iphdr {
>          ^~~~~
> In file included from netlink.c:12:0:
> /usr/include/netinet/ip.h:44:8: note: originally defined here
>   struct iphdr
>          ^~~~~
> Makefile:497: recipe for target 'netlink.o' failed
> 
> # rpm -q kernel-headers
> kernel-headers-4.8.15-200.fc24.x86_64

Seems to be caused by the recent kernel commit:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1fe8e0f074c77aa41aaa579345a9e675acbebfa9

It is known issue that some of the c-library and kernel header files
conflict with each other. Slightly sad, that it's getting more overlap.

Fundamentally, it would be good to get lib/quagga.h to not include all
known headers in the universe. This would allow to include quagga
library headers in connection with kernel headers.

Probably the simples fix is to split the netlink.c in two parts. I can
send a v3 nhrpd commit, unless you prefer a follow up commit that fixes
it?

Thanks,
Timo


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to