# [Problem] lirc fails to compile dirver during emerge

## weedy

Every time i emerge lirc i get this:

```
        KBUILD_VERBOSE=1

make[4]: Entering directory `/usr/src/linux-2.6.14-gentoo-r1'

mkdir -p /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/.tmp_versions

make -f scripts/Makefile.build obj=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb

  gcc -m32 -Wp,-MD,/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/.lirc_atiusb.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/i                                                  

nclude -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -                                                  

pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium3 -mregparm=3 -Iinclude/asm-i386/mach-default -Wdeclaration-after                                                  

-statement  -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/../.. -I /                                                  

lib/modules/2.6.14-gentoo-r1/build//include/  -DMODULE -DKBUILD_BASENAME=lirc_atiusb -DKBUILD_MODNAME=lirc_atiusb -c -o /var/tmp/portage/lirc-0.7.2/work/lirc-                                                  

0.7.2/drivers/lirc_atiusb/.tmp_lirc_atiusb.o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function `send_packet':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: (Each undeclared identifier is reported only once

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: for each function it appears in.)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function `set_use_dec':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:357: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function `usb_remote_recv':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:612: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function `usb_remote_send':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:675: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function `free_in_endpt':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:723: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function `free_out_endpt':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:817: error: `URB_ASYNC_UNLINK' undeclared (first use in this function)

make[5]: *** [/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.o] Error 1

make[4]: *** [_module_/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb] Error 2

make[4]: Leaving directory `/usr/src/linux-2.6.14-gentoo-r1'

make[3]: *** [lirc_atiusb.o] Error 2

make[3]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2'

make: *** [all] Error 2

!!! ERROR: app-misc/lirc-0.7.2 failed.

!!! Function src_compile, Line 112, Exitcode 2

!!! (no error message)

!!! If you need support, post the topmost build error, NOT this status message.

```

help would be good   :Very Happy: Last edited by weedy on Tue Nov 15, 2005 5:49 am; edited 1 time in total

----------

## weedy

bump

----------

## weedy

upgraded to 14-r2

```
make -C /lib/modules/2.6.14-gentoo-r1/build/ SUBDIRS=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb modules \

        KBUILD_VERBOSE=1

make[4]: Entering directory `/usr/src/linux-2.6.14-gentoo-r1'

mkdir -p /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/.tmp_versions

make -f scripts/Makefile.build obj=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb

  gcc -m32 -Wp,-MD,/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/.lirc_atiusb.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/i                                                  

nclude -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -                                                  

pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium3 -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 /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_                                                  

atiusb/../.. -I /lib/modules/2.6.14-gentoo-r1/build//include/  -DMODULE -DKBUILD_BASENAME=lirc_atiusb -DKBUILD_MODNAME=lirc_atiusb -c -o /var/tmp/portage/lirc                                                  

-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/.tmp_lirc_atiusb.o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'send_packet':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: (Each undeclared identifier is reported only once

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:276: error: for each function it appears in.)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'set_use_dec':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:357: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'usb_remote_recv':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:612: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'usb_remote_send':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:675: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'free_in_endpt':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:723: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c: In function 'free_out_endpt':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.c:817: error: 'URB_ASYNC_UNLINK' undeclared (first use in this function)

make[5]: *** [/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb/lirc_atiusb.o] Error 1

make[4]: *** [_module_/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb] Error 2

make[4]: Leaving directory `/usr/src/linux-2.6.14-gentoo-r1'

make[3]: *** [lirc_atiusb.o] Error 2

make[3]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_atiusb'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2'

make: *** [all] Error 2

!!! ERROR: app-misc/lirc-0.7.2 failed.

!!! Function src_compile, Line 112, Exitcode 2

!!! (no error message)

!!! If you need support, post the topmost build error, NOT this status message.

