I'm building a new Pi and hoped to use 10.2 that includes the Merge 50 (May 2023) patch for COUNT=. The Pi OS apt has only 10.1 so I thought I'd compile 10.2.
First, the Failure:
./doc/index.html is linked to the non-existent: ./doc/html/index.html
The correct link seems to be to ./doc/html-source/index.html
With that manual re-linking correction, make succeeds (but I really don't care about docs at all).
Then, File Locations:
Now I'm trying to get all the files deployed to their correct locations. I run:
./configure --bindir=/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --sysconfdir=/etc --localstatedir=/var --runstatedir=/var/run --libdir=/var/lib --datarootdir=/usr/share
I think this corresponds to where 10.1 put its files, but after makeand sudo make install when I launch lircd I get:
can't open or create /var/run/lirc/lircd.pid: No such file or directory
Which key controls where that gets written? /var/run/lirc does not get created through my make process.
Upon manually creating /var/run/lirc then lircd will start. Is it possible that runstatedir does not automatically have /lirc appended when creating it?
Then, (and maybe not an issue), but sudo systemctl start lircd starts the daemon, but does not do so asynchronously. I need to hit CTL-C to exit. Should make install run systemctl to start the daemon?
Here is the systemctl status lircd
$ sudo systemctl status lircd
● lircd.service - Flexible IR remote input/output application support
Loaded: loaded (/lib/systemd/system/lircd.service; enabled; vendor preset: enabled)
Active: activating (start) since Fri 2023-10-06 21:17:16 BST; 1min 0s ago
Docs: man:lircd(8)
http://lirc.org/html/configure.html
Main PID: 204354 (lircd)
Tasks: 2 (limit: 1599)
CPU: 19ms
CGroup: /system.slice/lircd.service
└─204354 /usr/sbin/lircd --nodaemon
If I can get this working I'd be happy to contribute the required configure options to an FAQ if you like.
Any way you can push or recommend 10.2 to the Raspberry Pi folk?
When starting
lircd.servicewith systemctl it always adds the--nodaemonflag and times out after about 2 minutes. (See the systemctl status output just above). It then deletes the/var/run/lircdirectory. The socket is up and stable.(I removed the
--runstatedir=/var/rundirective from./configuresincerunis automatically appended to--localstatedir=/var)lirc_options.confhasnodaemon = Falsebut that appears to be ignored. My other items likedeviceanddriverandeffective_userall are observed.I'm close it seems. Any help appreciated.
Last edit: Jim Kaiser 2023-10-08
After changing the
Type=noticetoType=simpleinlircd.service, the daemon starts and stays running usingsudo systemctl start lircd.irsend --count=4 xxx yyyworks.This was based on using
./configure --bindir=/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --sysconfdir=/etc --libdir=/var/lib --datarootdir=/usr/shareon a RasPi 4 running Raspberry OS.Now on to trying the installation on an x86 box running ubuntu.
Looks like you don't have systemd development libraries installed - lircd should send ready notifications to systemd, but only if
HAVE_SYSTEMDis set by./configureDo you have thelibsystemd-devpackage installed and what is the output of./configure?Here's what I see for that library:
I guess the library's installed. Maybe there's a permissions issue? I need to use
sudoa lot.Anyway, as per my 2023-10-14 note above. I got it working.
Actually, the IR messages are generated on an upstream
ubuntu x86machine and relayed to thePimachine for execution using ausb-uirtI've had for decades. Its at:/dev/serial/by-id/usb-FTDI_USB-UIRT-if00-port0I'm happy to run
.configureagain if that won't muck up my working instance. Actually, I'd much rather get 10.2, et seq, pushed into the distributed linux packages. I really don't need to build executables. Docker images would be even better.Or, if it would really be helpful, I could spend a day getting a fresh
Pigoing and experiment. Again, any chance of pushing 10.2+ to linux distros, or docker?As an aside, is there any way to identify specific target IR blasters with LIRC? I have two identical Denon boxes that I would like to address independently using LIRC from the same Pi. Thanks.
Anyway,
COUNT=xxxis hugeLast edit: Jim Kaiser 2025-07-11
Looks like you are running debian oldstable. Trixie has lirc 0.10.2, so if you move to that version you will get lirc 0.10.2.
You can set the transmitters with
irsend set_transmitters ....Thanks for the 10.2 referral. Sorry for veering off a bit here. I've seen
set_transmitters. What I don't understand is how to define multipledevicesanddriversin (presumably)lirc_options.conf. I suppose those would be transmitter 1 2, etc. based on the order defined? I may also need toconnectto another upstream machine. Here's my conf file.