Error while trying to compile android kernel code?

rogerstone picture rogerstone · Jul 12, 2011 · Viewed 8.9k times · Source

I have been following this link Android kernel compile and test with Android Emulator to compile the android source code.

But while trying to compile the source code using

make ARCH=arm CROSS_COMPILE=/home/lares/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-

I am getting this error.

lares@lares-Inspiron-1545:~/android_kernel$ make ARCH=arm CROSS_COMPILE=/home/lares/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
    make: execvp: /home/lares/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc: Permission denied
    scripts/kconfig/conf -s arch/arm/Kconfig
    make[2]: execvp: scripts/kconfig/conf: Permission denied
    make[2]: *** [silentoldconfig] Error 127
    make[1]: *** [silentoldconfig] Error 2
      CHK     include/linux/version.h
    make[1]: `include/asm-arm/mach-types.h' is up to date.
    make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.

After fixing this by allocating permissions to appropriate directories i am getting this.

lares@lares-Inspiron-1545:~/android_kernel$ make ARCH=arm  CROSS_COMPILE=/home/lares/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
    scripts/kconfig/conf -s arch/arm/Kconfig
      CHK     include/linux/version.h
    make[1]: `include/asm-arm/mach-types.h' is up to date.
      CHK     include/linux/utsrelease.h
      UPD     include/linux/utsrelease.h
      SYMLINK include/asm -> include/asm-arm
      CC      kernel/bounds.s
    arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
    make[1]: *** [kernel/bounds.s] Error 1
    make: *** [prepare0] Error 2

Can someone please help me out here?

Answer

wallyk picture wallyk · Jul 12, 2011

The permission for some (or all of) the path to /home/lares/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc is not set for read plus execute.

If you have root access, check each path component and adjust appropriately. Otherwise, get your sysadmin to fix it.

With that as the initial problem, the odds are rather high that there are other permission issues with the rest of the cross development tools, including the header files and libraries.