[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#372957: private kernel data type outside of #ifdef __KERNEL__ block



Package: linux-kernel-headers
Version: 2.6.16.20-1

I was building libsdl1.2debian from Debian sources when the compilation
stopped with the error:

gcc -g -O2 -Iinclude -I../../include -D_GNU_SOURCE=1 -DXTHREADS -D_REENTRANT -DHAVE_LINUX_VERSION_H -c ../../src/joystick/linux/SDL_sysjoystick.c  -fPIC -DPIC -o build/.libs/SDL_sysjoystick.o
In file included from /usr/include/linux/joystick.h:33,
                 from ../../src/joystick/linux/SDL_sysjoystick.c:33:
/usr/include/linux/input.h:801: error: syntax error before "kernel_ulong_t"
/usr/include/linux/input.h:805: error: syntax error before "evbit"
/usr/include/linux/input.h:805: error: `BITS_PER_LONG' undeclared here (not in a function)
/usr/include/linux/input.h:806: error: syntax error before "keybit"
/usr/include/linux/input.h:807: error: syntax error before "relbit"
/usr/include/linux/input.h:808: error: syntax error before "absbit"
/usr/include/linux/input.h:809: error: syntax error before "mscbit"
/usr/include/linux/input.h:810: error: syntax error before "ledbit"
/usr/include/linux/input.h:811: error: syntax error before "sndbit"
/usr/include/linux/input.h:812: error: syntax error before "ffbit"
/usr/include/linux/input.h:813: error: syntax error before "swbit"
/usr/include/linux/input.h:815: error: syntax error before "driver_info"
/usr/include/linux/input.h:805: error: storage size of `evbit' isn't known
/usr/include/linux/input.h:806: error: storage size of `keybit' isn't known
/usr/include/linux/input.h:807: error: storage size of `relbit' isn't known
/usr/include/linux/input.h:808: error: storage size of `absbit' isn't known
/usr/include/linux/input.h:809: error: storage size of `mscbit' isn't known
/usr/include/linux/input.h:810: error: storage size of `ledbit' isn't known
/usr/include/linux/input.h:811: error: storage size of `sndbit' isn't known
/usr/include/linux/input.h:812: error: storage size of `ffbit' isn't known
/usr/include/linux/input.h:813: error: storage size of `swbit' isn't known
make[1]: *** [build/SDL_sysjoystick.lo] Error 1
make[1]: Leaving directory `/usr/src/sdl/SDL-1.2.10/builddir/all'
make: *** [build-stamp] Error 1

Downgrading to the recent version, 2.6.13+0rc3-2.1, fixed the problem. I
realize this could be a libsdl1.2 debian problem, but in
/usr/include/linux/input.h where the error occurred, it seems that
private kernel data types are being used outside of an #ifdef __KERNEL__
#endif block.

Oddly in the version that works for me, public data types are being used
inside a __KERNEL__ block.  I would think that the structure in question
should be inside the __KERNEL__ block, where, I suspect, sdl won't even
see it.

BTW, I'm still using gcc-3.4 for the smaller binaries, if that makes a
difference and an unpatched kernel, 2.6.16.19.



Reply to: