编译出现 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,会出现如下信息,这说明交叉编译环境已经成功安装。
编译出现 error: unrecognized command line option "-fconserve-stack"_第1张图片
但是在我终端下面一直显示
编译出现 error: unrecognized command line option "-fconserve-stack"_第2张图片
版本一直是 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-“

你可能感兴趣的:(linux-驱动)