[U-Boot] Native builds broken ?

selsinork at gmail.com selsinork at gmail.com
Mon Mar 31 00:08:09 CEST 2014


Trying to build the u-boot master branch today from 0b2da7e209f4110b7c81d578336a10330e4a4404 
natively on arm gives

make: arm-linux-gcc: Command not found
/bin/sh: arm-linux-gcc: command not found
dirname: missing operand
Try 'dirname --help' for more information.
  CHK     include/config/uboot.release
  UPD     include/config/uboot.release
  CHK     include/generated/version_autogenerated.h
/bin/sh: arm-linux-gcc: command not found
/bin/sh: arm-linux-ld.bfd: command not found
  UPD     include/generated/version_autogenerated.h
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  CC      lib/asm-offsets.s
/bin/sh: arm-linux-gcc: command not found
/data/linux/source/u-boot/./Kbuild:34: recipe for target 'lib/asm-offsets.s' failed
make[1]: *** [lib/asm-offsets.s] Error 127
Makefile:997: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2

ways around this appear to be to revert 9b6e2c363f2686d6f7bf61fbe58b7591b71d3e8b
"kbuild: fix CROSS_COMPILE settings in config.mk"

or to start a native build with

make CROSS_COMPILE=

which seems rather counter-intuitive.

I'm no makefile/Kbuild expert, but wouldn't the changes to arch/*/config.mk 
be better done like this

ifneq ($(HOSTARCH),$(ARCH))
        ifeq ($(CROSS_COMPILE),)
                CROSS_COMPILE := arm-linux-
        endif
endif

so that we only set CROSS_COMPILE if we're actually cross compiling instead of 
forcing it when it's intentionally empty because we're building natively ?


More information about the U-Boot mailing list