kernel cross-build troubles

Nathan Lynch ntl at
Sun Aug 13 12:26:49 EST 2006


Thanks for ccontrol.

I'm having a bit of difficulty when trying to use two i386 PCs to
cross-build Linux kernels using ccontrol 0.9.1.  Native builds cache
and distribute fine.  But enabling both ccache and distcc for 64-bit
powerpc cross-builds fails for me -- somehow the native compiler is
being invoked when the cross compiler should be.  Disabling either
ccache or distcc in my config file makes things work.  I've also
verified that ccache and distcc are working correctly for cross builds
without ccontrol.

Here is my config (sorry for the long paths):

        cc = /toolchains/gcc-4.1.0-glibc-2.3.5/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-gcc
        ld = /toolchains/gcc-4.1.0-glibc-2.3.5/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-ld
        make = /usr/bin/make
        cpus = 2
        ccache = /usr/bin/ccache
	distcc = /usr/bin/distcc
	distcc-hosts = hawkeye localhost

        add make = ARCH=powerpc
        add make = CROSS_COMPILE=/toolchains/gcc-4.1.0-glibc-2.3.5/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-
        add make = LD=ccontrol --section=cross-ppc64 ld
        add make = CC=ccontrol --section=cross-ppc64 cc
        ld = /toolchains/gcc-4.1.0-glibc-2.3.5/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-ld
        cc = /toolchains/gcc-4.1.0-glibc-2.3.5/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc


And here is a build log (with /usr/lib/ccontrol first in my PATH):

nathanl at radar:~/devel/linux/cross-build-testing/linux-ppc64$ make V=1
< some kbuild churn omitted >
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-powerpc
if [ ! -d include ]; then mkdir -p include; fi;
mkdir -p .tmp_versions
rm -f .tmp_versions/*
make -f scripts/ obj=scripts/basic
make -f scripts/ obj=.
mkdir -p arch/powerpc/kernel/
  ccontrol --section=cross-ppc64 cc -Wp,-MD,arch/powerpc/kernel/.asm-offsets.s.d  -nostdinc -isystem /toolchains/gcc-4.1.0-glibc-2.3.5/i686-unknown-linux-gnu/lib/gcc/i686-unknown-linux-gnu/4.1.0/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common  -Os -fomit-frame-pointer -msoft-float -pipe -mminimal-toc -mtraceback=none  -mcall-aixdesc    -mstring -Wa,-maltivec      -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(asm_offsets)"  -D"KBUILD_MODNAME=KBUILD_STR(asm_offsets)" -fverbose-asm -S -o arch/powerpc/kernel/asm-offsets.s arch/powerpc/kernel/asm-offsets.c
cc1: error: unrecognized command line option "-mminimal-toc"
cc1: error: unrecognized command line option "-mtraceback=none"
cc1: error: unrecognized command line option "-mcall-aixdesc"
cc1: error: unrecognized command line option "-mstring"
distcc[17331] ERROR: compile arch/powerpc/kernel/asm-offsets.c on hawkeye failed
make[1]: *** [arch/powerpc/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

Any suggestions?


More information about the ccontrol mailing list