Summary: | emerge alsa-driver-1.0.9b says there's an error in /usr/include/linux/pci.h | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alexander Rigbo <alex> |
Component: | New packages | Assignee: | Gentoo Sound Team <sound> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gentoo, lee, morgoth6, rhill |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Alexander Rigbo
2005-09-10 12:19:37 UTC
Update: i looked in another "pci.h" and found this line 389 (with context): int __must_check pci_set_dma_mask(struct pci_dev *dev, u64 mask); int __must_check pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask); void pci_update_resource(struct pci_dev *dev, struct resource *res, int resno); (the line in the middle is the faulty line) Another update: The other pci.h i was talking about is in /usr/src/linux/include/linux, i forgot to mention that in the last post. I've solved the problem in a _very_ ugly way: I commented out the row in /usr/src/linux/include/linux/pci.h so i got past the compilation of that .o but i got more errors. It seems that the pci_save_state and pci_restore_state has changed in the kernel. Before, they had two arguments like this: pci_save_state(dev, state); and pci_restore_state(dev, state); but now you do like this: pci_save_state(dev); and pci_restore_dev(dev); so what i did was this: ebuild alsa-driver-1.0.9b.ebuild unpack vim /var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/acore/init.c find all places where pci_set_state and pci_restore_state are beeing used and change them from the old form to the new form. ebuild alsa-driver-1.0.9b build ebuild alsa-driver-1.0.9b install ebuild alsa-driver-1.0.9b qmerge I'm confirming the same problem with vanilla-sources 2.6.14_rc1 I am also having this problem with kernel 2.6.14_rc1 + alsa-driver-1.0.10_rc1 and 1.0.9b I can confirm the same error for me :( The real culprit is in include/adriver.h:599. #ifndef CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK #define pci_set_consistent_dma_mask(p,x) 0 /* success */ #endif The reason why CONFIG_HAVE_PCI_CONSISTENT_DMA_MASK isn't set correctly might be this: > In file included from /usr/src/linux-2.6.14-rc2//include/linux/pci.h:20, > from configure:6817: > /usr/src/linux-2.6.14-rc2//include/linux/mod_devicetable.h:186:15: #if with no expression (from config.log) > #if __KERNEL__ > void *data; > #else > kernel_ulong_t data; > #endif The first line should clearly be an #ifdef because __KERNEL__ is set but evaluates to an empty string. After that hwdep.c compiles cleanly but the build still fails for other reasons still to be investigated. For the next error (URB_ASYNC_UNLINK undefined in usb/usbaudio.c) the patch is simple: Remove the offending lines. usb_unlink_urb is always async in recent kernels so that flag can be skipped. The real patch should probably check for the existence of that flag in include/linux/usb.h and define it to 0 if it's missing. *** Bug 110750 has been marked as a duplicate of this bug. *** In my system all this problems was caused by changes in the include placement in 2.6.14, no modifications are required in alsa-driver source code. Now I can simple emerge alsa-driver and it works fine. In 2.6.14 includes from asm-ppc was splited in to asm-ppc and asm-powerpc, this causes many failures in configure script because miising files. Hrm the error I see on 110750 is basically the same with pci.h that it's reported here. Can you attach the output of configure failures? Please try with 1.0.10_rc2. I've unmasked alsa-headers, alsa-lib and alsa-driver as =media-sound/alsa-driver-1.0.10_rc2 =media-sound/alsa-headers-1.0.10_rc2 =media-libs/alsa-lib-1.0.10_rc2 and this seems to fix the problem. Fixed then. *** Bug 117801 has been marked as a duplicate of this bug. *** |