```

----------

## ChojinDSL

I'm having a similar problem. I think the current version doesnt work properly with gentoo-sources kernel 2.6.14.

In some other thread I've read that downgrading the kernel version to 2.6.13 should fix things.

About to try that myself.

As the saying goes, "if it aint broke, dont fix it."

****UPDATE****

Ok, I downgraded to gentoo-sources 2.6.13-r5 and the compile finished cleanly.

***UPDATE****

I finished rebooting with the new kernel. As suspected, lirc works perfectly again.

----------

## mcguire

same problem here since I've upgraded my kernel:

cat /proc/version

```
Linux version 2.6.14-gentoo-r2 (root@xblade) (version gcc 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #3 PREEMPT Sun Nov 13 12:59:50 CET 2005
```

emerge lirc

```
Calculating dependencies    ...done!

>>> emerge (1 of 1) app-misc/lirc-0.7.2 to /

>>> md5 files   ;-) lirc-0.7.2.ebuild

>>> md5 files   ;-) lirc-0.7.0-r1.ebuild

>>> md5 files   ;-) lirc-0.7.1.ebuild

>>> md5 files   ;-) files/digest-lirc-0.7.0-r1

>>> md5 files   ;-) files/lirc-0.7.0_pre2-i2c.patch.gz

>>> md5 files   ;-) files/lircd

>>> md5 files   ;-) files/lircd.conf

>>> md5 files   ;-) files/digest-lirc-0.7.1

>>> md5 files   ;-) files/digest-lirc-0.7.2

>>> md5 files   ;-) files/lirc-0.7.0-streamzap.patch.bz2

>>> md5 files   ;-) files/lircmd

>>> md5 files   ;-) files/lirc-0.6.6-gentoo.diff.bz2

>>> md5 files   ;-) files/lirc-0.7.0_pre7-configure.patch

>>> md5 files   ;-) files/lirc-0.7.0-xbox.patch.bz2

>>> md5 files   ;-) files/lirc-0.7.0_pre7-streamzap.patch.bz2

>>> md5 files   ;-) files/xbox-lircd.conf

>>> md5 files   ;-) files/lirc-0.7.0-configure.in.patch

