搜索
bottom↓
回复: 18

arm-linux-gcc 如何更新gcc版本

[复制链接]

出0入0汤圆

发表于 2010-10-18 19:04:08 | 显示全部楼层 |阅读模式
我的交叉编译环静是用的arm-linux-gcc包安装的.现在想编译linux-2.6.14.1内核,结果出现了错误,网上说是gcc版本问题.我用 configure make make install安装完 gcc-
3.4.5后 ,用 gcc-v命令查看gcc版本已经是 3.4.5可是用 arm-linux-gcc -v查看 gcc版本还是4.3.2.

请问高手们,我是不还要链接一下.具体步骤是什么 .谢谢各位!!!

我出现的错误是,是不是应该把gcc版本降到 3.4.5
arch/arm/mm/alignment.c: In function 'proc_alignment_write':
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
make[1]: *** [arch/arm/mm/alignment.o] Error 1
make: *** [arch/arm/mm] Error 2

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-10-18 20:05:18 | 显示全部楼层
怎么没人帮忙说一下啊,高手们帮帮小弟吧

出0入0汤圆

发表于 2010-10-18 20:49:33 | 显示全部楼层
没卸载原来的啊?




为什么不用系统的包管理器?
apt-get

出0入0汤圆

发表于 2010-10-18 21:14:12 | 显示全部楼层
修改环境变量就可以了的

出0入0汤圆

 楼主| 发表于 2010-10-18 21:30:31 | 显示全部楼层
回复【1楼】j491424570
-----------------------------------------------------------------------

怎么卸载原来的?新立得里面没有gcc-3.4.5,所以我就自己装了。

sudo apt-get install gcc-3.4.5我试过了,名字好像拼的不对找不到资源

出0入0汤圆

 楼主| 发表于 2010-10-18 21:31:05 | 显示全部楼层
回复【2楼】ssaweee
-----------------------------------------------------------------------

怎么修改环境变量啊?二楼给我具体说一下好吗?

出0入0汤圆

 楼主| 发表于 2010-10-18 21:35:25 | 显示全部楼层
回复【2楼】ssaweee
-----------------------------------------------------------------------

怎么卸载原来的?新立得里面没有gcc-3.4.5,所以我就自己装了。

sudo apt-get install gcc-3.4.5我试过了,名字好像拼的不对找不到资源

出0入0汤圆

 楼主| 发表于 2010-10-18 21:35:44 | 显示全部楼层
回复【3楼】tyblly
-----------------------------------------------------------------------

怎么修改环境变量啊?二楼给我具体说一下好吗?

出0入0汤圆

发表于 2010-10-19 11:08:32 | 显示全部楼层
你是要交叉编译吧,4.3.2是arm-linux-gcc的版本号;gcc3.4.5是编译X86平台的,暂时跟交叉编译无关。可能是你的交叉编译器版本太高,因为内核版本对应不同版本arm-linux-gcc,内核太老、编译器太新不行,你换3.4.5的交叉编译器试试吧

出0入0汤圆

 楼主| 发表于 2010-10-19 11:27:44 | 显示全部楼层
回复【8楼】erbaor
-----------------------------------------------------------------------

我是在换gcc-3.4.5,现在问题是gcc-3.4.5已经安装成功了,用gcc -v显示版本就是3.4.5的。
但arm-linux-gcc -v中显示arm-linux-gcc中使用的还是原来的gcc-4.3.2。
arm-linux-gcc中就没有用我新装的gcc-3.4.5

出0入0汤圆

发表于 2010-10-19 12:41:25 | 显示全部楼层
回复【9楼】j491424570
-----------------------------------------------------------------------

你的arm-linux-gcc版本是4.3.2吧?

出0入0汤圆

 楼主| 发表于 2010-10-19 14:21:15 | 显示全部楼层
回复【10楼】erbaor
-----------------------------------------------------------------------
是啊,arm-linux-gcc默认的是gcc-4.3.2。我现在虽然新装了gcc-3.4.5。但arm-linux-gcc还是使用原来的gcc-4.3.2

我该怎么设置一下才能让arm-linux-gcc使用我新装的gcc-3.4.5

