Baruch Siach <baruch@xxxxxxxxxx> wrote: > glibc older than 2.19 require _BSD_SOURCE to expose BSD style fields of > struct tcphdr. Fix the following build failure: > > xtables-monitor.c: In function 'trace_print_packet': > xtables-monitor.c:406:43: error: 'const struct tcphdr' has no member named 'th_sport' > printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); > ^ > xtables-monitor.c:406:66: error: 'const struct tcphdr' has no member named 'th_dport' > printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); Thanks for the patch, but this gives me: > +#define _BSD_SOURCE In file included from /usr/include/bits/libc-header-start.h:33:0, from /usr/include/stdlib.h:25, from xtables-monitor.c:13: /usr/include/features.h:184:3: # warning "_BSD_SOURCE and # _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" build does complete though. Does _DEFAULT_SOURCE work for older glibc as well?