降​低​g​c​c​的​版​本

在使用Ubuntu8.10时,遇到编译交叉工具链失败的问题,原因是GCC版本过新。文章指导如何通过降低GCC版本至3.4,解决这一问题,并提供了详细的步骤和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



ubuntu 下降低GCC版本来编译  
万万想不到,版本太新也是错啊,下面转载一篇降低GCC版本的文章 
==========  
以前用ubuntu8.04的时候,用crosstool编译arm开发环境非常顺利,除了出点小状况。
而装ubuntu8.10以后,发现编译交叉工具链要出错:   


checking for a BSD-compatible install... /usr/bin/install -c 
checking whether ln -s works... yes 
checking for pwd... /bin/pwd 
checking for arm-linux-gcc... gcc 
checking version of gcc... 4.2.3, bad 
checking for gnumake... no 
checking for gmake... no 
checking for make... make  
checking version of make... 3.81, ok 
configure: error:  
*** These critical programs are missing or too old: gcc 
*** Check the INSTALL file for required versions.   


最初以为是gcc不存在。不过想想,哪有可能,gcc可是linux的核心工具包,没有gcc哪成。
google一下,发现不是没有GCC,而是GCC版本太高了。冏~~~~~我记得装FEDORA CORE 10的时候,
也遇上了这个问题。
   
问题出来了,总是要解决吧。看看解决办法吧。简单来说,就是下载低版本的GCC,然后重新创建gcc的软链接。
(其实,GCC也就是一个符号链接,"cd /usr/bin"下,"ls -l | grep gcc"一下就可以看到了)。 
  
假设现在我们的GCC版本为4.3,要把GCC降低到GCC3.4。   
首先,你需要去你的usr/bin/下去看看有没有gcc-3.4这样文件,如果没有的话,就安装一下吧:
   
apt-get install gcc-3.4   


之后,你需要把usr/bin/目录下的gcc文件删除掉或者避免意外发生,可以把它命名为gcc.bak。
这里需要说明的如果你不删除的话,你会发现你使用ln -s /usr/bin/gcc-3.4 /usr/bin/gcc总是不起作用。
实际上你在用gcc -v查看当前版本时,就一直使用的usr/bin/gcc。而ln -s /usr/bin/gcc-3.4 /usr/bin/gcc的目的就是为了生成3.4版本的gcc。
一句话,你只需要执行:   


rm /usr/bin/gcc  
ln -s /usr/bin/gcc-3.4 /usr/bin/gcc   


然后再gcc -v就可以看到当前版本就是3.4了。如果你想再使用当前的4.2.3的话,就使用同样的方法:

rm /usr/bin/gcc  
ln -s /usr/bin/gcc-4.2.3 /usr/bin/gcc   
再gcc -v来确定一下版本就知道了。   
如果运行 
ls -la /bin/sh  
看到链接的是 dash ,则请运行以下命令 
sudo dpkg-reconfigure dash  
选择 no 以删除 dash ,编译完成可再运行此命令选择 yes 以重新安装 dash 
此处如果不改好的话,编译时会出现错误.   再试试编译crosstool,看还出现问题不?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值