Summary: | usbutils fails to compile with kernel 2.5.70 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Matze Braun <matze> |
Component: | [OLD] Core system | Assignee: | x86-kernel (DEPRECATED) <x86-kernel> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | major | CC: | askwar, cbrewer, jyrki |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
patch for header fallback
askwar's kernel .config file askwar's "emerge info" output askwar's installed packages: "epm -qa" output askwar's output of "emerge -vd usbutils" |
Description
Matze Braun
2003-06-19 08:52:27 UTC
Can you please remerge your linux-headers and try again? can you test this for us please I get the same errors listed below against 2.6 headers. Since trying out udev, hotplug has been added as a depend of udev, and hotplug is calling for usbutils. 1) Is usbutils really neccessary for hotplug? 2) Is there any work being done here or upstream to make it 2.6 compatible? 3) If not, I had tried to rip the checks out of the configure script to not check for linux/usb.h, but hadn't had any success (configure confuses me most times) so I ripped the #ifndefs out of the code making it fall back to the included 2.4.21 header automatically. Will attach patch. Am open to alternate solutions. (besides header regression:) ) Created attachment 19742 [details, diff]
patch for header fallback
I'm using 2.6.0-test10 kernel and headers. The patch seems to do the trick... kernel headers should _not_ be included in userspace. Including this patch in ebuild is a bit complicated though because Gentoo doesn't really support 2.6 headers yet. Any idea if this patch works with 2.4 headers? The thing is, the package comes with it's own headers to fall back onto if one isn't found in /usr/include. All the patch does is rip out the check into /usr/include, making it compile with its own self-contained headers. Works with 2.4,2.5,2.6....simply because it doesn't need the external headers with this patch:) This still happens with linux26-headers-2.6.7-r3 and sys-apps/usbutils-0.11-r3. I'm getting the exact same error message Matze reported. Requesting to have this bug reopened. Created attachment 35677 [details]
askwar's kernel .config file
Created attachment 35678 [details]
askwar's "emerge info" output
Created attachment 35679 [details]
askwar's installed packages: "epm -qa" output
Created attachment 35680 [details]
askwar's output of "emerge -vd usbutils"
Works fine here with 2.6.7-r3 headers. But I'm using gcc-3.3.3... I have the same problem with both the kernel.org 2.6.8 sources and with gentoo-dev-sources-2.6.8-r7 in combination with usbutils-0.11-r5 (but I had problems with earlier version of the kernel and usbutils as well). The problem is that the additional includes needed to define all the types in mod_devicetable.h are protected behind a #ifdef __KERNEL__. Adding this to access.c solves this problem. However, this leads to additional problems with asm/irq_vectors.h not being found. This is a machine-dependant IRQ header file. Since I did not want to muck with that I just removed all mention of the local kernel files in access.c and descparse.c, falling back to the included "usb.h". This seems to work fine, so perhaps this should be the default even if local kernel headers are present. I'm now able to emerge sys-apps/usbutils-0.11-r5 with sys-kernel/ck-sources-2.6.8.1-r9 |