Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 50481 - gentoo-dev-sources cannot build IrDA support
Summary: gentoo-dev-sources cannot build IrDA support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-08 12:42 UTC by Miroslav Šulc
Modified: 2004-05-11 06:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
lirc_parallel.c.patch (lirc_parallel.c.patch,301 bytes, patch)
2004-05-08 13:03 UTC, Sven Wegener
Details | Diff
lirc_atiusb.c.patch (lirc_atiusb.c.patch,424 bytes, patch)
2004-05-10 10:24 UTC, Sven Wegener
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Miroslav Šulc gentoo-dev 2004-05-08 12:42:18 UTC
When I try to build IrDA support in gentoo-dev-sources-2.6.5-r1, I get this error:

  CC [M]  drivers/char/lirc/lirc_dev.o
  CC [M]  drivers/char/lirc/lirc_bt829.o
  CC [M]  drivers/char/lirc/lirc_it87.o
drivers/char/lirc/lirc_it87.c: In function `init_port':
drivers/char/lirc/lirc_it87.c:832: warning: assignment makes integer from pointer without a cast
  CC [M]  drivers/char/lirc/lirc_parallel.o
drivers/char/lirc/lirc_parallel.c: In function `lirc_parallel_init':
drivers/char/lirc/lirc_parallel.c:612: warning: implicit declaration of function `parport_enumerate'
drivers/char/lirc/lirc_parallel.c:612: warning: assignment makes pointer from integer without a cast
drivers/char/lirc/lirc_parallel.c:619: error: structure has no member named `next'
make[3]: *** [drivers/char/lirc/lirc_parallel.o] Error 1
make[2]: *** [drivers/char/lirc] Error 2
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2

The error is related to thic code in lirc_parallel.c:

