lnx_io.c uses the linux/version.h to attempt to autodetect which version of the kernel headers are installed in order to determine wether a struct member is named "rate" or "period" and set a macro to remove the difference essentially. The linux/version.h header however is a glibc header, and the kernel version present in it is not necessarily of the versioning that applications might think it is. Example: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=155025 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=117020 The reliance on the kernel header should probably be removed, and some other check implemented instead which is more neutral. This is a preventative maintenance for now, but it will be a problem in several months likely.
Shouldn't this be easily handlable in an autoconf check now?
Created attachment 5848 [details] [review] Handle the kbd_repeat field name via autoconf This patch adds some autoconf magic to test whether the field name is called "period". If it's not, it's assumed that it's "rate" instead. Once there are more than these two alternatives, the check needs to be extended, but I guess it's good enough for now. Tested on Linux 2.6.16.
Created attachment 5849 [details] [review] Fixed patch Forgot to patch lnx_kbd.c as well.
Fixed in 39b2f7b2182aedb1ab45415efb4c263012ace512.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.