Jim Gifford wrote:
I just don't understand why iptables needs that file at all, I can't
find anything in it that uses it. I'm going to search again, and I will
post my results once I figure it out.
iptables doesn't need it. It's one of those funky #include chains. include A
includes B which includes C which includes Q and so on until it tries
including a file it can't find. This is because there are a series of mach-*
machine subdirs in include/asm-mips that each contain headers specific to a
particular machine type (like spaces.h, among other things). I haven't delved
into the specifics (someone else here can explain it more), but when the
kernel builds, based upon the configuration of the kernel, it knows which
include/asm-mips/mach-* directory to look in to snag the headers it needs.
Userland doesn't know this, so for headers used in userland, you need to patch
things abit. Otherwise, they break.
http://tinyurl.com/5grah <-- appCompat patch used in Gentoo's linux-headers
2.6.10 ebuild. It lacks mips-specific bits, but you can look at how x86
handles some of its include/asm-i386/mach-* sections for how we're working
around these issues. It's all a hack really, until someone either fixes
userland to never use kernel headers, or the kernel-side finds a way to create
userland-friendly headers (but I don't see any of this happening anytime soon).
"Such is oft the course of deeds that move the wheels of the world: small
hands do them because they must, while the eyes of the great are elsewhere."