Hello,

> Do not cross compile for i386 an amd64 or vice versa on new kernel
> versions, since i386 and mad64 have been merged into a common x86
> architecture. Since this is not a cross compile at all, things get a
> little confused.

I am trying to build i386 packages of i386 kernels on my (very faster)
amd64 machine. The ARCH variable passed to `make' still needs to be set
to "i386". What is the right thing to do then?

According to the man page, and the available options, --arch seems to be
the right thing to use. So I use as a command line:

CONCURRENCY_LEVEL=4 make-kpkg --rootcmd fakeroot --revision foo.12 \
--arch i386 --cross-compile - kernel-image

Using kernel-package 12.014 (it is a debian sid system), it still ends
up building an amd64 package.

I can fix the problem for myself by manually setting DEB_HOST_ARCH to
i386 in /usr/share/kernel-package/ruleset/common/archvars.mk  Ugly hack,
much. I tried playing with the snippet of code:

ifdef KPKG_ARCH
  ifeq ($(strip $(MAKING_VIRTUAL_IMAGE)),)
    ifneq ($(CROSS_COMPILE),-)
      ha:=-a$(KPKG_ARCH)
    endif
  endif
endif

If it wasn't for the "ifneq ($(CROSS_COMPILE),-)" test, the right value
would be set for DEB_HOST_ARCH; however I assume that this test exists
for a reason, and if I by-pass it, wrong values are apparently set for
the other variables, and I get a bunch of errors like:

dpkg-architecture: warning: Specified GNU system type i486-linux-gnu
does not match gcc system type x86_64-linux-gnu.

So, is there an extra bit of logic missing there? Or am I simply doing it
wrong?

Regards,

-- 
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to