1. 程式人生 > >編譯出現 error: unrecognized command line option "-fconserve-stack"

編譯出現 error: unrecognized command line option "-fconserve-stack"

make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      drivers/gpu/pvr/osfunc.o
cc1: error: unrecognized command line option "-fconserve-stack"
make[3]: *** [drivers/gpu/pvr/osfunc.o] Error 1
make[2]: *** [drivers/gpu/pvr] Error 2

在編譯三星開發板的時候出現上面的錯誤。一直很困惑。
按照友善之臂的說明書。我安裝的是arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz,

cd /tmp

tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /

注意:C後面有個空格,並且C是大寫的,它是英文單詞“Change”的第一個字母,在此
是改變目錄的意思。
執行該命令,將把arm-linux-gcc安裝到/opt/FriendlyARM/toolschain/4.5.1目錄。

也在 bashrc下面新增環境變量了
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
重新登入系統(不必重啟機器,開始->logout 即可),使以上設定生效,在命令列輸入
arm-linux-gcc –v,會出現如下資訊,這說明交叉編譯環境已經成功安裝。
這裡寫圖片描述


但是在我終端下面一直顯示
這裡寫圖片描述
版本一直是 4.3.2 而不是我們4.5.1.
每次編譯都出現上面的錯誤
在終端命令:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin:/opt/arm-2010q1/bin:/opt/gnutools/arc2.3-p2/elf32-4.2.1/bin:/opt/gnutools/arc2.3-p2/uclibc-4.2.1/bin:/opt/FriendlyARM/toolschain/4.5.1/bin:/opt/FriendlyARM/toolschain/4.5
.1/bin:/opt/arm-2010q1/bin:/opt/gnutools/arc2.3-p2/elf32-4.2.1/bin:/opt/gnutools/arc2.3-p2/uclibc-4.2.1/bin

發現 /usr/local/arm/4.3.2/bin這個命令會掩蓋我們 4.5.1 工具鏈起作用。
兩種方法可以解決
1.找到這個/usr/local/arm/4.3.2/bin 這個環境變數新增位置、我的電腦是
/etc/bash.bashrc
刪除 /usr/local/arm/4.3.2/bin ,然後 source /etc/bash.bashrc
檢視echo $PATH是否還有這個環境變數
有的話繼續刪除
2.指定編譯核心的CONFIG_CROSS_COMPILE=”arm-linux-“為絕對路徑
CONFIG_CROSS_COMPILE=”/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-“