Bug 495995

Summary: compile errors in sound/pci/hda/hda_hwdep.c from http://people.redhat.com/~dzickus/el5/138.el5/src/kernel-2.6.18-138.el5.src.rpm
Product: Red Hat Enterprise Linux 5 Reporter: csb sysadmin <admin>
Component: kernelAssignee: Prarit Bhargava <prarit>
Status: CLOSED WONTFIX QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3CC: dzickus
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-09 14:40:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
config from 2.6.18-138 none

Description csb sysadmin 2009-04-15 21:28:39 UTC
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:

Comment 1 csb sysadmin 2009-04-15 21:43:25 UTC
correction:

7. cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686

Comment 2 csb sysadmin 2009-04-15 23:50:38 UTC
got around it by disabling intel hda audio in make menuconfig

Comment 3 Prarit Bhargava 2009-04-22 13:00:28 UTC
>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.

Comment 4 csb sysadmin 2009-04-22 13:33:17 UTC
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.

Comment 5 csb sysadmin 2009-04-22 13:35:26 UTC
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.

Comment 6 Prarit Bhargava 2009-04-22 13:40:10 UTC
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.

Comment 7 Prarit Bhargava 2009-04-22 13:50:13 UTC
Reopening the bug.  There could be an issue with the CONFIG_* options for the Intel Audio driver.

(IMO).

P.