# equery f lirc|grep modules /lib/modules /lib/modules/2.6.31-git12-amd64_pata /lib/modules/2.6.31-git12-amd64_pata/misc /lib/modules/2.6.31-git12-amd64_pata/misc/lirc_dev.ko /lib/modules/2.6.31-git12-amd64_pata/misc/lirc_sir.ko Reproducible: Always
Created attachment 205111 [details] elog
Created attachment 205112 [details] emerge --info
I just noticed that mceusb isn't in the modules either. It should be according to my LIRC_DEVICES and bug #286132.
Everything works as expected, and the module gets compiled when compiling directly from Source code. (http://prdownloads.sourceforge.net/lirc/lirc-0.8.6.tar.gz)
LIRC_DEVICES="serial mceusb" emerge -va lirc [...] ./configure [...] --with-moduledir=/lib/modules/2.6.31-git18-amd64_pata/misc --disable-debug --with-x --with-driver=mceusb --with-driver=serial [...] config.status: executing libtool commands You will have to use the lirc_serial kernel module [...] [<error which should the subject of another bugreport>] $ grep '^driver' /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers/Makefile driver = serial ------------------------------------------------ LIRC_DEVICES="mceusb serial xboxusb" emerge -va lirc [...] ./configure [...] --with-moduledir=/lib/modules/2.6.31-git18-amd64_pata/misc --disable-debug --with-x --with-driver=mceusb --with-driver=serial --with-driver=atiusb [...] [<error which should the subject of another bugreport>] $ grep '^driver' /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers/Makefile driver = atiusb ------------------------------------------------ The ebuild builds the ./configure line according to the lexical driver name order BUT it appears that the ./configure only uses the LAST --with-driver= option !! It can be reproduced with the vanilla sources : Compare the ./configure output and /tmp/zob/MODS files : ./configure --prefix=/tmp/zob --mandir=/tmp/zob/usr/share/man --infodir=/tmp/zob/usr/share/info --datadir=/tmp/zob/usr/share --sysconfdir=/tmp/zob/etc --localstatedir=/tmp/zob/var/lib --libdir=/tmp/zob/usr/lib64 --localstatedir=/tmp/zob/var --with-syslog=LOG_DAEMON --enable-sandboxed --with-kerneldir=/usr/src/linux --with-moduledir=/tmp/zob/MODS --disable-debug --with-x --with-driver=serial --with-driver=mceusb && sleep 10 && make && make install AND [ make uninstall ] ./configure --prefix=/tmp/zob --mandir=/tmp/zob/usr/share/man --infodir=/tmp/zob/usr/share/info --datadir=/tmp/zob/usr/share --sysconfdir=/tmp/zob/etc --localstatedir=/tmp/zob/var/lib --libdir=/tmp/zob/usr/lib64 --localstatedir=/tmp/zob/var --with-syslog=LOG_DAEMON --enable-sandboxed --with-kerneldir=/usr/src/linux --with-moduledir=/tmp/zob/MODS --disable-debug --with-x --with-driver=mceusb --with-driver=serial && sleep 10 && make && make install (only the order of the 2 last options changes) And you notice that ONLY one --with-driver option is taken into account. ********************************************* [about the <error which should the subject of another bugreport>] : While lirc built with 2.6.31-git12, it no more does with 2.6.31-git18 : ./configure says : >>> Compiling source in /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6 ... ln: symlink creation `Module.symvers': file already exists * Preparing lirc module * econf: updating lirc-0.8.6/config.guess with /usr/share/gnuconfig/config.guess * econf: updating lirc-0.8.6/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --build=x86_64-pc-linux-gnu [...] [...] checking for mktemp... yes checking for Linux kernel sources... /tmp/LIRCMF.TAw7yK:210: *** ARCH changed from "x86_64" to "x86". Use "make mrproper" to fix it up. Stop. /tmp/LIRCMF.TAw7yK:210: *** ARCH changed from "x86_64" to "x86". Use "make mrproper" to fix it up. Stop. ./configure: line 15266: test: -eq: unary operator expected /usr/src/linux/ checking for which drivers can be installed on this system.. [...] config.status: executing libtool commands You will have to use the lirc_atiusb kernel module. Now enter 'make' and 'make install' to compile and install the package. make -j3 -j1 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= all make all-recursive make[1]: directory « /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6 » Making all in drivers make[2]: directory « /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers » Making all in lirc_dev make[3]: directory « /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers/lirc_dev » cp ./../lirc_dev/Module*.symvers . cp: can't stat `./../lirc_dev/Module*.symvers': no such file or directory make[3]: [lirc_dev.o] Error 1 (ignored) mv Makefile Makefile.automake cp ./../Makefile.kernel Makefile CPPFLAGS="" CFLAGS="" LDFLAGS="" \ make -C /usr/src/linux/ SUBDIRS=/var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers/lirc_dev modules \ KBUILD_VERBOSE=1 make[4]: directory « /usr/src/linux-2.6.31-git18 » Makefile:210: *** ARCH changed from "x86_64" to "x86". Use "make mrproper" to fix it up. Stopping. make[4]: leaving directory « /usr/src/linux-2.6.31-git18 » make[3]: *** [lirc_dev.o] Erreur 2 make[3]: leaving directory « /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers/lirc_dev » make[2]: *** [all-recursive] Error 1 make[2]: leaving directory « /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers » make[1]: *** [all-recursive] Error 1 make[1]: leaving directory « /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6 » make: *** [all] Error 2 -------------------------------- (while the vanilla sources ./configure && make && make install doesn't fail)
[ all except those which imply extra-deps : ] LIRC_DEVICES="accent act200l act220l adaptec alsa_usb animax asusdh atilibusb atiusb audio_alsa avermedia avermedia98 avermedia_vdomate awlibusb bestbuy bestbuy2 breakoutbox bte bw6130 caraca chronos commandir cph06x creative creative_infracd devinput digimatrix dsp dvico ea65 exaudio flyvideo gvbctv5pci hauppauge hauppauge_dvb hercules_smarttv_stereo i2cuser igorplugusb imon imon_24g imon_knob imon_lcd imon_pad imon_rsc irdeo irdeo_remote irlink irreal it87 ite8709 knc_one kworld leadtek_0007 leadtek_0010 leadtek_pvr2000 livedrive_midi livedrive_seq logitech macmini mceusb mediafocusI mouseremote mouseremote_ps2 mp3anywhere mplay nslu2 packard_bell parallel pcmak pcmak_usb pctv pixelview_bt878 pixelview_pak pixelview_pro provideo realmagic remote_wonder_plus remotemaster sa1100 samsung sasem sb0540 serial serial_igor_cesko silitek sir slinke streamzap tekram tekram_bt829 tira ttusbir tuxbox tvbox udp uirt2 uirt2_raw usb_uirt_raw usbx userspace wpc8769l xboxusb" emerge -va lirc =====> ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --localstatedir=/var --with-syslog=LOG_DAEMON --enable-sandboxed --with-kerneldir=/usr/src/linux --with-moduledir=/lib/modules/2.6.31-git18-amd64_pata/misc --disable-debug --with-x --with-driver=userspace --with-driver=accent --with-driver=act200l --with-driver=act220l --with-driver=adaptec --with-driver=alsa_usb --with-driver=animax --with-driver=asusdh --with-driver=atilibusb --with-driver=atiusb --with-driver=audio_alsa --with-driver=avermedia --with-driver=avermedia_vdomate --with-driver=avermedia98 --with-driver=awlibusb --with-driver=bestbuy --with-driver=bestbuy2 --with-driver=breakoutbox --with-driver=bte --with-driver=bw6130 --with-driver=caraca --with-driver=chronos --with-driver=commandir --with-driver=cph06x --with-driver=creative --with-driver=creative_infracd --with-driver=devinput --with-driver=digimatrix --with-driver=dsp --with-driver=dvico --with-driver=ea65 --with-driver=exaudio --with-driver=flyvideo --with-driver=gvbctv5pci --with-driver=hauppauge --with-driver=hauppauge_dvb --with-driver=hercules_smarttv_stereo --with-driver=i2cuser --with-driver=igorplugusb --with-driver=imon --with-driver=imon_24g --with-driver=imon_knob --with-driver=imon_lcd --with-driver=imon_pad --with-driver=imon_rsc --with-driver=irdeo --with-driver=irdeo_remote --with-driver=irlink --with-driver=irreal --with-driver=it87 --with-driver=ite8709 --with-driver=knc_one --with-driver=kworld --with-driver=leadtek_0007 --with-driver=leadtek_0010 --with-driver=leadtek_pvr2000 --with-driver=livedrive_midi --with-driver=livedrive_seq --with-driver=logitech --with-driver=macmini --with-driver=mceusb --with-driver=mediafocusI --with-driver=mouseremote --with-driver=mouseremote_ps2 --with-driver=mp3anywhere --with-driver=mplay --with-driver=nslu2 --with-driver=packard_bell --with-driver=parallel --with-driver=pcmak --with-driver=pcmak_usb --with-driver=pctv --with-driver=pixelview_bt878 --with-driver=pixelview_pak --with-driver=pixelview_pro --with-driver=provideo --with-driver=realmagic --with-driver=remotemaster --with-driver=sa1100 --with-driver=samsung --with-driver=sasem --with-driver=sb0540 --with-driver=serial --with-driver=silitek --with-driver=sir --with-driver=slinke --with-driver=streamzap --with-driver=tekram --with-driver=tekram_bt829 --with-driver=tira --with-driver=ttusbir --with-driver=tuxbox --with-driver=tvbox --with-driver=udp --with-driver=uirt2 --with-driver=uirt2_raw --with-driver=usb_uirt_raw --with-driver=usbx --with-driver=wpc8769l --with-driver=atiusb --with-driver=serial --with-igor --with-driver=atiusb =====> [...] config.status: executing libtool commands You will have to use the lirc_atiusb kernel module. [<error which should the subject of another bugreport>] $ grep '^driver' /var/tmp/portage/app-misc/lirc-0.8.6/work/lirc-0.8.6/drivers/Makefile driver = atiusb
Ok, so now we know the problem, but I will have to dig a bit for the solution.
As far as I understand...this is the intended behaviour at least since 0.8.5. if you want more than one, build it with LIRC_DEVICES=all.
That's really annoying as one might want to use both serial and usb only. From what I saw in the configure, the 'all' case is specifically treated according a ${possible_drivers} I really don't understand why such a feature as been dropped and I can't find a thread giving an explanation. [about the compilation error, I feel alone to experience it]
(In reply to comment #9) > That's really annoying as one might want to use both serial and usb only. > From what I saw in the configure, the 'all' case is specifically treated > according a ${possible_drivers} I really don't understand why such a feature as > been dropped and I can't find a thread giving an explanation. Neither do I, the auto* files are patchable to support it, but it will be a huge patch and I am not really willing to maintain such a beast. Maybe you want to talk to the Lirc developers and report back here? > [about the compilation error, I feel alone to experience it]
I've run into the same problem. I need the imon and atiusb modules, but I can't build lirc with LIRC_DEVICES="all" as the i2c module fails to build agains kernel gentoo-sources-2.6.31.
(In reply to comment #11) > I've run into the same problem. I need the imon and atiusb modules, but I can't > build lirc with LIRC_DEVICES="all" as the i2c module fails to build agains > kernel gentoo-sources-2.6.31. > OK forget that, I needed I2C active in the kernel. lirc now bilds fine.
About the compilation error, patch of toolchain eclass (bug #287225) solved the issue. About the main subject of this bug (driver selection), upstream said that no recent change happened and "several" drivers implies "all" drivers (http://sourceforge.net/mailarchive/forum.php?thread_name=BAcSlGHojFB%40christoph&forum_name=lirc-list)
(In reply to comment #8) > As far as I understand...this is the intended behaviour at least since 0.8.5. > if you want more than one, build it with LIRC_DEVICES=all. > Closing as WONTFIX