>>> md5 src_uri ;-) lirc-0.7.2.tar.bz2

 [32;01m*[0m Determining the location of the kernel source code

 [32;01m*[0m Found kernel source directory:

 [32;01m*[0m     /usr/src/linux

 [32;01m*[0m Found sources for kernel version:

 [32;01m*[0m     2.6.14-gentoo-r2

>>> Unpacking source...

>>> Unpacking lirc-0.7.2.tar.bz2 to /var/tmp/portage/lirc-0.7.2/work

>>> Source unpacked.

You should update your `aclocal.m4' by running aclocal.

 * econf: updating lirc-0.7.2/config.guess with /usr/share/gnuconfig/config.guess

 * econf: updating lirc-0.7.2/config.sub with /usr/share/gnuconfig/config.sub

./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-manage-devices --localstatedir=/var --with-syslog=LOG_DAEMON --enable-sandboxed --disable-debug --with-X --with-driver=hauppauge --build=i686-pc-linux-gnu

creating cache ./config.cache

checking for a BSD compatible install... /bin/install -c

checking whether build environment is sane... yes

checking for mawk... no

checking for gawk... gawk

checking whether make sets ${MAKE}... yes

checking for gcc... gcc

checking whether the C compiler (gcc -O2 -march=athlon-xp -pipe -Wall ) works... yes

checking whether the C compiler (gcc -O2 -march=athlon-xp -pipe -Wall ) is a cross-compiler... no

checking whether we are using GNU C... yes

checking whether gcc accepts -g... yes

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking for a BSD compatible install... /bin/install -c

checking whether make sets ${MAKE}... (cached) yes

checking for mknod... /bin/mknod

checking for mkfifo... /bin/mkfifo

checking for depmod... /sbin/depmod

checking for libusb-config... /usr/bin/libusb-config

checking whether ln -s works... yes

checking for Cygwin environment... no

checking for mingw32 environment... no

checking how to run the C preprocessor... gcc -E

checking host system type... i686-pc-linux-gnu

checking build system type... i686-pc-linux-gnu

checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld

checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes

checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r

checking for BSD-compatible nm... /usr/bin/nm -B

checking for a sed that does not truncate output... /bin/sed

checking how to recognise dependent libraries... pass_all

checking for object suffix... o

checking for executable suffix... no

checking command to parse /usr/bin/nm -B output... ok

checking for dlfcn.h... yes

checking for ranlib... ranlib

checking for strip... strip

checking for objdir... .libs

checking for gcc option to produce PIC... -fPIC

checking if gcc PIC flag -fPIC works... yes

checking if gcc static flag -static works... yes

checking if gcc supports -c -o file.o... yes

checking if gcc supports -c -o file.lo... yes

checking if gcc supports -fno-rtti -fno-exceptions... yes

checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking whether -lc should be explicitly linked in... no

creating libtool

checking for ANSI C header files... yes

checking whether time.h and sys/time.h may both be included... yes

checking for fcntl.h... yes

checking for limits.h... yes

checking for sys/ioctl.h... yes

checking for sys/time.h... yes

checking for syslog.h... yes

checking for unistd.h... yes

checking for working const... yes

checking for inline... inline

checking for off_t... yes

checking for pid_t... yes

checking for size_t... yes

checking whether struct tm is in sys/time.h or time.h... time.h

checking return type of signal handlers... void

checking for vprintf... yes

checking for gethostname... yes

checking for gettimeofday... yes

checking for mkfifo... yes

checking for select... yes

checking for socket... yes

checking for strdup... yes

checking for strerror... yes

checking for strtoul... yes

checking for snprintf... yes

checking for strsep... yes

checking for vsyslog... yes

checking for daemon... yes

checking for forkpty... no

checking for forkpty in -lutil... yes

checking for vga.h... no

checking for X... libraries , headers 

checking for dnet_ntoa in -ldnet... no

checking for dnet_ntoa in -ldnet_stub... no

checking for gethostbyname... yes

checking for connect... yes

checking for remove... yes

checking for shmat... yes

checking for IceConnectionNumber in -lICE... yes

checking for getopt_long... yes

checking for mktemp... yes

checking for Linux kernel sources... /lib/modules/2.6.14-gentoo-r2/build/

checking for which drivers can be installed on this system... 

checking for caraca_init in -lcaraca_client... no

checking for ir_strerror in -lirman... no

checking for ir_strerror in -lirman_sw... no

checking for portaudio.h... no

checking for alsa/asoundlib.h... yes

checking for snd_pcm_open in -lasound... yes

checking for ALSA SB RC hwdep support... yes

checking for scsi/sg.h... yes

checking for linux/input.h... yes

checking for sys/soundcard.h... yes

updating cache ./config.cache

creating ./config.status

creating Makefile

creating drivers/Makefile

creating drivers/lirc_atiusb/Makefile

creating drivers/lirc_bt829/Makefile

creating drivers/lirc_cmdir/Makefile

creating drivers/lirc_dev/Makefile

creating drivers/lirc_gpio/Makefile

creating drivers/lirc_i2c/Makefile

creating drivers/lirc_igorplugusb/Makefile

creating drivers/lirc_imon/Makefile

creating drivers/lirc_it87/Makefile

creating drivers/lirc_mceusb/Makefile

creating drivers/lirc_mceusb2/Makefile

creating drivers/lirc_parallel/Makefile

creating drivers/lirc_sasem/Makefile

creating drivers/lirc_serial/Makefile

creating drivers/lirc_sir/Makefile

creating drivers/lirc_streamzap/Makefile

creating daemons/Makefile

creating tools/Makefile

creating doc/Makefile

creating doc/man/Makefile

creating config.h

You will have to use the lirc_i2c kernel module.

Now enter 'make' and 'make install' to compile and install the package.

 [32;01m*[0m Converting lirc-0.7.2/Makefile to use M= instead of SUBDIRS= ...

[A[132C  [34;01m[ [32;01mok[34;01m ][0m

cd . && /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run aclocal 

cd . && \

  /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run automake --gnu  Makefile

cd . && /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run autoconf

configure.in:18: warning: do not use m4_patsubst: use patsubst or m4_bpatsubst

aclocal.m4:629: AM_CONFIG_HEADER is expanded from...

configure.in:18: the top level

configure.in:1316: warning: do not use m4_regexp: use regexp or m4_bregexp

aclocal.m4:642: _AM_DIRNAME is expanded from...

configure.in:1316: the top level

/bin/sh ./config.status --recheck

running /bin/sh ./configure  --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-manage-devices --localstatedir=/var --with-syslog=LOG_DAEMON --enable-sandboxed --disable-debug --with-X --with-driver=hauppauge --build=i686-pc-linux-gnu --no-create --no-recursion

checking for a BSD-compatible install... /bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables... 

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether i686-pc-linux-gnu-gcc accepts -g... yes

checking for i686-pc-linux-gnu-gcc option to accept ANSI C... none needed

checking for style of include used by make... GNU

checking dependency style of i686-pc-linux-gnu-gcc... gcc3

checking for a BSD-compatible install... /bin/install -c

checking whether make sets $(MAKE)... (cached) yes

checking for mknod... /bin/mknod

checking for mkfifo... /bin/mkfifo

checking for depmod... /sbin/depmod

checking for libusb-config... /usr/bin/libusb-config

checking whether ln -s works... yes

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking for a sed that does not truncate output... /bin/sed

checking for egrep... grep -E

checking for ld used by i686-pc-linux-gnu-gcc... /usr/i686-pc-linux-gnu/bin/ld

checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes

checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r

checking for BSD-compatible nm... /usr/bin/i686-pc-linux-gnu-nm -B

checking how to recognise dependent libraries... pass_all

checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking dlfcn.h usability... yes

checking dlfcn.h presence... yes

checking for dlfcn.h... yes

checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++

checking whether we are using the GNU C++ compiler... yes

checking whether i686-pc-linux-gnu-g++ accepts -g... yes

checking dependency style of i686-pc-linux-gnu-g++... gcc3

checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E

checking for i686-pc-linux-gnu-g77... i686-pc-linux-gnu-g77

checking whether we are using the GNU Fortran 77 compiler... yes

checking whether i686-pc-linux-gnu-g77 accepts -g... yes

checking the maximum length of command line arguments... 32768

checking command to parse /usr/bin/i686-pc-linux-gnu-nm -B output from i686-pc-linux-gnu-gcc object... ok

checking for objdir... .libs

checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar

checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib

checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip

checking for correct ltmain.sh version... yes

checking if i686-pc-linux-gnu-gcc static flag  works... yes

checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no

checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC

checking if i686-pc-linux-gnu-gcc PIC flag -fPIC works... yes

checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes

checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

configure: creating libtool

appending configuration tag "CXX" to libtool

checking for ld used by i686-pc-linux-gnu-g++... /usr/i686-pc-linux-gnu/bin/ld

checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes

checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking for i686-pc-linux-gnu-g++ option to produce PIC... -fPIC

checking if i686-pc-linux-gnu-g++ PIC flag -fPIC works... yes

checking if i686-pc-linux-gnu-g++ supports -c -o file.o... yes

checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

appending configuration tag "F77" to libtool

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking for i686-pc-linux-gnu-g77 option to produce PIC... -fPIC

checking if i686-pc-linux-gnu-g77 PIC flag -fPIC works... yes

checking if i686-pc-linux-gnu-g77 supports -c -o file.o... yes

checking whether the i686-pc-linux-gnu-g77 linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking for ANSI C header files... (cached) yes

checking whether time.h and sys/time.h may both be included... yes

checking fcntl.h usability... yes

checking fcntl.h presence... yes

checking for fcntl.h... yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking sys/ioctl.h usability... yes

checking sys/ioctl.h presence... yes

checking for sys/ioctl.h... yes

checking sys/time.h usability... yes

checking sys/time.h presence... yes

checking for sys/time.h... yes

checking syslog.h usability... yes

checking syslog.h presence... yes

checking for syslog.h... yes

checking for unistd.h... (cached) yes

checking for an ANSI C-conforming const... yes

checking for inline... inline

checking for off_t... yes

checking for pid_t... yes

checking for size_t... yes

checking whether struct tm is in sys/time.h or time.h... time.h

checking return type of signal handlers... void

checking for vprintf... yes

checking for _doprnt... no

checking for gethostname... yes

checking for gettimeofday... yes

checking for mkfifo... yes

checking for select... yes

checking for socket... yes

checking for strdup... yes

checking for strerror... yes

checking for strtoul... yes

checking for snprintf... yes

checking for strsep... yes

checking for vsyslog... yes

checking for daemon... yes

checking for forkpty... no

checking for forkpty in -lutil... yes

checking vga.h usability... no

checking vga.h presence... no

checking for vga.h... no

checking for X... libraries , headers 

checking for gethostbyname... yes

checking for connect... yes

checking for remove... yes

checking for shmat... yes

checking for IceConnectionNumber in -lICE... yes

checking for getopt_long... yes

checking for mktemp... yes

checking for Linux kernel sources... /lib/modules/2.6.14-gentoo-r2/build/

checking for which drivers can be installed on this system... 

checking for caraca_init in -lcaraca_client... no

checking for ir_strerror in -lirman... no

checking for ir_strerror in -lirman_sw... no

checking portaudio.h usability... no

checking portaudio.h presence... no

checking for portaudio.h... no

checking alsa/asoundlib.h usability... yes

checking alsa/asoundlib.h presence... yes

checking for alsa/asoundlib.h... yes

checking for snd_pcm_open in -lasound... yes

checking for ALSA SB RC hwdep support... yes

checking scsi/sg.h usability... yes

checking scsi/sg.h presence... yes

checking for scsi/sg.h... yes

checking linux/input.h usability... yes

checking linux/input.h presence... yes

checking for linux/input.h... yes

checking sys/soundcard.h usability... yes

checking sys/soundcard.h presence... yes

checking for sys/soundcard.h... yes

configure: creating ./config.status

You will have to use the lirc_i2c kernel module.

Now enter 'make' and 'make install' to compile and install the package.

cd . && \

  CONFIG_HEADERS= CONFIG_LINKS= \

  CONFIG_FILES=Makefile /bin/sh ./config.status

config.status: creating Makefile

config.status: executing default-1 commands

cd . && /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run autoheader

autoheader-2.59: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'

autoheader-2.59: WARNING: and `config.h.top', to define templates for `config.h.in'

autoheader-2.59: WARNING: is deprecated and discouraged.

autoheader-2.59: 

autoheader-2.59: WARNING: Using the third argument of `AC_DEFINE' and

autoheader-2.59: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without

autoheader-2.59: WARNING: `acconfig.h':

autoheader-2.59: 

autoheader-2.59: WARNING:   AC_DEFINE([NEED_FUNC_MAIN], 1,

autoheader-2.59:       [Define if a function `main' is needed.])

autoheader-2.59: 

autoheader-2.59: WARNING: More sophisticated templates can also be produced, see the

autoheader-2.59: WARNING: documentation.

configure.in:18: warning: do not use m4_patsubst: use patsubst or m4_bpatsubst

aclocal.m4:629: AM_CONFIG_HEADER is expanded from...

configure.in:18: the top level

configure.in:1316: warning: do not use m4_regexp: use regexp or m4_bregexp

aclocal.m4:642: _AM_DIRNAME is expanded from...

configure.in:1316: the top level

cd . \

  && CONFIG_FILES= CONFIG_HEADERS=config.h \

     /bin/sh ./config.status

config.status: creating config.h

config.status: executing default-1 commands

make  all-recursive

make[1]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2'

Making all in drivers

make[2]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers'

cd .. && \

  /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run automake --gnu  drivers/Makefile

cd .. && \

  CONFIG_HEADERS= CONFIG_LINKS= \

  CONFIG_FILES=drivers/Makefile /bin/sh ./config.status

config.status: creating drivers/Makefile

config.status: executing default-1 commands

make[2]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers'

make[2]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers'

Making all in lirc_dev

make[3]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev'

cd ../.. && \

  /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run automake --gnu  drivers/lirc_dev/Makefile

cd ../.. && \

  CONFIG_HEADERS= CONFIG_LINKS= \

  CONFIG_FILES=drivers/lirc_dev/Makefile /bin/sh ./config.status

config.status: creating drivers/lirc_dev/Makefile

config.status: executing default-1 commands

make[3]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev'

make[3]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev'

mv Makefile Makefile.automake

cp ../Makefile.kernel Makefile

make -C /lib/modules/2.6.14-gentoo-r2/build/ SUBDIRS=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev modules \

   KBUILD_VERBOSE=1

make[4]: Entering directory `/usr/src/linux-2.6.14-gentoo-r2'

mkdir -p /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/.tmp_versions

make -f scripts/Makefile.build obj=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev

  gcc -m32 -Wp,-MD,/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/.lirc_dev.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=athlon -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement  -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/../.. -I /lib/modules/2.6.14-gentoo-r2/build//include/  -DMODULE -DKBUILD_BASENAME=lirc_dev -DKBUILD_MODNAME=lirc_dev -c -o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.c

  Building modules, stage 2.

make -rR -f /usr/src/linux-2.6.14-gentoo-r2/scripts/Makefile.modpost

  scripts/mod/modpost   -i /usr/src/linux-2.6.14-gentoo-r2/Module.symvers vmlinux /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.o

  gcc -m32 -Wp,-MD,/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/.lirc_dev.mod.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=athlon -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement     -DKBUILD_BASENAME=lirc_dev -DKBUILD_MODNAME=lirc_dev -DMODULE -c -o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.mod.o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.mod.c

  ld -m elf_i386 -m elf_i386 -r -o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.ko /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev/lirc_dev.mod.o

make[4]: Leaving directory `/usr/src/linux-2.6.14-gentoo-r2'

mv Makefile.automake Makefile

make[3]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_dev'

Making all in lirc_i2c

make[3]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c'

cd ../.. && \

  /bin/sh /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/missing --run automake --gnu  drivers/lirc_i2c/Makefile

cd ../.. && \

  CONFIG_HEADERS= CONFIG_LINKS= \

  CONFIG_FILES=drivers/lirc_i2c/Makefile /bin/sh ./config.status

config.status: creating drivers/lirc_i2c/Makefile

config.status: executing default-1 commands

make[3]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c'

make[3]: Entering directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c'

mv Makefile Makefile.automake

cp ../Makefile.kernel Makefile

make -C /lib/modules/2.6.14-gentoo-r2/build/ SUBDIRS=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c modules \

   KBUILD_VERBOSE=1

make[4]: Entering directory `/usr/src/linux-2.6.14-gentoo-r2'

mkdir -p /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/.tmp_versions

make -f scripts/Makefile.build obj=/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c

  gcc -m32 -Wp,-MD,/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/.lirc_i2c.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=athlon -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement  -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../.. -I /lib/modules/2.6.14-gentoo-r2/build//include/  -DMODULE -DKBUILD_BASENAME=lirc_i2c -DKBUILD_MODNAME=lirc_i2c -c -o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.o /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c

In file included from include/linux/rcuref.h:36,

                 from include/linux/fs.h:12,

                 from /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/lirc_dev/lirc_dev.h:24,

                 from /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:58:

include/linux/interrupt.h:30: erreur: types conflictuels pour Â« irqreturn_t Â»

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/kcompat.h:166: erreur: dÃ©claration prÃ©cÃ©dente de Â« irqreturn_t Â» Ã©tait ici

Dans le fichier inclus Ã  partir de include/linux/rcuref.h:36,

          Ã  partir de include/linux/fs.h:12,

          Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/lirc_dev/lirc_dev.h:24,

          Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:58:

include/linux/interrupt.h:32:1: attention : "IRQ_NONE" redefined

Dans le fichier inclus Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:57:

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/kcompat.h:167:1: attention : this is the location of the previous definition

Dans le fichier inclus Ã  partir de include/linux/rcuref.h:36,

          Ã  partir de include/linux/fs.h:12,

          Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/lirc_dev/lirc_dev.h:24,

          Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:58:

include/linux/interrupt.h:33:1: attention : "IRQ_HANDLED" redefined

Dans le fichier inclus Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:57:

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/kcompat.h:168:1: attention : this is the location of the previous definition

Dans le fichier inclus Ã  partir de include/linux/rcuref.h:36,

          Ã  partir de include/linux/fs.h:12,

          Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/lirc_dev/lirc_dev.h:24,

          Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:58:

include/linux/interrupt.h:34:1: attention : "IRQ_RETVAL" redefined

Dans le fichier inclus Ã  partir de /var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:57:

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/../../drivers/kcompat.h:169:1: attention : this is the location of the previous definition

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c: In function `ir_attach':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:426: erreur: Â« I2C_ALGO_BIT Â» non dÃ©clarÃ© (premiÃ¨re utilisation dans cette fonction)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:426: erreur: (Chaque identificateur non dÃ©clarÃ© est rapportÃ© une seule fois

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:426: erreur: pour chaque fonction dans laquelle il apparaÃ®t.)

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c: In function `ir_probe':

/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:506: erreur: Â« I2C_ALGO_BIT Â» non dÃ©clarÃ© (premiÃ¨re utilisation dans cette fonction)

make[5]: *** [/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.o] Erreur 1

make[4]: *** [_module_/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c] Erreur 2

make[4]: Leaving directory `/usr/src/linux-2.6.14-gentoo-r2'

make[3]: *** [lirc_i2c.o] Erreur 2

make[3]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c'

make[2]: *** [all-recursive] Erreur 1

make[2]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers'

make[1]: *** [all-recursive] Erreur 1

make[1]: Leaving directory `/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2'

make: *** [all] Erreur 2

!!! ERROR: app-misc/lirc-0.7.2 failed.

!!! Function src_compile, Line 112, Exitcode 2

!!! (no error message)

!!! If you need support, post the topmost build error, NOT this status message.
```

/etc/make.conf

```
CFLAGS="-O2 -march=athlon-xp -pipe"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

USE="-3dfx 3dnow 3dnowext X a52 aac -acpi aim alsa apache2 apm arts avi bash-completion browserplugin cdr -cups dts dv dvd flash ftp fuse gd -gnome gpm gtk gtk2 java javascript jpeg2k kde kdeenablefinal lirc matroska mime ming mmx mozcalendar mozdevelop mp3 mpeg msn mysql nls nsplugin nvidia ogg opengl pdflib php qt quicktime real samba sse unicode usb userlocales utf8 v4l vcd vorbis win32codecs -xmms xosd xscreensaver xvid yahoo zlib"

LINGUAS="fr en"

#FEATURES="distcc"

ACCEPT_KEYWORDS="~x86"

ALSA_CARDS="usb-audio"

LIRC_OPTS="--with-driver=hauppauge"
```

----------

## slopedsideways

I am having the same problem trying to emerge lirc. 

I'm in the process of downloading the 2.6.13-r5 kernel, hopefully that does work.

But I was wondering if anyone knew of a way around this with the 2.6.14 kernel.  

Thanks

----------

## je_fro

Emerge lirc. Right after it unpacks the source hit control-Z.

Edit (or patch) /var/tmp/portage/lirc.../work/...i2c_lirc/i2c_lirc.c 

with this: http://sourceforge.net/mailarchive/forum.php?thread_id=8621016&forum_id=5339

then hit "fg" and the compile will resume and finish.

Worked for me with 2.6.14-gentoo-r2

After patching, the file will look like this (around line 57)...

```
#include "drivers/lirc_dev/lirc_dev.h"

#include "drivers/kcompat.h"

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,14)

#   define I2C_ALGO_BIT 0

#endif

struct IR {

   struct lirc_plugin l;
```

----------

## je_fro

heh...it built, but doesn't seem to work just yet.

whoops!

 :Shocked: 

----------

## Featherfoot

Same problem here.

dmesg gives the following:

```

irc_gpio: disagrees about version of symbol struct_module

```

----------

## jmercer

I was able to cleanly emerge the lirc module on my system, 2.6.14-gentoo-r2, but it wouldn't insmod properly. It was complaining about Unknown symbol verify_area. I used a module created by a guy to get around the same type of problem with the proprietary ATI drivers. After grabbing the code for the work around from http://www.colino.net/wordpress-1.5/archives/2005/10/29/fglrx-unknown-symbol-verify_area/ and make install, everything is now working properly.

----------

## Grooby

I wasn't able to do neither of those 2 patches.   Might just downgrade to 2.6.13 til lirc is fixed?

----------

## shelby

I tried the patches and no go.  How would I downgrade to a older version of the kernel?

----------

## ChojinDSL

Well you could either try masking a specific kernel version via the portage config files.

Or simply jump into /usr/portage/sys-kernel/gentoo-sources and emerge "gentoo-sources-version" directly. Then just make sure your /usr/src/linux symlink is order and you are good to go.

----------

## AchilleTalon

I have the same problem with 2.6.14-r5. However, I downloaded the lirc software directly from www.lirc.org and tried to build the version 0.7.2 of it.

In lirc_i2c.c, I just inverted the order of the following two lines, near line 24:

From,

```

#include "drivers/kcompat.h"

#include "drivers/lirc_dev/lirc_dev.h"

```

to,

```

#include "drivers/lirc_dev/lirc_dev.h"

#include "drivers/kcompat.h"

```

lirc_dev.h includes linux/fs.h which includes interrupt.h which defines irqreturn_t, kcompat.h will not redefines irqreturn_t if it is already defined, however, interrupt.h will try to redefines irqreturn_t even if it is already defined. Reversing the order make sure irqreturn_t is defined by <linux/interrupt.h> before kcompat.h is called.

Now I am struggling with another problem with the I2C_ALGO_BIT not defined... Will post when something found on this.

I added in the kcompat.h, at the end before the last #endif the following lines:

```

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,14)

#define I2C_ALGO_BIT 0

#endif 

```

as described above by je_fro, I was then able to compile everthing fine and install. I loaded the driver without any problem since then.

The conclusion for version 0.7.2 of lirc and 2.6.14-r5 of gentoo-kernel is the patch describe by je_fro should work as is. Mine is just a variant of the same thing.

----------

## amorgen

Hello all,

Thank you AchilleTalon and je_fro for your explanations. But weedy and I have the same problem: "URB_ASYNC_UNLINK" (see weedy logfile above)

I followed what you said: emerge lirc and type Ctrl+Z when the source is unpacked, then I edited 

```
/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c
```

 altering the 2 lines, and finally edited 

```
/var/tmp/portage/lirc-0.7.2/work/lirc-0.7.2/drivers/kcompat.h
```

 adding

```

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,14)

#define I2C_ALGO_BIT 0

#endif

```

before the last #endif of the file. The "fg" command finishes the process but ends up with the same error for me.

Could you help us one more time please ? Thanks in advance.

----------

## AchilleTalon

Your error is from the atiusb filetree for the atiusb driver. Since I didn't built this driver, I cannot help you much with it. I am using the hauppauge driver which didn't required anything from that part (atiusb) of the filetree. What I would try in your case, edit lirc_atiusb/lirc_atiusb.c instead of lirc_i2c/lirc_i2c.c and swap the two lines 59 and 60:

```

#include "drivers/kcompat.h"

#include "drivers/lirc_dev/lirc_dev.h"

```

to

```

#include "drivers/lirc_dev/lirc_dev.h"

#include "drivers/kcompat.h"

```

----------

## coscarart

Using 2.6.14 mine compiles cleanly using irman but I am getting unknown symbols

lirc_dev: Unknown symbol class_simple_device_add

lirc_dev: Unknown symbol class_simple_destroy

lirc_dev: Unknown symbol class_simple_device_remove

lirc_dev: Unknown symbol class_simple_create

lirc_serial: Unknown symbol verify_area

lirc_serial: Unknown symbol lirc_unregister_plugin

lirc_serial: Unknown symbol lirc_register_plugin

----------

## crowbert

I had to upgrade in order to get drivers for new hardware (I bought a new DVB card).  With 2.6.14, I had good luck with lirc-0.8.0_pre1.  With 2.6.15, that broke, but lirc-0.8.0_pre3 works.

You can get the source at:

http://lirc.sourceforge.net/software/snapshots/

I copied the -0.7.2 ebuild, manually downloaded -0.8.0pre3, renamed it (to add the expected underscore), and added a lien to the src_unpack() function "mv -f lirc-0.?.?pre* ${S}" to correct the directory paths.

So other than Portage expecting -0.8.0_pre3, and the source using -0.8.0pre3, it all installs perfectly.

Now if only they would put in an official ebuild for -0.8.0_pre3, then we would be all set.

----------

## coscarart

I used your instructions and upgraded to lirc-0.8.0_pre3 (Thanks!), and I got the same unknown symbols messages.  I am going to go to the lirc website and look for answers.

Edit:  I am going to start my own thread so I don't hijack this one

----------

## salty dog

Following the gentoo HOWTO wiki for MythTV setup, I needed to add LIRC_OPTS="--with-driver=hauppauge" to /etc/make.conf and the add app-misc/lirc ~x86 to my /etc/portage/package.keywords.  Maybe there is a like option for lirc with ATI usb.  Then I almost always use emerge -aD.  Doing all of this additionally pulled in the dev-libs/libusb in the emerge and everything has compiled cleanly.  Still some work todo to know it works...  but as postage here in the US has gone up, thought it a good idea to add my 2 cents.  HTH.

----------

