Bug 172404

Summary: Rebuild of lirc-0.7.2-1.1.fc4.src.rpm (modules) fails with kernel 2.6.14
Product: [Fedora] Fedora Reporter: Martin <mgansser>
Component: lirc-kmodAssignee: Orphan Owner <extras-orphan>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 4CC: Christian.Iseli, extras-qa, fedora, scop
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-03-09 17:17:36 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
Diffs to lirc for usb_class_driver/class_device_create changes
none
A better formated version of my patch none

Description Martin 2005-11-03 21:48:40 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.7.12) Gecko/20050922 Fedora/1.0.7-1.1.fc4 Firefox/1.0.7

Description of problem:
# rpmbuild --rebuild  --with modules --target i686 lirc-0.7.2-1.1.fc4.src.rpm

make[1]: Entering directory `/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb'
mv Makefile Makefile.automake
cp ../Makefile.kernel Makefile
make -C /usr/src/kernels/2.6.14-1.1633_FC4-i686/ SUBDIRS=/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb modules \
        KBUILD_VERBOSE=1
make[2]: Entering directory `/usr/src/kernels/2.6.14-1.1633_FC4-i686'
mkdir -p /usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/.tmp_versions
make -f scripts/Makefile.build obj=/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb
  gcc -m32 -Wp,-MD,/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/.lirc_atiusb.o.d  -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.0.1/include -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -g -pipe -msoft-float -fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts  -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4 -mregparm=3 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I /usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/../.. -I /usr/src/kernels/2.6.14-1.1633_FC4-i686//include/  -DMODULE -DKBUILD_BASENAME=lirc_atiusb -DKBUILD_MODNAME=lirc_atiusb -c -o /usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/.tmp_lirc_atiusb.o /usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'send_packet':
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: (Each undeclared identifier is reported only once
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: for each function it appears in.)
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'set_use_dec':
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:357: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'usb_remote_recv':
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:612: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'usb_remote_send':
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:675: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'free_in_endpt':
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:723: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'free_out_endpt':
/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:817: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)
make[3]: *** [/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.o] Error 1
make[2]: *** [_module_/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.14-1.1633_FC4-i686'
make[1]: *** [lirc_atiusb.o] Error 2
make[1]: Leaving directory `/usr/src/redhat/BUILD/lirc-0.7.2/drivers/lirc_atiusb'
make: *** [all-recursive] Error 1
make: Leaving directory `/usr/src/redhat/BUILD/lirc-0.7.2/drivers'
Fehler: Bad exit status from /var/tmp/rpm-tmp.60657 (%build)

Version-Release number of selected component (if applicable):
lirc-0.7.2-1.1.fc4.src.rpm

How reproducible:
Always

Steps to Reproduce:
.
  

Expected Results:  compile

Additional info:

installed kernel 2.6.14-1.1633_FC4-i686

Comment 1 Ville Skyttä 2005-11-04 08:52:20 UTC
Reproduced.  This is sort of an "unsupported" case, because the LIRC kernel  
module packages aren't yet shipped in Extras (and I have nothing to test them  
with), and you're using a "testing" kernel.  But thanks for the report anyway. 
  
There seems to be some movement upstream in getting things with with 2.6.14 
kernels, but their latest 0.7.3pre1 snapshot doesn't work with it yet either.  
I'll keep an eye on it. 

Comment 2 Ville Skyttä 2005-11-12 09:11:53 UTC
Ok, an official 2.6.14 update is out, and upstream has LIRC 0.8.0pre1 available  
which should fix the compilation issues with it (untested). 
 
