Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286227 - =app-misc/lirc-0.8.6 : only builds last driver specified on configure run
Summary: =app-misc/lirc-0.8.6 : only builds last driver specified on configure run
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: Television related Applications in Gentoo's Portage
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-24 13:43 UTC by Raphaël Droz
Modified: 2010-05-21 02:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
elog (elog.txt,1.94 KB, text/plain)
2009-09-24 13:47 UTC, Raphaël Droz
Details
emerge --info (emerge.info,4.80 KB, text/plain)
2009-09-24 13:47 UTC, Raphaël Droz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raphaël Droz 2009-09-24 13:43:42 UTC
# 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
Comment 1 Raphaël Droz 2009-09-24 13:47:28 UTC
Created attachment 205111 [details]
elog
Comment 2 Raphaël Droz 2009-09-24 13:47:46 UTC
Created attachment 205112 [details]
emerge --info
Comment 3 Raphaël Droz 2009-09-24 14:18:51 UTC
I just noticed that mceusb isn't in the modules either.
It should be according to my LIRC_DEVICES and bug #286132.
Comment 4 Tommy Lindgren 2009-09-30 11:12:47 UTC
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)
Comment 5 Raphaël Droz 2009-10-02 13:03:05 UTC
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)
Comment 6 Raphaël Droz 2009-10-02 13:24:51 UTC
[ 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
Comment 7 Christian Faulhammer (RETIRED) gentoo-dev 2009-10-03 23:01:51 UTC
Ok, so now we know the problem, but I will have to dig a bit for the solution.
Comment 8 Christian Faulhammer (RETIRED) gentoo-dev 2009-10-04 19:03:12 UTC
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.
Comment 9 Raphaël Droz 2009-10-05 18:22:43 UTC
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]
Comment 10 Christian Faulhammer (RETIRED) gentoo-dev 2009-10-06 21:55:00 UTC
(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]

 
Comment 11 Stefan Radermacher 2009-10-10 11:16:04 UTC
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.
Comment 12 Stefan Radermacher 2009-10-10 11:29:20 UTC
(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.
Comment 13 Raphaël Droz 2009-10-20 12:49:16 UTC
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)
Comment 14 Steve Dibb (RETIRED) gentoo-dev 2010-05-21 02:35:50 UTC
(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