# lirc-0.9.0-r5 with lirc_serial and kernel 4.1.12 [SOLVED]

## tld

Just a heads up for anyone using lirc_serial:  When I upgraded to sys-kernel/gentoo-sources-4.1.12 today, my MythTV frontend compile of lirc-0.9.0-r5 failed with errors starting here:

```
In file included from /var/tmp/portage/app-misc/lirc-0.9.0-r5/work/lirc-0.9.0/drivers/lirc_serial/lirc_serial.c:69:0:

/var/tmp/portage/app-misc/lirc-0.9.0-r5/work/lirc-0.9.0/drivers/lirc_serial/lirc_serial.c: In function ‘set_use_inc’:

/var/tmp/portage/app-misc/lirc-0.9.0-r5/work/lirc-0.9.0/drivers/lirc_serial/../../drivers/kcompat.h:117:23: error: ‘SA_INTERRUPT’ undeclared (first us

e in this function)

 #define IRQF_DISABLED SA_INTERRUPT

```

I was able to get it patched where it compiled and seems to be working fine.  I've logged a bug, which also describes previous patches I'd already had:

https://bugs.gentoo.org/show_bug.cgi?id=568180

As noted there, the patch was based on a version of lirc_serial.c that may in fact be from a much newer version of lirc, though I'm not sure.  I see that there's also a bug out there requesting a version bump to 0.9.2:

https://bugs.gentoo.org/show_bug.cgi?id=515902

I have no idea if that would address this or not.  I see that's been there quite some time.  I'm seeing a lot of mention of systemd around newer versions of lirc.  I sure hope that BS doesn't somehow start becoming difficult to avoid with lirc.

In any case, those patches work for me running on x86.

TomLast edited by tld on Sat Dec 26, 2015 3:53 pm; edited 1 time in total

----------

## tld

As I noted in that bug, I ended up going with the lirc_serial stuff all compiled directly into my kernel and an overlay ebuild of version lirc-0.9.2a, where LIRC_DEVICES isn't used at all.  It's really nice actually...no more re-compiling lirc after kernel upgrades and most importantly no more compile issues due to kernel source incompatibilities.

My guess is that getting this working with usb IR receivers might be a little more complex.  The lirc_serial was surprisingly easy to get working.

----------

## tld

Just an additional note on this for anyone who tries anything like this:

While this has worked fine for me, I did have one odd thing on my MythTV frontend: While lirc worked fine in MythTV, for reasons I've yet to figure out, LIRC didn't work at all in xine-ui unless I expressly set the LIRC_SOCKET_PATH environment variable, even though I was using the default (/var/run/lirc/lircd) and that was linked at /dev/lircd. Really screwed. I still don't know if that was related to xine-ui or the lirc libraries in 0.9.2a. Since I start my frontend directly via /etc/inittab, I added this:

```
export LIRC_SOCKET_PATH=/var/run/lirc/lircd
```

...to the mythtv users ~/.xinitrc file.

----------

