Problems using cross_compile.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kernel-package (Ubuntu) |
Invalid
|
Wishlist
|
Adam Conrad |
Bug Description
Kernel build fails when cross-compiling a kernel using 'make-pkg --cross-compile
foo ...' using version 8.119ubuntu3 of kernel-package. The kernel version I'm
trying to compile, in case it's relevant, is 2.6.11.
Basically, it appears as if an extra dash ('-') gets added to the end of the
cross-compile value. To take an example, the following make command works and
appears to illustrate how to use the CROSS_COMPILE make variable properly:
# make ARCH=i386 CROSS_COMPILE=
But a similar value passed to make-kpkg results in an error:
# make-kpkg --arch i386 --cross-compile i686-unknown-
...
make[1]: Leaving directory `/usr/src/
/usr/bin/make CROSS_COMPILE=
make[1]: i686-unknown-
At first glance it looks like make-kpkg is simply adding an extra dash onto the
end of the cross-compile make-variable, so I tried removing the dash on the
cross-compile value I pass to make-kpkg, but that doesn't work with the target
'clean':
# make-kpkg --arch i386 --cross-compile i686-unknown-
...
make[2]: i686-unknown-
As well as errors from dpkg-architecture.
I've managed to fix this, so far, by editing debian/rules as necessary. Line 100
contains:
Removing the dash at the end of this line appears to allow me to use the same
value for cross_compile as expected by the Makefile.
--Misha
According to the documentation, this should be a target string (i.e., no dash at
the end), so it seems correct for it to add the dash.
perhaps a disagreement between the kernel Makefiles and make-kpkg on the semantics?