¿Alguien ha instalado lirc en gentoo con kernel 2.6?

Nada, que no lo logro. Tengo la gentoo con el kernel 2.6.1. Lo he parcheado para poder usar lirc, y sin problemas. Lo tengo compilado con el soporte para lirc. Pero cuando hago un emerge -k lirc, me ocurre lo siguiente (al compilar):

make: Entering directory `/var/tmp/portage/lirc-0.6.6-r1/work/lirc-0.6.6/drivers '
Making all in lirc_dev
make[1]: Entering directory `/var/tmp/portage/lirc-0.6.6-r1/work/lirc-0.6.6/driv ers/lirc_dev'
Makefile:380: /usr/src/linux//Rules.make: No such file or directory
make[1]: *** No rule to make target `/usr/src/linux//Rules.make'. Stop.
make[1]: Leaving directory `/var/tmp/portage/lirc-0.6.6-r1/work/lirc-0.6.6/drive rs/lirc_dev'
make: *** [all-recursive] Error 1
make: Leaving directory `/var/tmp/portage/lirc-0.6.6-r1/work/lirc-0.6.6/drivers'


Lo mismo me ocurre si lo intento hacer a mano: descomprimo el tar.bz2 del fuente del lirc y hago un ./configure && make, pero no encuentra Rules.make en /usr/src/linux.

También he probado el lirc 0.7.0, y con este lo que me pasa es más raro. Si hago un emerge -k lirc-0.7.0xxx.ebuild, me lo instala sin problemas (eso sí, luego no funciona, por lo que digo a continuación). Pero si lo intento hacer a mano, reaparece el error anterior de Rules.make. Y lo malo es que lo tengo que hacer a mano, porque en el paso ./configure tengo que elegir mi tarjeta de TV para que compile el driver adecuado (lirc_gpio), pues si lo hago con emerge no lo hace.

En fin, ¿alguna idea? ¿Por qué me falta el Rules.make? ¿No debería crearlo al configurar? ¿Tendré que volver al 2.4, ahora que me había acostumbrado al 2.6? Porque una cosa es segura: no puedo vivir sin lirc; lo vengo usando desde hace muuuucho tiempo.
Escrito originalmente por Narf
Pero cuando hago un emerge -k lirc, me ocurre lo siguiente (al compilar):


La opción -k es para paquetes creados con la opción -b.

Prueba con:
# LIRC_OPTS="--with-driver=tudriver" emerge lirc


Saludos.
Mmmm... segun el man, -k es simplemente para que antes de descargar y compilar busque entre los paquetes compilados. Yo siempre la uso (no me importa que el paquete ya esté compilado, mi conexión no es para echar cohetes), y si no existe el paquete, lo descarga.

Bueno, de todas formas, he probado:

# LIRC_OPTS="--with-driver=lirc_gpio" emerge lirc

y no ha servido. Ahora me da otro fallo:

checking for Linux kernel sources... /tmp/LIRCMF.DFc8f1:405: /usr/src/linux-2.6.1/arch/x86/Makefile: No such file or directory
make: *** No rule to make target `/usr/src/linux-2.6.1/arch/x86/Makefile'. Stop.
/usr/src/linux/
checking for which drivers can be installed on this system...
checking for caraca_init in -lcaraca_client... no
checking for ir_strerror in -lirman... no
checking for ir_strerror in -lirman_sw... no
checking for portaudio.h... no
configure: error: *** you need to have the Linux kernel source installed
for this driver


Genial, vamos. Ahora intenta buscar un Makefile en "/usr/src/linux-2.6.1/arch/x86/", cuando ese directorio no existe (existe i386, pero no x86). Así que hago un link simbólico... y no arreglo nada:

checking for Linux kernel sources... /usr/src/linux/
checking for which drivers can be installed on this system...
checking for caraca_init in -lcaraca_client... no
checking for ir_strerror in -lirman... no
checking for ir_strerror in -lirman_sw... no
checking for portaudio.h... no
configure: error: *** you need to have the Linux kernel source installed
for this driver


En el kernel tengo seleccionado el soporte para lirc, y además tengo compilado como módulo el lirc_gpio. Y, evidentemente, tengo el source del kernel en /usr/src/linux-2.6.1, con link simbólico /usr/src/linux.

Me da a mí que tendré que probar con el 2.4, ya que con él siempre me fue perfectamente... :(

Gracias de todas formas.
Pues nada, con el kernel 2.4, lirc compilado y funcionando perfectamente.

El problema está claro: necesita el Rules.make de /usr/src/linux. El kernel 2.4 lo genera al compilar, y el 2.6.1 no lo genera. Al menos no con genkernel, tendré que probar a compilar el kernel a mano (ahora que ya me había acostumbrado a genkernel :-P) para ver si el genkernel se lo carga por algun motivo. O igual se genera con make dep, y por eso el 2.6 no lo genera (al no necesitar make dep).

Otra coña es que, aun con el kernel 2.4, necesito compilar el lirc a mano. Con emerge no lo logro configurar para que use mi driver (si lo especifico con LIRC_OPTS="--with-driver=lirc_gpio" me falla con el mismo error que me fallaba con el 2.6, es decir: configure: error: *** you need to have the Linux kernel source installed). Así que los programas que instalo con portage y que dependen de lirc me lo intentan instalar, aunque ya esté instalado en usr/local.

En fin. Al final, por muy sofisticado que sea el sistema de instalación de paquetes de la distribución, siempre acabo recurriendo a /usr/local/src (que nunca falla [jaja]).
3 respuestas