Unfortunately 0.8.0pre1 includes one largish change which has introduced a 
security issue (already reported upstream, ack'd but still unfixed in CVS) 
which would affect practically all lirc users, so I'm not going to update to it 
yet. 

Comment 3 Martin 2005-11-12 09:50:20 UTC
now I have tried again to compile with the new lirc version:
# rpmbuild --rebuild  --with modules --target i686 lirc-0.8.0pre1-1.1.src.rpm


this is the result:
make -C /usr/src/kernels/2.6.14-1.1637_FC4-i686/
SUBDIRS=/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb modules \
        KBUILD_VERBOSE=1
make[2]: Entering directory `/usr/src/kernels/2.6.14-1.1637_FC4-i686'
mkdir -p /usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/.tmp_versions
make -f scripts/Makefile.build
obj=/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb
  gcc -m32
-Wp,-MD,/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/.lirc_atiusb.o.d
 -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.0.1/include -D__KERNEL__
-Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -ffreestanding -O2     -fomit-frame-pointer -g -pipe -msoft-float
-fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts 
-mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4
-mregparm=3 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement
-Wno-pointer-sign -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I.
-I../.. -I /usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/../.. -I
/usr/src/kernels/2.6.14-1.1637_FC4-i686//include/  -DMODULE
-DKBUILD_BASENAME=lirc_atiusb -DKBUILD_MODNAME=lirc_atiusb -c -o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/.tmp_lirc_atiusb.o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.c
  Building modules, stage 2.
make -rR -f /usr/src/kernels/2.6.14-1.1637_FC4-i686/scripts/Makefile.modpost
  scripts/mod/modpost -m -a -i
/usr/src/kernels/2.6.14-1.1637_FC4-i686/Module.symvers
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.o
*** Warning: "lirc_register_plugin"
[/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.ko] undefined!
*** Warning: "lirc_unregister_plugin"
[/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.ko] undefined!
  gcc -m32
-Wp,-MD,/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/.lirc_atiusb.mod.o.d
 -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.0.1/include -D__KERNEL__
-Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -ffreestanding -O2     -fomit-frame-pointer -g -pipe -msoft-float
-fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts 
-mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4
-mregparm=3 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement
-Wno-pointer-sign    -DKBUILD_BASENAME=lirc_atiusb -DKBUILD_MODNAME=lirc_atiusb
-DMODULE -c -o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.mod.o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.mod.c
  ld -m elf_i386 -m elf_i386 -r -o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.ko
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb/lirc_atiusb.mod.o
make[2]: Leaving directory `/usr/src/kernels/2.6.14-1.1637_FC4-i686'
mv Makefile.automake Makefile
make[1]: Leaving directory
`/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_atiusb'
Making all in lirc_bt829
make[1]: Entering directory
`/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829'
mv Makefile Makefile.automake
cp ../Makefile.kernel Makefile
make -C /usr/src/kernels/2.6.14-1.1637_FC4-i686/
SUBDIRS=/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829 modules \
        KBUILD_VERBOSE=1
make[2]: Entering directory `/usr/src/kernels/2.6.14-1.1637_FC4-i686'
mkdir -p /usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/.tmp_versions
make -f scripts/Makefile.build
obj=/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829
  gcc -m32
-Wp,-MD,/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/.lirc_bt829.o.d
 -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.0.1/include -D__KERNEL__
-Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -ffreestanding -O2     -fomit-frame-pointer -g -pipe -msoft-float
-fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts 
-mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4
-mregparm=3 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement
-Wno-pointer-sign -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I.
-I../.. -I /usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/../.. -I
/usr/src/kernels/2.6.14-1.1637_FC4-i686//include/  -DMODULE
-DKBUILD_BASENAME=lirc_bt829 -DKBUILD_MODNAME=lirc_bt829 -c -o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/.tmp_lirc_bt829.o
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c: In
function 'do_pci_probe':
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c:84: error:
'struct pci_dev' has no member named 'name'
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c: In
function 'read_index':
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c:369:
warning: passing argument 1 of 'readl' makes pointer from integer without a cast
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c: In
function 'write_index':
/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.c:377:
warning: passing argument 2 of 'writel' makes pointer from integer without a cast
make[3]: ***
[/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829/lirc_bt829.o] Error 1
make[2]: *** [_module_/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829]
Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.14-1.1637_FC4-i686'
make[1]: *** [lirc_bt829.o] Error 2
make[1]: Leaving directory `/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers/lirc_bt829'
make: *** [all-recursive] Error 1
make: Leaving directory `/usr/src/redhat/BUILD/lirc-0.8.0pre1/drivers'
Fehler: Bad exit status from /var/tmp/rpm-tmp.55778 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.55778 (%build)

Comment 4 Andy Burns 2005-11-23 23:35:24 UTC
I am using rawhide 2.6.14-1.1707_FC5smp and have tried to build module for
lirc_imon, took the lirc-0.7.2 source from extras/development, had to hack out
the initialisation of the now defunct .mode member of the usb_class_driver, but
it then built and installed, but segfaulted at the modprobe lirc_imon :-(

I'm keen to get my imon working with lirc (and with lcdproc too) but I'm a
relative greenhorn on fedora kernel building, what is my best direction? Any
thoughts on whether lirc-8.0(pre/final) is likely to make it into FC5?

Has a mechanism for allowing kernel modules into extras been agreed for FC5?

Comment 5 Ville Skyttä 2005-11-24 11:58:56 UTC
My current guess would be that 0.8.0* will be in FC5; the security issue I 
mentioned should be somewhat easy to work around, so I can probably take a 
look at it if upstream doesn't react in time, and there seems to have been 
some fixes committed to kernel modules in upstream CVS after 0.8.0pre1. 
 
The mechanism for packaging and shipping kernel modules in Extras is being 
finalized; a proposal has already more or less passed in FESCO and it's now 
under review and examination of Red Hat engineering.  I hope (and it looks 
like) we'll see this in action in FC5/FE5, hopefully already for some 
pre-releases. 
 
I should note that getting LIRC kernel module shipped depends on someone 
taking the maintainership of that part of LIRC; the hardware I have available 
works without LIRC's kernel modules so it'd be better if someone who actually 
uses/tests that stuff would maintain it.  I can take care of preparing the 
initial kernel module package. 
 
Unfortunately the best I can suggest you to do right now is to wait or run a < 
2.6.14 kernel from FC4 (I guess that would be possible also with FC5test1) :( 
Stay tuned, I'm trying to get something out for testing this or next week. 

Comment 6 Andy Burns 2005-11-26 12:24:03 UTC
I noticed that GregKH has been busy changing the class_device functions/structs

I made some changes to drivers/lirc_dev.c and drivers/lirc_imon.c so they now
build and work with my iMon PAD, a little commentary at
http://www.adslpipe.co.uk/linuxhtpc/lirc.html

Although I can give you the diffs that I've done (they're minor and just dumbly
follow GregKH's changes to other modules) I'm not sure if that counts as a
proper patch as my starting point wasn't the CVS version.

Hope it helps ...


Comment 7 Andy Burns 2005-11-26 12:28:18 UTC
Created attachment 121504 [details]
Diffs to lirc for usb_class_driver/class_device_create changes

Be kind to me it's my first ever kernel patch ;-)

Comment 8 Andy Burns 2005-11-26 14:23:12 UTC
Created attachment 121506 [details]
A better formated version of my patch

Comment 9 Ville Skyttä 2005-11-29 16:06:20 UTC
Thanks for the patch, Andy.  As noted elsewhere, I extended it a bit and
forwarded upstream.

lirc-0.8.0-0.2.pre1.fc5 has just been pushed to the development repository, the
modules in it should be buildable again with all FC4+ kernels.  (If rebuilding
the main lirc package on FC4, install all build dependencies except libXt-devel,
then install xorg-x11-devel and rebuild lirc with --nodeps).

Comment 10 Andy Burns 2005-11-29 22:21:01 UTC
I upgraded to kernel 2.6.14-1.1719_FC5smp tonight, installed
lirc-0.8.0-0.2.pre1.fc5 and lirc-devel-0.8.0-0.2.pre1.fc5 from extras, untarred
lirc-0.8.0-0.2.pre1.fc5.src.rpm, applied lirc-0.8.0pre1-2615usb.patch 

I had to edit /usr/src/kernels/2.6.14-1.1719_FC5smp-i686/include/linux/version.h
to change LINUX_VERSION_CODE to 132623 to trigger the conditional code in the
patch, is that an "ok" thing to do?

Configured lirc to use the imon module, built and installed cleanly, modprobe
good, lircd daemon starts, irw reports the proper sequences when buttons are
pressed, I'd call that a success :-)

I'll try to get the mouse keys working using the lircmd daemon, that seems more
strategic that the imon specific mouse patches I used with 0.7, since that's an
enhancement rather than a bugfix I'll try to work with the upstream developers ...



Comment 11 Ville Skyttä 2005-11-29 22:54:47 UTC
Good to hear that it works for you.

But note that you shouldn't have to "untar" the source rpm, just rebuild it
using "rpmbuild --rebuild --with modules ...".  The patch gets applied
automatically as part of the build process, no need to hack your version.h
either (see my ugly hack marked with "*cough*" in the specfile).

Comment 12 Ville Skyttä 2005-11-29 22:59:40 UTC
The full rpmbuild command would be (assuming you want the modules for the
currently running i686 kernel):

rpmbuild --rebuild --with modules --target i686 lirc-0.8.0-0.2.pre1.fc5.src.rpm

Comment 13 Christian Iseli 2007-01-19 23:47:15 UTC
FC3 and FC4 have now been EOL'd.

Please check the ticket against a current Fedora release, and either adjust the
release number, or close it if appropriate.

Thanks.

Your friendly BZ janitor :-)

Comment 14 petrosyan 2008-03-09 17:17:36 UTC
Fedora Core 4 is no longer maintained.

Setting status to "INSUFFICIENT_DATA". If you can reproduce this bug in the
current Fedora release, please reopen this bug and assign it to the
corresponding Fedora version.