http://bugs.winehq.org/show_bug.cgi?id=5314
Summary: Compile fails from dlls/dinput w/ Linux headers 2.6.16.18 input.h: `BITS_PER_LONG' undeclared here Product: Wine Version: 0.9.9. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: wine-help AssignedTo: wine-bugs@winehq.org ReportedBy: kuitang@gmail.com
Using Slackware-current, glibc 2.3.6, kernel & headers 2.6.16.18. Result from compile:
make[2]: Entering directory `/usr/local/src/wine-0.9.14/dlls/dinput' ccache gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRA
NT -fPIC -Wall -pipe -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -O3 -fomit-frame-pointer -march=pentium3 -mcpu=pentium3 -mtune =pentium3 -mmmx -msse -mfpmath=sse -o joystick_linux.o joystick_linux.c In file included from /usr/include/linux/joystick.h:33, from joystick_linux.c:54: /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[2]: *** [joystick_linux.o] Error 1 make[2]: Leaving directory `/usr/local/src/wine-0.9.14/dlls/dinput' make[1]: *** [dinput] Error 2 make[1]: Leaving directory `/usr/local/src/wine-0.9.14/dlls' make: *** [dlls] Error 2
grep BITS_PER_LONG input.h:
kernel_ulong_t evbit[EV_MAX/BITS_PER_LONG+1]; kernel_ulong_t keybit[KEY_MAX/BITS_PER_LONG+1]; kernel_ulong_t relbit[REL_MAX/BITS_PER_LONG+1]; kernel_ulong_t absbit[ABS_MAX/BITS_PER_LONG+1]; kernel_ulong_t mscbit[MSC_MAX/BITS_PER_LONG+1]; kernel_ulong_t ledbit[LED_MAX/BITS_PER_LONG+1]; kernel_ulong_t sndbit[SND_MAX/BITS_PER_LONG+1]; kernel_ulong_t ffbit[FF_MAX/BITS_PER_LONG+1]; kernel_ulong_t swbit[SW_MAX/BITS_PER_LONG+1]; #define NBITS(x) (((x)/BITS_PER_LONG)+1) #define BIT(x) (1UL<<((x)%BITS_PER_LONG)) #define LONG(x) ((x)/BITS_PER_LONG)