Description of problem: iptables-1.4.0 needs linux/compiler.h, which is not part of the kernel-headers package. The netfilter headers in the /lib/modules/../build/include/linux are different to the header files in /usr/include/linux (e.g. missing #include <linux/in6.h> in ip6_tables.h). Version-Release number of selected component (if applicable): kernel-headers-2.6.24.1-26.fc9 How reproducable: Try to compile iptables-1.4.0-1 from dist CVS. Additional info: iptables cannot be built against kernel-headers without the proper header files.
i also noticed a similar problem while trying to compile a unrelated package. on my i686 (non-x86_64) was installed X86_64 kernel headers.
what is it using from compiler.h ? Ie, where does it fail if you just remove the #include ? From a quick look, there's nothing in that header that userspace should be using.
This may well be related to what's discussed in the thread at http://marc.info/?l=linux-netdev&m=120342897402742&w=2
Or it may just be that iptables contains its own broken copy of the headers taken from the kernel without using 'make headers_install'.
no, the default kernel package contains /usr/include/asm files from x86_64 and cause failure for any thing (in my case, a popular media player) to fail do to incorrect versions of structures which it uses. it is definitely the kernel-headers package at fault.
I believe iptables got fixed. Brian, if there is a bug in another userspace package, please file a bug against that package and explain the problem in detail. Cc me if it relates to abuse of kernel headers, and I'll try to help.