Distribution: Gentoo (both gentoo sources and vanilla sources) Hardware Environment: IBM Thinkpad T42 Software Environment: Gentoo Linux in 2.6.8 kernel Problem Description: Compiling a 2.4 kernel (make dep && make bzImage) crashes with errors in the USB drivers: drivers/usb/usbdrv.o(.text+0x135e5): In function `hidinput_hid_event': : undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x1365b): In function `hidinput_hid_event': : undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x136cf): In function `hidinput_hid_event': : undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x1371b): In function `hidinput_hid_event': : undefined reference to `input_event' drivers/usb/usbdrv.o(.text+0x138bc): In function `hidinput_connect': : undefined reference to `input_register_device' drivers/usb/usbdrv.o(.text+0x13909): In function `hidinput_connect': : undefined reference to `input_register_device' drivers/usb/usbdrv.o(.text+0x13a57): In function `hidinput_disconnect': : undefined reference to `input_unregister_device' drivers/usb/usbdrv.o(.text+0x13611): In function `hidinput_hid_event': : undefined reference to `input_event' make: *** [vmlinux] Error 1 I reported this to Gentoo as bug #66070, reproduced in 2.4.22 through 2.4.26. They suggested trying vanilla sources, and I get the same crash for 2.4.26 and 2.4.28. kernel 2.4.20-gentoo compiles fine. I can send my .config to whoever's interested. (You can also pull them from the Gentoo bug site.) Steps to reproduce: make dep && make bzImage
Problem is that you have CONFIG_INPUT as module and CONFIG_USB_HID built-in. "Fix": change "input" from module to built-in (compiles for me here) or "usb hid" to module. Real fix: I did some investigation, but have no idea how to fix this dependency (other than adding a comment) I'll try to explain the problem: CONFIG_INPUT <M> Input core support CONFIG_USB_HID <*> USB Human Interface Device (full HID) support CONFIG_USB_HIDINPUT [*] HID input layer support USB_HIDINPUT is dependent on INPUT and USB_HID, but it is not a new module, it builds into USB_HID (module or built-in) So... you can't select USB_HIDINPUT as INPUT was, making USB_HID depend on INPUT looks wrong; maybe something like 2.6's "select" is the solution?
Thanks!! It compiles now. I think I got into the mess because menuconfig puts the Input Core and USB devices on different (and distant) pages. Usually conflicts like this cause the following lines to disappear, so I didn't think to go back and check my earlier choices carefully enough. Maybe just locking CONFIG_USB_HID to whatever was chosen for CONFIG_INPUT, with a comment, would be enough.
This database is not for 2.4 bugs, sorry.