static int __init lirc_parallel_init (void)
{
#ifndef LIRC26
        pport=parport_enumerate();
        while(pport!=NULL)
        {
                if(pport->base==io)
                {
                        break;
                }
                pport=pport->next; // line 619
        }
#else
        pport=parport_find_base(io);
#endif
...

Reproducible: Always
Steps to Reproduce:
1. Turn on all IrDA support in kernel
2. Run genkernel --install all

Actual Results:  
I get the error mentioned above.

Expected Results:  
Should finish without problems.

Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.10
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -funroll-loops -fprefetch-loop-arrays -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config
/usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/alias
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -funroll-loops -fprefetch-loop-arrays -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://download.startnet.klamovka.kosire.czf/gentoo-mirror/
http://10.15.6.1/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/
http://128.213.5.34/gentoo/ http://gentoo.mirrors.pair.com/
ftp://mirror.switch.ch/mirror/gentoo/ http://mirror.switch.ch/mirror/gentoo/
ftp://gentoo.mirrors.pair.com/ http://lug.mtu.edu/gentoo/
http://gentoo.seren.com/gentoo http://gentoo.tiscali.nl/gentoo/
http://ftp6.uni-erlangen.de/pub/mirrors/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://10.15.6.17/gentoo-portage"
USE="X X509 aalib acl acpi activefilter alsa altivec apm arts avi berkdb bonobo
cdr crypt cups curl dga directfb dvd encode esd esound ethereal fbcon flash
foomaticdb freetds gd gdbm gif gimpprint gphoto2 gpm gps gtk gtk2 gtkhtml guile
imap imlib innodb ipv6 java javascript jbig jpeg justify kde kerberos lcms ldap
leim libg++ libwww linguas_cs mad mcal mikmod mng motif mozilla mozp3p mozsvg
mpeg mysql nas ncurses nls oav oci8 odbc ofx oggvorbis opengl oss pam pcmcia pda
pdflib perl png pnp ppds python qt quicktime rage128 readline samba scanner sdl
skey slang slp snmp spell ssl svga tcpd tetex tiff truetype video_cards_rage128
wmf wsconvert x86 xinerama xml xml2 xmms xv zlib"
Comment 1 Sven Wegener gentoo-dev 2004-05-08 13:03:50 UTC
Created attachment 31009 [details, diff]
lirc_parallel.c.patch

could you please test, if this patch applied to lirc_parallel.c solves
your problem
Comment 2 Miroslav Šulc gentoo-dev 2004-05-10 01:22:24 UTC
O.K. I'll test it :-)
Comment 3 Miroslav Šulc gentoo-dev 2004-05-10 04:32:56 UTC
It seems the patch helped but new error occured:

  CC [M]  drivers/char/lirc/lirc_atiusb.o
drivers/char/lirc/lirc_atiusb.c: In function `usb_remote_probe':
drivers/char/lirc/lirc_atiusb.c:374: error: structure has no member named `act_altsetting'
make[3]: *** [drivers/char/lirc/lirc_atiusb.o] Error 1
make[2]: *** [drivers/char/lirc] Error 2
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2
* ERROR: Failed to compile the "modules" target...


Here is the code from lirc_atiusb.c:

#if KERNEL26
        dev = interface_to_usbdev(intf);
        idesc = &intf->altsetting[intf->act_altsetting];   // Line 374
        if (idesc->desc.bNumEndpoints != 2)
                return -ENODEV;
        ep_in = &idesc->endpoint[0].desc;
        ep_out = &idesc->endpoint[1].desc;
        if (((ep_in->bEndpointAddress & USB_ENDPOINT_DIR_MASK) != USB_DIR_IN)
                || (ep_in->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
                != USB_ENDPOINT_XFER_INT)
                return -ENODEV;
#else
Comment 4 Sven Wegener gentoo-dev 2004-05-10 10:24:56 UTC
Created attachment 31114 [details, diff]
lirc_atiusb.c.patch

test this one, backported fix from cvs
Comment 5 Miroslav Šulc gentoo-dev 2004-05-10 22:12:58 UTC
O.K. I'll test this one too :-)
Comment 6 Miroslav Šulc gentoo-dev 2004-05-11 02:09:08 UTC
Here is new bug:

  CC [M]  drivers/char/lirc/lirc_mceusb.o
drivers/char/lirc/lirc_mceusb.c:111:39: drivers/lirc_dev/lirc_dev.h: nen? souborem ani adres??em
drivers/char/lirc/lirc_mceusb.c:286: warning: initialization from incompatible pointer type
drivers/char/lirc/lirc_mceusb.c:287: warning: initialization from incompatible pointer type
drivers/char/lirc/lirc_mceusb.c:288: error: unknown field `fops' specified in initializer
drivers/char/lirc/lirc_mceusb.c:288: warning: initialization from incompatible pointer type
drivers/char/lirc/lirc_mceusb.c:289: error: unknown field `minor' specified in initializer
drivers/char/lirc/lirc_mceusb.c:289: warning: initialization makes pointer from integer without a cast
drivers/char/lirc/lirc_mceusb.c: In function `set_use_dec':
drivers/char/lirc/lirc_mceusb.c:567: warning: implicit declaration of function `lirc_unregister_plugin'
drivers/char/lirc/lirc_mceusb.c:568: warning: implicit declaration of function `lirc_buffer_free'
drivers/char/lirc/lirc_mceusb.c:568: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:569: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c: In function `msir_fetch_more_data':
drivers/char/lirc/lirc_mceusb.c:709: error: syntax error before string constant
drivers/char/lirc/lirc_mceusb.c:739: error: syntax error before string constant
drivers/char/lirc/lirc_mceusb.c:753: error: syntax error before string constant
drivers/char/lirc/lirc_mceusb.c:786: error: syntax error before string constant
drivers/char/lirc/lirc_mceusb.c:788: error: `USB_ST_DATAOVERRUN' undeclared (first use in this function)
drivers/char/lirc/lirc_mceusb.c:788: error: (Each undeclared identifier is reported only once
drivers/char/lirc/lirc_mceusb.c:788: error: for each function it appears in.)
drivers/char/lirc/lirc_mceusb.c: In function `mceusb_write':
drivers/char/lirc/lirc_mceusb.c:1258: warning: implicit declaration of function `FILL_BULK_URB'
drivers/char/lirc/lirc_mceusb.c:1264: error: too few arguments to function `usb_submit_urb'
drivers/char/lirc/lirc_mceusb.c:1266: error: called object is not a function
drivers/char/lirc/lirc_mceusb.c:1266: error: syntax error before string constant
drivers/char/lirc/lirc_mceusb.c: In function `mceusb_write_bulk_callback':
drivers/char/lirc/lirc_mceusb.c:1285: warning: unused variable `dev'
drivers/char/lirc/lirc_mceusb.c: In function `mceusb_probe':
drivers/char/lirc/lirc_mceusb.c:1346: warning: assignment from incompatible pointer type
drivers/char/lirc/lirc_mceusb.c:1355: warning: assignment from incompatible pointer type
drivers/char/lirc/lirc_mceusb.c:1357: error: structure has no member named `endpoint'
drivers/char/lirc/lirc_mceusb.c:1375: error: too few arguments to function `usb_alloc_urb'
drivers/char/lirc/lirc_mceusb.c:1404: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1408: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1408: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1408: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1408: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1408: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1408: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1410: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1416: warning: implicit declaration of function `lirc_buffer_init'
drivers/char/lirc/lirc_mceusb.c:1417: error: invalid application of `sizeof' to an incomplete type
drivers/char/lirc/lirc_mceusb.c:1423: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1424: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1425: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1426: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1427: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1428: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1429: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1430: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1431: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1432: error: dereferencing pointer to incomplete type
drivers/char/lirc/lirc_mceusb.c:1433: warning: implicit declaration of function `lirc_register_plugin'
drivers/char/lirc/lirc_mceusb.c:1318: warning: unused variable `name'
drivers/char/lirc/lirc_mceusb.c: At top level:
drivers/char/lirc/lirc_mceusb.c:1464: error: conflicting types for `mceusb_disconnect'
drivers/char/lirc/lirc_mceusb.c:216: error: previous declaration of `mceusb_disconnect'
drivers/char/lirc/lirc_mceusb.c: In function `mceusb_disconnect':
drivers/char/lirc/lirc_mceusb.c:1468: error: `dev' undeclared (first use in this function)
drivers/char/lirc/lirc_mceusb.c:1489: warning: `return' with a value, in function returning void
  CC [M]  sound/core/pcm_lib.o
make[3]: *** [drivers/char/lirc/lirc_mceusb.o] Error 1
make[2]: *** [drivers/char/lirc] Error 2
make[1]: *** [drivers/char] Error 2
make: *** [drivers] Error 2
--
  LD [M]  sound/core/seq/oss/snd-seq-oss.o
  LD [M]  sound/core/seq/snd-seq-device.o
  LD [M]  sound/core/seq/snd-seq-midi-event.o
  LD [M]  sound/core/seq/snd-seq-midi.o
  LD [M]  sound/core/seq/snd-seq.o
* ERROR: Failed to compile the "modules" target...
Comment 7 Sven Wegener gentoo-dev 2004-05-11 03:37:18 UTC
see bug 48762

lirc_mceusb.c still uses the old usb interface
cvs version also has this problem

please disable this module in the kernel config, no patch from me on this one
Comment 8 Miroslav Šulc gentoo-dev 2004-05-11 03:41:04 UTC
O.K. I'll disable this module and will give it another try :-)
Comment 9 Miroslav Šulc gentoo-dev 2004-05-11 06:05:39 UTC
Great! The IrDA support has compiled. The resume is:
- both patches helped
- MCE USB must be disabled, anything else can be enabled

Thank you Sven :-)