Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 207555

Summary: net-dialup/slmodem-2.9.11-20070813 doesn't compile with kernel 2.6.24
Product: Gentoo Linux Reporter: Markus Rathgeb <maggu2810>
Component: New packagesAssignee: Gentoo Developers for the x86 Architecture <x86>
Status: RESOLVED FIXED    
Severity: normal CC: dcecchin, dliana, net-dialup, sven.koehler
Priority: High Keywords: STABLEREQ
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 207383    

Description Markus Rathgeb 2008-01-26 14:42:33 UTC
If you prepare to compile slmodem-2.9.11-20070813 with kernel-2.6.24 SA_SHIRQ is undeclared.

Reproducible: Always

Steps to Reproduce:
1. emerge =sys-kernel/gentoo-sources-2.6.24
2. emerge =net-dialup/slmodem-2.9.11_pre20070813

Actual Results:  
...
make[2]: Entering directory `/usr/src/linux-2.6.24-gentoo'
  CC [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.o
  CC [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/sysdep_amr.o
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c: In function ‘amrmo_pci_probe’:
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c:620: error: ‘SA_SHIRQ’ undeclared (first use in this function)
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c:620: error: (Each undeclared identifier is reported only once
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c:620: error: for each function it appears in.)
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c: In function ‘amrmo_init’:
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c:760: warning: ‘pci_find_device’ is deprecated (declared at include/linux/pci.h:492)
make[3]: *** [/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [_module_/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.24-gentoo'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers'
make: *** [all] Error 2
 * 
 * ERROR: net-dialup/slmodem-2.9.11_pre20070813 failed.
...

Expected Results:  
...
make[2]: Entering directory `/usr/src/linux-2.6.24-gentoo'
  CC [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.o
  CC [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/st7554.o
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c: In function ‘amrmo_init’:
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/amrmo_init.c:760: warning: ‘pci_find_device’ is deprecated (declared at include/linux/pci.h:492)
  LD [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/slamr.o
  LD [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/slusb.o
  Building modules, stage 2.
  MODPOST 2 modules
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_deregister'
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_register_driver'
  CC      /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/slamr.mod.o
  CC      /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/slusb.mod.o
  LD [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/slamr.ko
  LD [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/slusb.ko
make[2]: Leaving directory `/usr/src/linux-2.6.24-gentoo'
make[1]: Leaving directory `/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers'
>>> Source compiled.
...

With this patch it is able to compile.

# cd /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20070813/work/slmodem-2.9.11-20070813/drivers/
# diff -Naur amrmo_init.c.old amrmo_init.c
--- amrmo_init.c.old    2008-01-26 15:39:18.000000000 +0100
+++ amrmo_init.c        2008-01-26 15:38:58.000000000 +0100
@@ -617,7 +617,7 @@
                }
        }
 
-        ret = request_irq(amrmo->irq, &amrmo_pci_interrupt,SA_SHIRQ,
+        ret = request_irq(amrmo->irq, &amrmo_pci_interrupt,IRQF_SHARED,
                          amrmo->name,amrmo);
        if(ret) {
                printk(KERN_ERR "slamr: failed request_irq\n");

[the change was inspired by https://bugs.gentoo.org/show_bug.cgi?id=200508]
Comment 1 Alin Năstac (RETIRED) gentoo-dev 2008-01-29 10:31:04 UTC
Fixed in slmodem-2.9.11_pre20080126. Thanks! 

This bug will remain open till this version of slmodem will be stabilized on x86.
Comment 2 Kalidarn 2008-01-29 12:45:04 UTC
I'm having trouble compiling this.

 * Preparing ungrab-winmodem module
make modules -C /lib/modules/2.6.24-gentoo/build M=/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505
make[1]: Entering directory `/usr/src/linux-2.6.24-gentoo'
  CC [M]  /var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505/ungrab-winmodem.o
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505/ungrab-winmodem.c: In function ‘softmodem_release_init’:
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505/ungrab-winmodem.c:94: error: implicit declaration of function ‘pci_find_device’
/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505/ungrab-winmodem.c:94: warning: assignment makes pointer from integer without a cast
make[2]: *** [/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505/ungrab-winmodem.o] Error 1
make[1]: *** [_module_/var/tmp/portage/net-dialup/slmodem-2.9.11_pre20080126/work/ungrab-winmodem-20070505] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.24-gentoo'
make: *** [all] Error 2
 *
 * ERROR: net-dialup/slmodem-2.9.11_pre20080126 failed.
 * Call stack:
 *                           ebuild.sh, line 1701:  Called dyn_compile
 *                           ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *                           ebuild.sh, line   44:  Called src_compile
 *   slmodem-2.9.11_pre20080126.ebuild, line   74:  Called linux-mod_src_compile
 *                    linux-mod.eclass, line  519:  Called die
 * The specific snippet of code:
 *                      emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \
 *                                ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \
 *                              || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."
 *  The die message:
 *   Unable to make  KERNEL_DIR=/lib/modules/2.6.24-gentoo/build all.
Comment 3 Alin Năstac (RETIRED) gentoo-dev 2008-01-29 13:05:23 UTC
The only thing I see about pci_find_device is this warning:
  ungrab-winmodem.c:83: warning: ‘pci_find_device’ is deprecated (declared at include/linux/pci.h:480)

Do you still have this function defined in /usr/src/linux/include/linux/pci.h?
Comment 4 Kalidarn 2008-01-29 17:05:07 UTC
I've worked out what the problem was, I had CONFIG_PCI_LEGACY disabled.

"Say Y here if you want to include support for the deprecated pci_find_slot() and pci_find_device() APIs.  Most drivers have been converted over to using the proper hotplug APIs, so this option serves to include/exclude only a few drivers that are still using this API."

This is obviously one such driver.
Comment 5 Kalidarn 2008-01-29 17:06:15 UTC
Perhaps either a patch should be made to make it not use the legacy system, or the ebuild checks to see what CONFIG_PCI_LEGACY is set to and if it is no issue a more informative error like "please enable CONFIG_PCI_LEGACY" and then recompile.
Comment 6 Alin Năstac (RETIRED) gentoo-dev 2008-01-30 09:26:43 UTC
done
Comment 7 Alin Năstac (RETIRED) gentoo-dev 2008-02-18 13:31:45 UTC
x86 team, please mark net-dialup/slmodem-2.9.11-20070813 as stable.
Comment 8 Christian Faulhammer (RETIRED) gentoo-dev 2008-02-19 21:52:21 UTC
(In reply to comment #1)
> Fixed in slmodem-2.9.11_pre20080126. Thanks! 
> 
> This bug will remain open till this version of slmodem will be stabilized on
> x86.

(In reply to comment #7)
> x86 team, please mark net-dialup/slmodem-2.9.11-20070813 as stable.

 I am confused:

08 Jan 2008; Markus Meier <maekke@gentoo.org>
  slmodem-2.9.11_pre20070813.ebuild:
  x86 stable, bug #204191

 

Comment 9 Alin Năstac (RETIRED) gentoo-dev 2008-02-20 04:52:08 UTC
My mistake. Please mark *slmodem-2.9.11_pre20080126* stable.
Comment 10 Christian Faulhammer (RETIRED) gentoo-dev 2008-02-20 07:05:52 UTC
x86 stable, closing as we are last one