Created attachment 339749 [details] config from 2.6.18-138 Description of problem: Kernel src from http://people.redhat.com/~dzickus/el5/138.el5/src/kernel-2.6.18-138.el5.src.rpm won't compile failing with : CC [M] sound/pci/hda/hda_hwdep.o sound/pci/hda/hda_hwdep.c: In function ‘clear_hwdep_elements’: sound/pci/hda/hda_hwdep.c:114: error: ‘struct hda_codec’ has no member named ‘init_verbs’ sound/pci/hda/hda_hwdep.c:116: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:117: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:120: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:121: error: ‘struct hda_codec’ has no member named ‘user_pins’ sound/pci/hda/hda_hwdep.c: At top level: sound/pci/hda/hda_hwdep.c:130: error: redefinition of ‘snd_hda_create_hwdep’ sound/pci/hda/hda_local.h:424: error: previous definition of ‘snd_hda_create_hwdep’ was here sound/pci/hda/hda_hwdep.c: In function ‘snd_hda_create_hwdep’: sound/pci/hda/hda_hwdep.c:139: error: ‘struct hda_codec’ has no member named ‘hwdep’ sound/pci/hda/hda_hwdep.c:152: error: ‘struct hda_codec’ has no member named ‘init_verbs’ sound/pci/hda/hda_hwdep.c:153: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:154: error: ‘struct hda_codec’ has no member named ‘user_pins’ make[3]: *** [sound/pci/hda/hda_hwdep.o] Error 1 make[2]: *** [sound/pci/hda] Error 2 make[1]: *** [sound/pci] Error 2 make: *** [sound] Error 2 How reproducible: Always Steps to Reproduce: 1. su - 2. wget http://people.redhat.com/~dzickus/el5/138.el5/src/kernel-2.6.18-138.el5.src.rpm 3. rpm -ivh kernel-2.6.18-138.el5.src.rpm 4. cd /usr/src/redhat/SPECS 5. rpmbuild -bp --target i686 kernel-2.6.spec 6. cp /boot/config-2.6.18-128.1.6.el5 /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/.config 7. cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/.config 8. make oldconfig (hold down enter) 9. make Actual results: CC [M] sound/pci/hda/hda_hwdep.o sound/pci/hda/hda_hwdep.c: In function ‘clear_hwdep_elements’: sound/pci/hda/hda_hwdep.c:114: error: ‘struct hda_codec’ has no member named ‘init_verbs’ sound/pci/hda/hda_hwdep.c:116: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:117: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:120: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:121: error: ‘struct hda_codec’ has no member named ‘user_pins’ sound/pci/hda/hda_hwdep.c: At top level: sound/pci/hda/hda_hwdep.c:130: error: redefinition of ‘snd_hda_create_hwdep’ sound/pci/hda/hda_local.h:424: error: previous definition of ‘snd_hda_create_hwdep’ was here sound/pci/hda/hda_hwdep.c: In function ‘snd_hda_create_hwdep’: sound/pci/hda/hda_hwdep.c:139: error: ‘struct hda_codec’ has no member named ‘hwdep’ sound/pci/hda/hda_hwdep.c:152: error: ‘struct hda_codec’ has no member named ‘init_verbs’ sound/pci/hda/hda_hwdep.c:153: error: ‘struct hda_codec’ has no member named ‘hints’ sound/pci/hda/hda_hwdep.c:154: error: ‘struct hda_codec’ has no member named ‘user_pins’ make[3]: *** [sound/pci/hda/hda_hwdep.o] Error 1 make[2]: *** [sound/pci/hda] Error 2 make[1]: *** [sound/pci] Error 2 make: *** [sound] Error 2 Expected results: Should be no errors. Additional info:
correction: 7. cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686
got around it by disabling intel hda audio in make menuconfig
>6. cp /boot/config-2.6.18-128.1.6.el5 /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/.config Don't do this. You're using an old config for a new kernel. There are additional options not turned on in the old config that are required for the intel audio driver to build. You should do 1. su - 2. wget http://people.redhat.com/~dzickus/el5/138.el5/src/kernel-2.6.18-138.el5.src.rpm 3. rpm -ivh kernel-2.6.18-138.el5.src.rpm 4. cd /usr/src/redhat/SPECS 5. rpmbuild -bp --target i686 kernel-2.6.spec 7. cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686 8. make oldconfig 9. make -j P.
you forgot to copy the old .config , but don't know if that's really necessary if the RHT kernel src package provides the default RHT .config file. Might be able to skip this step altogether. > 8. make oldconfig > Don't do this. You're using an old config for a new kernel. There are > additional options not turned on in the old config that are required for the intel audio driver to build. That's the whole point of "make oldconfig". Btw, if I were to copy the /boot/config-2.6.18-128.1.6.el5 into the kernel src for say 2.6.28 or any other kernel from kernel.org, run make oldconfig, then compile it will complete without errors.
you should re-open as a bug, I've been doing this with RHT kernels for a while and never had these errors before -9x or -10x. There's also an error in NTFS support if you turn that on. Turned both that and hda off and this compiles fine.
Oh ... that's a good point. I didn't think about that. There could be a busted CONFIG dependency in the Intel Audio Driver. I'll take a quick glance at that. But doing a rpmbuild -bp does drop the appropriate .config in /usr/src/redhat/linux.../kernel.../.config . P.
Reopening the bug. There could be an issue with the CONFIG_* options for the Intel Audio driver. (IMO). P.