[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug#358568: fails to build with 2.6.16
tags 358568 +pending
thanks
I think I've found the reason.
Jari, the test for "some 2.6 kernels need # character in
KBUILD_BASENAME and KBUILD_MODNAME" returns true for Debian
2.6.16 kernels, where it used to return false for 2.6.15.
(I have not checked vanilla kernels yet)
Makefile then does
ifeq ($(SR1),y)
EF += -D"KBUILD_STR(s)=\#s"
which apparently gets evaluated by shell twice and causes
the quoting to fail. It results in a syntax error:
[...] -D"KBUILD_STR(s)=# [...]
I'm considering to change it to the following, but first
wanted to ask if you know whether the change could then
break builds for other kernels:
ifeq ($(SR1),y)
EF += -D"KBUILD_STR(s)=\\\#s"
The full bug report is quoted below.
cheers,
Max
On Thu, Mar 23, 2006 at 11:01:07AM +0100, Csillag Kristóf wrote:
> Package: loop-aes-source
> Version: 3.1c-3
> Severity: important
> Justification: fails to build from source
>
> When I try to build the sources with make-kpkg for 2.6.16,
> i get the following: (this applies to both 2.6.16-1 and 2.6.16-2)
>
> make-kpkg --added-modules loop-aes modules_image
>
> [...]
> make[4]: Entering directory `/usr/src/linux-source-2.6.16'
> /bin/sh: -c: line 1: syntax error near unexpected token `('
> /bin/sh: -c: line 1: `set -e; echo ' CC [M] /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.o'; gcc-4.0 -Wp,-MD,/usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.0.3/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)= -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(patched_loop)" -D"KBUILD_MODNAME=KBUILD_STR(loop)" -c -o /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.o /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.c; scripts/basic/fixdep /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.d /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.o 'gcc-4.0 -Wp,-MD,/usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.0.3/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium3 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)= -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(patched_loop)" -D"KBUILD_MODNAME=KBUILD_STR(loop)" -c -o /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.o /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.c' > /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.tmp; rm -f /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.d; mv -f /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.tmp /usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/.patched-loop.o.cmd'
> make[5]: *** [/usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild/patched-loop.o] Error 2
> make[4]: *** [_module_/usr/src/modules/loop-aes/loop-AES/tmp-d-kbuild] Error 2
> make[4]: Leaving directory `/usr/src/linux-source-2.6.16'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory `/usr/src/modules/loop-aes/loop-AES'
> make[2]: *** [build-stamp] Error 2
> make[2]: Leaving directory `/usr/src/modules/loop-aes'
> make[1]: *** [kdist_build] Error 2
> make[1]: Leaving directory `/usr/src/modules/loop-aes'
> Module /usr/src/modules/loop-aes failed.
> This is new; for 2.6.15, this used to work.
>
> Please let me know how can I help you to debug this!
-
Linux-crypto: cryptography in and on the Linux system
Archive: http://mail.nl.linux.org/linux-crypto/