1. 程式人生 > >飛凌嵌入式(Forlinx)TE/OK6410核心編譯:“make: arm-none-linux-gnueabi-gcc:命令未找到”

飛凌嵌入式(Forlinx)TE/OK6410核心編譯:“make: arm-none-linux-gnueabi-gcc:命令未找到”

Ubuntu10.04下編譯飛凌嵌入式(Forlinx)TE/OK6410開發板提供的核心2.6.36

本以為按照使用者手冊的操作,不會有任何問題的,可能是因為核心是在Unbuntu10.10下測試通過的吧,在Ubuntu10.04下反而出了問題。

已經執行export PATH=/usr/local/arm/arm-none-linux-gnueabi/bin:$PATH,但還是出現如下問題

make: arm-none-linux-gnueabi-gcc:命令未找到
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
scripts/basic/docproc.c: In function ‘docsect’:
scripts/basic/docproc.c:336: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result
  HOSTCC  scripts/basic/hash
make[1]: “include/generated/mach-types.h”是最新的。
  CC      kernel/bounds.s
/bin/sh: arm-none-linux-gnueabi-gcc: not found
make[1]: *** [kernel/bounds.s] 錯誤 127
make: *** [prepare0] 錯誤 2

解決方案:

修改kernel資料夾下的Makefile檔案
關於交叉編譯的設定,在第192行附近
#ARCH?= $(SUBARCH)
ARCH?= arm
CROSS_COMPILE?= $(CONFIG_CROSS_COMPILE:"%"=%)
修改為(修改了CROSS_COMPILE項,為交叉編譯器的路徑)
#ARCH?= $(SUBARCH)
ARCH?= arm
# CROSS_COMPILE?= $(CONFIG_CROSS_COMPILE:"%"=%)
CROSS_COMPILE ?= /usr/local/arm/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-

但是在Ubuntu10.10下並不需要修改Makefile檔案,原因留待明白後再補充吧。