I can not compile lirc modules. Here is what I did:
# dpkg-reconfigure lirc-modules-source
# m-a prepare
# m-a a-i lirc
But:
make[1]: Entering directory `/usr/src/modules/lirc'
sed -e "s!\$KVERS!2.6.26-1-686!g; s
\$KSRC!/lib/modules/2.6.26-1-686/build!; s!\$KARCH!i386!; s!\$KEMAIL!!;
s!\$KMAINT!!; s!\$KDREV!2.6.26-13!; s!\$DEBDATE!Tue, 03 Mar 2009
06:58:22 +0100!" debian/control.in > debian/control
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
dh_testdir
# Add here commands to compile the package.
/usr/bin/make debconf
make[2]: Entering directory `/usr/src/modules/lirc'
mkdir modules
/usr/bin/make -C drivers SUBDIRS="lirc_dev"
make[3]: Entering directory `/usr/src/modules/lirc/drivers'
Making all in lirc_dev
make[4]: Entering directory `/usr/src/modules/lirc/drivers/lirc_dev'
mv Makefile Makefile.automake
cp ../Makefile.kernel Makefile
/usr/bin/make -C /lib/modules/2.6.26-1-686/build
SUBDIRS=/usr/src/modules/lirc/drivers/lirc_dev modules \
KBUILD_VERBOSE=1
make[5]: Entering directory `/usr/src/linux-headers-2.6.26-1-686'
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or include/config/auto.conf are
missing."; \
echo " Run 'make oldconfig && make prepare' on kernel src to
fix it."; \
echo; \
/bin/false)
mkdir -p /usr/src/modules/lirc/drivers/lirc_dev/.tmp_versions ;
rm -f /usr/src/modules/lirc/drivers/lirc_dev/.tmp_versions/*
/usr/bin/make -f scripts/Makefile.build
obj=/usr/src/modules/lirc/drivers/lirc_dev
gcc-4.1 -Wp,-MD,/usr/src/modules/lirc/drivers/lirc_dev/.lirc_dev.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.3/include -D__KERNEL__ -Iinclude -include
include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -fno-stack-protector -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/src/modules/lirc/drivers/lirc_dev/../.. -I/lib/modules/2.6.26-1-686/build/include/ -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(lirc_dev)" -D"KBUILD_MODNAME=KBUILD_STR(lirc_dev)" -c -o /usr/src/modules/lirc/drivers/lirc_dev/.tmp_lirc_dev.o /usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:35:26: error:
linux/config.h: No such file or directory
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In
function ‘cleanup’:
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:136: error: implicit
declaration of function ‘class_device_destroy’
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In
function ‘lirc_register_plugin’:
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:250: error: implicit
declaration of function ‘DECLARE_MUTEX_LOCKED’
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:250: error: ‘tn’
undeclared (first use in this function)
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:250: error: (Each
undeclared identifier is reported only once
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:250: error: for each
function it appears in.)
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:387: error: implicit
declaration of function ‘class_device_create’
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In
function ‘lirc_unregister_plugin’:
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:440: error: ‘tn’
undeclared (first use in this function)
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:441: error: ‘tn2’
undeclared (first use in this function)
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In
function ‘lirc_dev_init’:
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:873: error: void value
not ignored as it ought to be
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In
function ‘cleanup_module’:
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:900: error: void value
not ignored as it ought to be
make[6]: *** [/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.o] Error 1
make[5]: *** [_module_/usr/src/modules/lirc/drivers/lirc_dev] Error 2
make[5]: Leaving directory `/usr/src/linux-headers-2.6.26-1-686'
make[4]: *** [lirc_dev.o] Error 2
make[4]: Leaving directory `/usr/src/modules/lirc/drivers/lirc_dev'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/modules/lirc/drivers'
make[2]: *** [dev] Error 2
make[2]: Leaving directory `/usr/src/modules/lirc'
make[1]: *** [build-stamp] Error 2
make[1]: Leaving directory `/usr/src/modules/lirc'
make: *** [kdist_image] Error 2
--
___ ____
/__/ / \ ** Registrovani korisnik Linuksa #291606 **
/ / \/ /\ \ ** Registered Linux user #291606 **
/__/\____/--\__\ ** http://counter.li.org/ **
> I can not compile lirc modules. Here is what I did:
...
> -D"KBUILD_MODNAME=KBUILD_STR(lirc_dev)" -c -o
> /usr/src/modules/lirc/drivers/lirc_dev/.tmp_lirc_dev.o
> /usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c
> /usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:35:26: error:
> linux/config.h: No such file or directory
I don't know about Debian, but in other distros that would indicate a lack
of the "-dev" packages, perhaps of the kernel or other system sytem
components.
> gcc-4.1 -Wp,-MD,/usr/src/modules/lirc/drivers/lirc_dev/.lirc_dev.o.d
> -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.3/include
> -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall
> -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
> -fno-common -Werror-implicit-function-declaration -Os
> -fno-stack-protector -m32 -msoft-float -mregparm=3 -freg-struct-return
> -mpreferred-stack-boundary=2 -march=i686 -ffreestanding
> -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe
> -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
> -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default
> -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign
> -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../..
> -I/usr/src/modules/lirc/drivers/lirc_dev/../..
> -I/lib/modules/2.6.26-1-686/build/include/ -DMODULE
> -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(lirc_dev)"
> -D"KBUILD_MODNAME=KBUILD_STR(lirc_dev)" -c -o
> /usr/src/modules/lirc/drivers/lirc_dev/.tmp_lirc_dev.o
> /usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c
> /usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:35:26: error:
> linux/config.h: No such file or directory
linux/config.h is deprecated. Just touch the file and try and build or
replace all instances calling to it with linux/autoconf.h (this
includes CHECKSUM_HW and CHECKSUM_PARTIAL).
--
Tim Greer, CEO/Founder/CTO, BurlyHost.com, Inc.
Shared Hosting, Reseller Hosting, Dedicated & Semi-Dedicated servers
and Custom Hosting. 24/7 support, 30 day guarantee, secure servers.
Industry's most experienced staff! -- Web Hosting With Muscle!
>> linux/config.h: No such file or directory
>
> linux/config.h is deprecated. Just touch the file and try and build
I copied config.h from Debian Etch installation:
----------------
#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H
/* This file is no longer in use and kept only for backward
compatibility.
* autoconf.h is now included via -imacros on the commandline
*/
#include <linux/autoconf.h>
#endif
----------------
I copied it here:
/usr/src/linux-headers-2.6.26-1-686/include/linux/config.h
/usr/src/linux-source-2.6.26/include/linux/config.h
Now I have:
/usr/bin/make -C /lib/modules/2.6.26-1-686/build
SUBDIRS=/usr/src/modules/lirc/drivers/lirc_dev modules \
KBUILD_VERBOSE=1
make[5]: Entering directory `/usr/src/linux-headers-2.6.26-1-686'
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or include/config/auto.conf are
missing."; \
echo " Run 'make oldconfig && make prepare' on kernel src to
fix it."; \
echo; \
/bin/false)
mkdir -p /usr/src/modules/lirc/drivers/lirc_dev/.tmp_versions ;
rm -f /usr/src/modules/lirc/drivers/lirc_dev/.tmp_versions/*
/usr/bin/make -f scripts/Makefile.build
obj=/usr/src/modules/lirc/drivers/lirc_dev
gcc-4.1 -Wp,-MD,/usr/src/modules/lirc/drivers/lirc_dev/.lirc_dev.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.3/include -D__KERNEL__ -Iinclude -include
include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -fno-stack-protector -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/src/modules/lirc/drivers/lirc_dev/../.. -I/lib/modules/2.6.26-1-686/build/include/ -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(lirc_dev)" -D"KBUILD_MODNAME=KBUILD_STR(lirc_dev)" -c -o /usr/src/modules/lirc/drivers/lirc_dev/.tmp_lirc_dev.o /usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:35:26: error:
linux/config.h: No such file or directory
What now?
> I don't know about Debian, but in other distros that would indicate a
> lack of the "-dev" packages, perhaps of the kernel or other system
> sytem components.
Any ideas which "-dev" package I need to install?
> I copied config.h from Debian Etch installation:
>
Don't copy config.h, copy over autoconf.h to it, or replace (use sed or
replace) the instances in the files I've mentioned with autoconf.h.
> Don't copy config.h, copy over autoconf.h to it,
Wait (English is not my native language), I should copy config.h over
autoconf.h or what?
> or replace (use sed or replace) the instances in the files I've
mentioned with autoconf.h.
What files did you mention, I can not see?
> Nedavno Tim Greer napisa:
>
>> Don't copy config.h, copy over autoconf.h to it,
>
> Wait (English is not my native language), I should copy config.h over
> autoconf.h or what?
The opposite. Copy autoconf.h over to config.h
>> or replace (use sed or replace) the instances in the files I've
> mentioned with autoconf.h.
>
> What files did you mention, I can not see?
>
Any file calling config.h, including (especially) CHECKSUM_HW and
CHECKSUM_PARTIAL, if they exist. That is supposed to be an older bug,
too. What version are you trying to compile again?
I will elaborate. Linux kernels > 2.6.18 have removed the
<linux/config.h> include file and replaced it with <linux/autoconf.h>,
so the LIRC kernel modules no longer compile. Therefore, you need to
replace any calls to linux/config.h to linux/autoconf.h.
Newer Lirc _should_ fix this bug (else you shouldn't be seeing that
specific error anyway). I don't use this myself, so I'm trying to
offer my help with it, but I do know that this problem exists due to
the above reason.
> What version are you trying to compile again?
I tried with two versions. First with the one that came with Debian
Lenny (5.0.0) that has lirc-modules source 0.8.3-3. When you install it
it creates /usr/src/lirc-modules.tar.bz2 Unpacking that file produces a
tree in /usr/src/modules/lirc-modules/
Then you do:
# m-a prepare
# m-a a-i lirc
but I get this error:
http://www.ptt.rs/korisnici/i/v/ivica/carb/lirc-error1.txt
Second version is downloaded from http://www.lirc.org/ and it is
lirc-0.8.4a.tar.bz2
When I do make I get:
http://www.ptt.rs/korisnici/i/v/ivica/carb/lirc-error2.txt
And I am stuck now.
[debian lenny, compiling lirc 0.8.3]
> http://www.ptt.rs/korisnici/i/v/ivica/carb/lirc-error1.txt
[debian lenny, compiling lirc 0.8.4a]
> http://www.ptt.rs/korisnici/i/v/ivica/carb/lirc-error2.txt
Those errors are related to functions and files that have been removed
or renamed in recent kernels (2.6.26 and later).
There is a cvs snapshot of lirc 0.8.5 (dated 2009-02-15) which should
have the appropriate updates:
<http://www.lirc.org/software/snapshots/lirc-0.8.5pre1.tar.bz2>
Or get the current cvs tree by following the instructions at:
> Those errors are related to functions and files that have been removed
> or renamed in recent kernels (2.6.26 and later).
>
> There is a cvs snapshot of lirc 0.8.5 (dated 2009-02-15) which should
> have the appropriate updates:
>
> <http://www.lirc.org/software/snapshots/lirc-0.8.5pre1.tar.bz2>
>
> Or get the current cvs tree by following the instructions at:
>
> <http://www.lirc.org/cvs.html>
I already found lirc-0.8.5pre1.tar.bz2, and it did not help, I also
tried with CVS version and:
http://www.ptt.rs/korisnici/i/v/ivica/carb/lirc-error3.txt
It seems that you need to patch and build your own kernel (with this:
http://www.lirc.org/software/snapshots/lirc-bttv-linux-2.6.24.patch
I tried this also, but I was not able to boot with my new kernel, so I
gave up, and returned back to Debian etch. I do not know if this will
be fixed soon (or ever), but I will try again later.
Thank you for your help.
> Nedavno Dave Gibson napisa:
>
>> Those errors are related to functions and files that have been
>> removed or renamed in recent kernels (2.6.26 and later).
>>
>> There is a cvs snapshot of lirc 0.8.5 (dated 2009-02-15) which should
>> have the appropriate updates:
>>
>> <http://www.lirc.org/software/snapshots/lirc-0.8.5pre1.tar.bz2>
>>
>> Or get the current cvs tree by following the instructions at:
>>
>> <http://www.lirc.org/cvs.html>
>
>
> I already found lirc-0.8.5pre1.tar.bz2, and it did not help, I also
> tried with CVS version and:
>
> http://www.ptt.rs/korisnici/i/v/ivica/carb/lirc-error3.txt
>
> It seems that you need to patch and build your own kernel (with this:
>
> http://www.lirc.org/software/snapshots/lirc-bttv-linux-2.6.24.patch
>
> I tried this also, but I was not able to boot with my new kernel, so I
> gave up, and returned back to Debian etch. I do not know if this will
> be fixed soon (or ever), but I will try again later.
>
> Thank you for your help.
>
>
That is odd. I wonder if there's an old install or some headers that
are in another path for a different or older install that are being
picked up? Anyway, that's interesting that it didn't give you a
working build. Keep us updated if you find out if there was a problem
or find another build does work.
> That is odd. I wonder if there's an old install or some headers that
> are in another path for a different or older install that are being
> picked up?
Could be, I do not know, I just do not have the time and knowledge to
find what the problem is.
> Anyway, that's interesting that it didn't give you a
> working build. Keep us updated if you find out if there was a problem
> or find another build does work.
I do not think that the patch I applied is to blame for the kernel that
will not boot. Firstly I did not add --initrdimg option, and it stooped
booting almost immediately, than I did, but it stopped again after a
while, so I decided that it is not worth bothering any more, and went
back to working Debian etch installation.
I will try again when I have more time, and if I find the solution, I'll
post here.
> Nedavno Tim Greer napisa:
>
>> That is odd. I wonder if there's an old install or some headers that
>> are in another path for a different or older install that are being
>> picked up?
>
>
> Could be, I do not know, I just do not have the time and knowledge to
> find what the problem is.
>
>
>> Anyway, that's interesting that it didn't give you a
>> working build. Keep us updated if you find out if there was a
>> problem or find another build does work.
>
>
> I do not think that the patch I applied is to blame for the kernel
> that will not boot. Firstly I did not add --initrdimg option, and it
> stooped booting almost immediately, than I did, but it stopped again
> after a while, so I decided that it is not worth bothering any more,
> and went back to working Debian etch installation.
>
> I will try again when I have more time, and if I find the solution,
> I'll post here.
>
>
Yeah, if you ever get the time and motivation to check into it, but I'd
be curious about the kernel not booting if you didn't include it at
that time (I missed that part of the post, I guess). Anyway, another
day.