Bug#521515: 'Documented usage'?
On Mon, 2009-03-30 at 19:41 +0200, Bastian Blank wrote:
> On Mon, Mar 30, 2009 at 06:27:51PM +0200, Michel Dänzer wrote:
> > Even assuming neither of these conform to the 'documented usage' of
> > kbuild (in which case I'd be interested in learning how to fix them),
>
> Documented usage for out of tree building is
> | make -C $DIR M=$(pwd)
> or similar. The drm tree does not even survive this test.
It uses SUBDIRS=$(pwd), but changing that to M=$(pwd) fails in exactly
the same way.
In fact, not even manually creating the removed symlinks
in /usr/src/linux-headers-2.6.29-1-amd64 works for me, see below. Looks
like there's no -I stanza for /usr/src/linux-headers-2.6.29-1-*. And
even if I manually add -I stanzas so it can find all header files, it
still fails:
In file included from /usr/src/linux-headers-2.6.29-1-amd64/include/linux/prefetch.h:14,
from /usr/src/linux-headers-2.6.29-1-amd64/include/linux/list.h:6,
from /usr/src/linux-headers-2.6.29-1-amd64/include/linux/module.h:9,
from /home/daenzer/src/mesa-git/drm/linux-core/drmP.h:44,
from /home/daenzer/src/mesa-git/drm/linux-core/drm_auth.c:36:
/usr/src/linux-headers-2.6.29-1-amd64/arch/x86/include/asm/processor.h:114: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here (not in a function)
/usr/src/linux-headers-2.6.29-1-amd64/arch/x86/include/asm/processor.h:114: error: requested alignment is not a constant
What kernel module tree(s) were you able to build using the new scheme?
make: Entering directory `/home/daenzer/src/mesa-git/drm/linux-core'
make -C /lib/modules/2.6.29-1-amd64/build M=`/bin/pwd` DRMSRCDIR=`/bin/pwd` modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.29-1-amd64'
make -C /usr/src/linux-headers-2.6.29-1-amd64 \
KBUILD_SRC=/usr/src/linux-headers-2.6.29-1-common \
KBUILD_EXTMOD="/home/daenzer/src/mesa-git/drm/linux-core" -f /usr/src/linux-headers-2.6.29-1-common/Makefile \
modules
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 /home/daenzer/src/mesa-git/drm/linux-core/.tmp_versions ; rm -f /home/daenzer/src/mesa-git/drm/linux-core/.tmp_versions/*
make -f /usr/src/linux-headers-2.6.29-1-common/scripts/Makefile.build obj=/home/daenzer/src/mesa-git/drm/linux-core
gcc-4.3 -I/home/daenzer/src/mesa-git/drm/linux-core -Wp,-MD,/home/daenzer/src/mesa-git/drm/linux-core/.drm_auth.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.3.3/include -D__KERNEL__ -I/home/daenzer/src/mesa-git/drm/linux-core -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -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 -I/usr/src/linux-headers-2.6.29-1-common/arch/x86/include/asm/mach-default -Iarch/x86/include/asm/mach-default -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fwrapv -D"GIT_REVISION=\"libdrm-2.4.5-61-ge2d7dfb61ad7a9736\"" -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(drm_auth)" -D"KBUILD_MODNAME=KBUILD_STR(drm)" -c -o /home/daenzer/src/mesa-git/drm/linux-core/.tmp_drm_auth.o /home/daenzer/src/mesa-git/drm/linux-core/drm_auth.c
In file included from /home/daenzer/src/mesa-git/drm/linux-core/drm_auth.c:36:
/home/daenzer/src/mesa-git/drm/linux-core/drmP.h:44:26: error: linux/module.h: No such file or directory
/home/daenzer/src/mesa-git/drm/linux-core/drmP.h:45:26: error: linux/kernel.h: No such file or directory
/home/daenzer/src/mesa-git/drm/linux-core/drmP.h:46:30: error: linux/miscdevice.h: No such file or directory
[...]
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
Reply to: