tags 344833 + patch thanks hi Manoj, about this issue, i attach a quick and dirty patch, which at least pinpoints the two places where we have an issue on powerpc. The main point is that on powerpc the debian arch is 'powerpc', while the kernel arch can be either ppc, ppc64 or powerpc, depending on the version and the choices made.
There is some code, with some funny mention of powerpc64 i don't know where it comes from, that sets KERNEL_CROSS if the debian architecture is different than the kernel arch, which obviously is a wrong assumption in this case, and the same errors shows in the dpkg-architecture call. I would say that the best solution here is to have some mapping between the powerpc arches (ppc, ppc64, powerpc, powerpc32 and powerpc64) to the debian powerpc (and powerpc64) arch, none of them needs a cross compiler since we have a real biarch toolchain now. Hoping to see a real fix in the archive soon, which would allow me to build the 2.6.15-rc (and 2.6.15 once it is released, which will be RSN hopefully), on powerpc. The first hunk of this patch sets ARCH=ppc again for 32bit, i am not sure i will be going this way or not finally, since upstream recomends me to go with ARCH=powerpc on 32bit only for 2.6.16 and later. Friendly, Sven Luther
diff -Nur /usr/share/kernel-package/ruleset/arches/powerpc.mk debian/ruleset/arches/powerpc.mk --- /usr/share/kernel-package/ruleset/arches/powerpc.mk 2005-12-25 18:14:39.000000000 +0000 +++ debian/ruleset/arches/powerpc.mk 2005-12-26 19:53:07.000000000 +0000 @@ -64,13 +64,14 @@ KPKG_SUBARCH:=$(GUESS_SUBARCH) endif -KERNEL_ARCH:=powerpc ifneq (,$(findstring $(KPKG_SUBARCH), powerpc powerpc32 powerpc64)) ifneq (,$(findstring $(KPKG_SUBARCH), powerpc64)) target := vmlinux + KERNEL_ARCH:=powerpc endif ifneq (,$(findstring $(KPKG_SUBARCH), powerpc powerpc32)) + KERNEL_ARCH:=ppc NEED_IMAGE_POST_PROCESSING = YES IMAGE_POST_PROCESS_TARGET := mkvmlinuz_support_install IMAGE_POST_PROCESS_DIR := arch/powerpc/boot diff -Nur /usr/share/kernel-package/ruleset/common/archvars.mk debian/ruleset/common/archvars.mk --- /usr/share/kernel-package/ruleset/common/archvars.mk 2005-12-26 20:00:10.000000000 +0000 +++ debian/ruleset/common/archvars.mk 2005-12-26 19:50:08.000000000 +0000 @@ -47,6 +47,9 @@ ha:=-a$(KPKG_ARCH) endif endif + ifneq (,$(findstring $(KPKG_ARCH),ppc powerpc ppc64 powerpc64 powerpc32)) + ha:=-apowerpc + endif endif # set the dpkg-architecture vars diff -Nur /usr/share/kernel-package/ruleset/misc/defaults.mk debian/ruleset/misc/defaults.mk --- /usr/share/kernel-package/ruleset/misc/defaults.mk 2005-12-25 15:01:44.000000000 +0000 +++ debian/ruleset/misc/defaults.mk 2005-12-26 19:57:15.000000000 +0000 @@ -119,6 +119,9 @@ endif endif endif + ifneq (,$(findstring $(KPKG_ARCH),ppc powerpc ppc64 powerpc64 powerpc32)) + KERNEL_CROSS:= + endif else KERNEL_CROSS:=$(CROSS_COMPILE)- endif