When trying to compile busybox 1.21.1 on RHEL 3 or 4, or SLES 9 (as well as some others), there are compilation errors: [sles-9-i386] In file included from networking/udhcp/dhcpc.c:29: [sles-9-i386] /usr/include/linux/filter.h:21: error: parse error before "__u16" [sles-9-i386] /usr/include/linux/filter.h:23: error: parse error before "jf" [sles-9-i386] /usr/include/linux/filter.h:24: error: parse error before "k" [sles-9-i386] networking/udhcp/dhcpc.c: In function `udhcp_recv_raw_packet': [sles-9-i386] networking/udhcp/dhcpc.c:839: error: invalid application of `sizeof' to an incomplete type [sles-9-i386] networking/udhcp/dhcpc.c:903: error: `PACKET_AUXDATA' undeclared (first use in this function) [sles-9-i386] networking/udhcp/dhcpc.c:903: error: (Each undeclared identifier is reported only once [sles-9-i386] networking/udhcp/dhcpc.c:903: error: for each function it appears in.) [sles-9-i386] networking/udhcp/dhcpc.c:909: error: dereferencing pointer to incomplete type [sles-9-i386] networking/udhcp/dhcpc.c: In function `udhcp_raw_socket': [sles-9-i386] networking/udhcp/dhcpc.c:991: error: elements of array `filter_instr' have incomplete type [sles-9-i386] networking/udhcp/dhcpc.c:993: warning: excess elements in struct initializer [...] [sles-9-i386] networking/udhcp/dhcpc.c:991: error: storage size of `filter_instr' isn't known [sles-9-i386] networking/udhcp/dhcpc.c:1014: error: initializer element is not constant [sles-9-i386] networking/udhcp/dhcpc.c:1014: error: (near initialization for `filter_prog.filter') [sles-9-i386] networking/udhcp/dhcpc.c:1035: error: `PACKET_AUXDATA' undeclared (first use in this function) [sles-9-i386] networking/udhcp/dhcpc.c:991: warning: unused variable `filter_instr' [sles-9-i386] make[1]: *** [networking/udhcp/dhcpc.o] Error 1 [sles-9-i386] make: *** [networking/udhcp] Error 2 Declaring PACKET_AUXDATA to its value isn't sufficient as some undeclared types are also used: [rhel-4-x86_64] In file included from networking/udhcp/dhcpc.c:29: [rhel-4-x86_64] /usr/include/linux/filter.h:21: error: syntax error before "__u16" [rhel-4-x86_64] /usr/include/linux/filter.h:23: error: syntax error before "jf" [rhel-4-x86_64] /usr/include/linux/filter.h:24: error: syntax error before "k" [rhel-4-x86_64] networking/udhcp/dhcpc.c: In function `udhcp_recv_raw_packet': [rhel-4-x86_64] networking/udhcp/dhcpc.c:839: error: invalid application of `sizeof' to incomplete type `tpacket_auxdata' [rhel-4-x86_64] networking/udhcp/dhcpc.c:913: error: dereferencing pointer to incomplete type [rhel-4-x86_64] networking/udhcp/dhcpc.c: In function `udhcp_raw_socket': [rhel-4-x86_64] networking/udhcp/dhcpc.c:995: error: elements of array `filter_instr' have incomplete type [rhel-4-x86_64] networking/udhcp/dhcpc.c:997: warning: excess elements in struct initializer [...] [rhel-4-x86_64] networking/udhcp/dhcpc.c:995: error: storage size of 'filter_instr' isn't known [rhel-4-x86_64] networking/udhcp/dhcpc.c:1018: error: initializer element is not constant [rhel-4-x86_64] networking/udhcp/dhcpc.c:1018: error: (near initialization for `filter_prog.filter') [rhel-4-x86_64] networking/udhcp/dhcpc.c:995: warning: unused variable `filter_instr' [rhel-4-x86_64] make[1]: *** [networking/udhcp/dhcpc.o] Error 1 [rhel-4-x86_64] make: *** [networking/udhcp] Error 2 Not tried yet with 1.22.1 but none of the patches available seem to address this issue, thus this bug report.
Both those releases are nearly 10 years old.