My linux build machine died some days ago, and then I lost my working build environment.
Luckily I found this helpful post on XDA with a working VM out-of-the-box and then, after the usual repo sync… I found a strange error during kernel build
/bin/sh: -c: line 0: syntax error near unexpected token `(' /home/android/i9515/kernel/samsung/jf/scripts/Makefile.build:307: recipe for target 'scripts/mod/empty.o' failed
Changing the /bin/sh from /bin/dash to /bin/bash the error changes a little bit and shows some other infos
/bin/sh: -c: line 0: `set -e; echo ' CC scripts/mod/empty.o'; /home/android/i9515/kernel/samsung/jf/scripts/gcc-wrapper.py /home/android/i9515/prebuilts/misc/linux-x86/ccache/ccache /home/android/i9515/prebuilts/gcc/linux-x86/arm/arm-eabi-4.9/bin/arm-eabi-gcc -Wp,-MD,scripts/mod/.empty.o.d -nostdinc -isystem ccache: FATAL: /home/android/i9515/prebuilts/gcc/linux-x86/arm/arm-eabi-4.9/bin/arm-eabi-gcc: execv returned (No such file or directory) [...]
So…this is simple an error with my cross compiler configuration. Google team changes the compiler name from arm-eabi to arm-linux-androideabi, and so it’s very simple to fix.
This is the diff for the “BoardConfigCommon.mk” file
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 872bdc9..fe64f87 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -43,8 +43,8 @@ BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02000000 BOARD_KERNEL_PAGESIZE := 2048 TARGET_KERNEL_CONFIG := cyanogen_jfve_defconfig TARGET_KERNEL_SOURCE := kernel/samsung/jf -KERNEL_TOOLCHAIN := $(ANDROID_BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/arm/arm-eabi-4.9/bin -KERNEL_TOOLCHAIN_PREFIX := arm-eabi- +KERNEL_TOOLCHAIN := $(ANDROID_BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/arm/arm-linux-androideabi-4.9/bin +KERNEL_TOOLCHAIN_PREFIX := arm-linux-androideabi-