[syslinux] 3.61 and .62-pre10: extlinux compilation problem on Linux 2.4

H. Peter Anvin hpa at zytor.com
Wed Feb 20 09:02:55 PST 2008


Gabor Z. Papp wrote:
> * "H. Peter Anvin" <hpa at zytor.com>:
> 
> | > /usr/include/asm/statfs.h:12: error: redefinition of 'struct statfs'
> | > make[1]: *** [extlinux.o] Error 1
> | > make[1]: Leaving directory `/home/gzp/src/syslinux-3.62-pre10/extlinux'
> | > make: *** [all] Error 2
> 
> | The 2.4 kernel headers "leak" the kernel definition of struct statfs, 
> | which differs from glibc's.  The 2.4 kernel headers aren't usable as 
> | /usr/include/{linux,asm} for this and other reasons.
> 
> What really does this mean? >=3.61 can be compiled only on 2.4?
> 

No, it means you need working header files... you shouldn't be using 
unmodified 2.4 header files as your user-space header files, since the 
philosophy in the 2.4 days was "don't use kernel headers in userspace."

Fixing the header files requires removing (of #ifdef __KERNEL__) things 
that conflict with userspace, like the kernel-only definition of struct 
statfs.

	-hpa




More information about the Syslinux mailing list