编译lirc-redrat3-0.8.7时出错

Error when compiling lirc-redrat3-0.8.7

在配置 lirc-redrat3-0.8.7 时,我遇到了这个问题:

http://www.redrat.co.uk/downloads/lirc-redrat3-0.8.7.tar.gz

     ./configure 
    ......
    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 for python... /usr/bin/python
    checking for python version... 2.7
    checking for python platform... linux2
    checking for python script directory... ${prefix}/lib/python2.7/dist-packages
    checking for python extension module directory... ${exec_prefix}/lib/python2.7/dist-packages
.....
    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 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/3.2.0-58-generic-pae/build/
    checking for which drivers can be installed on this system... 
    checking for caraca_init in -lcaraca_client... no
    checking ftdi.h usability... no
    checking ftdi.h presence... no
    checking for ftdi.h... no
    checking iguanaIR.h usability... no
    checking iguanaIR.h presence... no
    checking for iguanaIR.h... no
    checking for ir_strerror in -lirman... yes
    checking for ir_strerror in -lirman_sw... yes
    checking portaudio.h usability... no
    checking portaudio.h presence... no
    checking for portaudio.h... no
    checking alsa/asoundlib.h usability... no
    checking alsa/asoundlib.h presence... no
    checking for alsa/asoundlib.h... no
    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 linux/types.h usability... yes
    checking linux/types.h presence... yes
    checking for linux/types.h... yes
    checking for linux/hiddev.h... yes
    checking for HIDDEV_FLAG_UREF support... yes
    checking sys/soundcard.h usability... yes
    checking sys/soundcard.h presence... yes
    checking for sys/soundcard.h... yes
    checking linux/i2c-dev.h usability... yes
    checking linux/i2c-dev.h presence... yes
    checking for linux/i2c-dev.h... yes
    configure: error: no driver specified, try ./configure --help

有人知道这个错误吗?

在 lirc_redrat3.c 和 lirc_dev.c 中注释 #include linux/smp_lock.h 后,编译正确:-)

linux/smp_lock.h 是 "Big Kernel Lock" 的头文件,自 2.6.39 起不再存在。

请注意,redrat 站点告诉我们,redrat 驱动程序是从 3.3 开始内置到内核中的。如果您使用的是较旧的内核,最好的方法可能是更新内核并使用标准的 lirc 安装(使用位于内核驱动程序之上的 "default" 驱动程序)。

redrat 分发的 lirc 版本真的非常旧(2010 年),此后发生了很多事情,包括内核和 lirc。我会避免尝试让它工作,即使它可能是可能的。