|Summary:||2.6.27-rc3 to rc6 x86_64 broken KBUILD_OUTPUT|
|Product:||Platform Specific/Hardware||Reporter:||Duncan (1i5t5.duncan)|
2.6.27-rc5 build log
Description Duncan 2008-08-29 08:01:16 UTC
Latest working kernel version:2.6.26 Earliest failing kernel version:2.6.27-rc3 Note however that -rc2 failed to run, apparently unrelated as it compiled, so I've not been able to run any .27 rcs (I didn't try rc1) Distribution: Gentoo/~amd64 Hardware Environment: Tyan s2885, dual Opteron 290s, 8 gigs RAM, 4 SATA-disk md/mdp RAID Software Environment: compiler, Gentoo's gcc-4.3.1-r1 Note that I patch the makefile to unlimited parallel jobs (adding -j to makeopts). Problem Description: Since 2.6.27-rc3, I've been unable to compile, with the following errors. .config and build output log to be attached, see the output log for the details. (Local path prefixes deleted below, but in build output log.) arch/x86/kernel/entry_64.S:54:24: error: asm/ftrace.h: No such file or directory make: *** [arch/x86/kernel/entry_64.o] Error 1 include2/asm/proto.h:17: error: conflicting types for 'reserve_bootmem_generic' include/linux/bootmem.h:118: error: previous declaration of 'reserve_bootmem_generic' was here arch/x86/mm/ioremap.c: In function '__ioremap_caller':make: *** [arch/x86/mm/fault.o] Error 1 /arch/x86/mm/pat.c:250: error: implicit declaration of function 'is_ISA_range' arch/x86/mm/pat.c: In function 'phys_mem_access_prot_allowed': arch/x86/mm/pat.c:476: error: 'max_low_pfn_mapped' undeclared (first use in this function) [bunch more errors in arch/x86/mm/ioremap.c and gup.c] make: *** [arch/x86/mm/pat.o] Error 1 make: *** [arch/x86/mm/ioremap.o] Error 1 make: *** [arch/x86/mm/gup.o] Error 1 include/asm-generic/pci-dma-compat.h: In function 'pci_dma_mapping_error': include/asm-generic/pci-dma-compat.h:104: warning: passing argument 1 of 'dma_mapping_error' makes integer from pointer without a cast include/asm-generic/pci-dma-compat.h:104: error: too many arguments to function 'dma_mapping_error' ... many more. search the build log for "error". Duncan
Comment 3 Thomas Gleixner 2008-09-04 12:32:52 UTC
Looks like a completely wreckaged source tree. Your config compiles fine here.
Comment 4 Duncan 2008-09-14 07:20:58 UTC
Reopening and changing the summary to reflect further test results. The bug occurs with -rc6 also. The source tree gpg-verifies fine. It turns out it's not the config but something else in my setup I neglected to mention before. Try setting KBUILD_OUTPUT (as documented in the root makefile). Here, with it set to outputdir (as an additional subdir at the kernel tree root, so the absolute path is /usr/src/linux/outputdir/), I have the problem. With it unset, no problem. (This is as tested on -rc6, now.) As best I can tell from the errors and above results, when the arch-include/headers stuff was moved around it broke KBUILD_OUTPUT, and I must be one of very few -rc testers using it, at least on x86_64.
Comment 5 Thomas Gleixner 2008-09-14 12:47:13 UTC
Well, I'm using make O=/path/to/object/output all the time as I use it to build various configs from one source tree. That's basically the same as setting KBUILD_OUTPUT as far as I can tell from a quick check of Makefile. Can you try that instead for verification ? Thanks, tglx
Comment 6 Thomas Gleixner 2008-09-14 13:25:31 UTC
> Can you try that instead for verification ? And please use a completely unpatched source tree. Just noticed that you hack makeopts as well. If you want to do a parallel build add it to the make command line. # make O=/outputpath -j ..... Thanks, tglx
Comment 7 Duncan 2008-09-24 08:26:00 UTC
OK, my mistake. I was copying the outputdir from the old 2.6.26 kernel over (effectively patching in place and rebuilding, only I simply copied the outputdir into the new sources, this normally saves several hundred make jobs from having to be redone unnecessarily, as best I can tell) and evidently with the include dirs changes, that didn't work and I needed to start with a clean (butfor the old .config) outputdir, before I did the the make oldconfig and tried to build in the new sources. Starting from a clean (but for the .config) outputdir worked fine. So re-rejecting as invalid. Thanks for your time.