出0入0汤圆

发表于 2010-10-19 14:29:29 | 显示全部楼层
晕 我听不懂了。arm-linux-gcc4.3.2跟gcc-3.4.5不矛盾啊。前者是你的交叉编译器,用于编译ARM平台上的程序;后者是你的系统的编译工具,用于编译X86的程序。哪个平台用哪个工具,一一对应的啊。我意思是你把arm-linux-gcc4.3.2扔了,换成arm-linux-gcc3.4.5,跟gcc-3.4.5没关系。

出0入0汤圆

发表于 2010-10-19 14:41:01 | 显示全部楼层
回复【楼主位】j491424570
我的交叉编译环静是用的arm-linux-gcc包安装的.现在想编译linux-2.6.14.1内核,结果出现了错误,网上说是gcc版本问题.我用 configure make make install安装完 gcc-
3.4.5后 ,用 gcc-v命令查看gcc版本已经是 3.4.5可是用 arm-linux-gcc -v查看 gcc版本还是4.3.2.
请问高手们,我是不还要链接一下.具体步骤是什么 .谢谢各位!!!
我出现的错误是,是不是应该把gcc版本降到 3.4.5
arch/arm/mm/alignment.c: in function 'proc_alignment_write':
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/......
-----------------------------------------------------------------------

1、你的标题是错误的,你在自己不知道错误原因是什么的情况下,贸然推定是gcc版本问题,使得楼下多位受到误导
2、configure 是什么?linux-2.6.14.1是官方的吗?你整个步骤是怎样的?你都没有描述

出0入0汤圆

 楼主| 发表于 2010-10-19 14:59:53 | 显示全部楼层
回复【13楼】Cliff
-----------------------------------------------------------------------
linux-2.6.14.1是从这个网站下载的 http://ftp.kernel.org/pub/linux/kernel/v2.6/
应该算官方吧?
我说的configure是指我重新安装了gcc-3.4.5,但是查看arm-linux-gcc版本看到里面使用的还是gcc-4.3.2

出0入0汤圆

发表于 2010-10-19 15:24:46 | 显示全部楼层
那你内核准备编译ARM内核咯?
首先内核要配置啊,我还以为你说的configure是配置内核呢?
然后,make的时候,加上 CROSS_COMPILE=arm-linux-
最后,如果有问题,可以 make 时候加上参数 V=1 就会输出详细的编译信息

出0入0汤圆

 楼主| 发表于 2010-10-19 17:11:32 | 显示全部楼层
我在编译内核,现在在make zImage过程中出问题了,问题应该是gcc版本太高了。于是我就安装了低版本到gcc-3.4.5。gcc-3.4.5安装好了!但交叉编译环境还在使用那个高版本的gcc而没有用我新安装的gcc-3.4.5。怎么才能改变交叉编译环境使用的gcc版本

出0入0汤圆

发表于 2010-10-20 10:17:14 | 显示全部楼层
回复【16楼】j491424570
我在编译内核,现在在make zimage过程中出问题了,问题应该是gcc版本太高了。于是我就安装了低版本到gcc-3.4.5。gcc-3.4.5安装好了!但交叉编译环境还在使用那个高版本的gcc而没有用我新安装的gcc-3.4.5。怎么才能改变交叉编译环境使用的gcc版本
-----------------------------------------------------------------------

你既没有描述你的步骤,也没参考我的步骤
建议你从 tar xjvf linux-2.6.xx.tar.bz2 开始的命令,都记录下来,这样才能说你哪步错了

出0入0汤圆

发表于 2011-5-16 09:31:44 | 显示全部楼层
回复【16楼】j491424570
-----------------------------------------------------------------------

楼主你还没搞清楚。在UNIX中都是高版本兼容低版本的。你用gcc -v命令查看的是你的宿主机使用的GCC的版本,而用arm-linux-gcc -v查看的是交叉编译环境使用的gcc的版本,也就是在宿主机的环境下编译内核使之能适用于你的ARM平台。正常配置情况应该是gcc版本应该高于arm-linux-gcc版本,否则编译通不过。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 08:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表