[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