These critical programs are missing or too old 问题

问题原因是使用crosstool0.43生成工具链 无法识别binutils的2.20以上版本

解决方法有两种

方法(1)修改glibc文件夹中的configure文件(通过find /opt/crosstool -name configure 命令查找)

case $ac_prog_version in
    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
    2.1[3-9]*)                      《--------------------------------------------3920行
       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;

 

 case $ac_prog_version in
    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
    2.[1-2][0-9]*)                  《--------------------------------------------3920行
       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;

 


还有3981行也有这样的代码。。

 

方法(2)重新安装低版本binutils

www.gnu.org的网站上下binutils的2.18版本解压源码包

cd binutils-2.18

./configure  --prefix=/tmp/binutils  --disable-nls  (-prefix后面的是生成可执行文件存放的位置可以自己定义)

make all

make install

编译成功后在/tmp/binutils/bin/中就生成了ld as程序的可执行文件

重新链接/usr/bin/ld 于/usr/bin/as文件

sudo rm /usr/bin/ld  /usr/bin/as

sudo ln –s /tmp/binutils/bin/ld /usr/bin/ld

sudo ln –s /tmp/binutils/bin/as /usr/bin/as

然后可运行ld –v 和as –v 查看版本是否为2.18

然后再运行crosstoll-0.43目录下的demo-arm-softfloat.sh即可成功建立交叉编译环境了。

 

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2010-06/26908.htm

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
“make”、“bison”、“compiler”是常用于编程开发的软件程序,其中“make”是GNU自由软件工具中的一个构建自动化工具,它根据Makefile文件中的规则来自动生成目标文件;“bison”是一种语法解析器生成器,能够根据用户提供的语法描述文件自动生成相应的解析器;而“compiler”则是一种将高级语言代码转换为机器码的程序。 当系统在编译或开发过程中提示“these critical programs are missing or too old: make bison compiler”时,意味着当前系统中缺少或版本过旧的这三个关键程序之一。这通常会导致编译无法进行、程序无法正常运行、开发环境无法搭建等问题。 针对这种情况,一般需要使用相应的软件包管理器或手动安装最新版本的程序。例如,在Ubuntu系统中,我们可以使用如下命令安装: sudo apt-get install make sudo apt-get install bison sudo apt-get install build-essential 如果系统提示已有最新版本,则可以尝试使用如下命令更新版本: sudo apt-get update sudo apt-get upgrade 请注意,在安装或更新这三个关键程序时,需要遵循相应的安装步骤和软件包依赖。如果不确定如何安装或更新这些程序,建议查阅相关资料或寻求专业技术支持。 总之,对于程序开发工程师而言,保持系统中关键程序的更新和完整性是非常重要的,只有这样才能保证系统和程序处于一个稳定、高效的开发环境中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值