arm-softfloat-linux 工具制作 as ld too old 解决方法(转载)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

These critical programs are missing or too old: as ld
错误分析:
通过字面分析可知,重要的程序丢失,或者,版本太老,具体的程序名字为:as ld,很多朋友遇到这儿的时候会很郁闷,版本太老???我们的9.10已经是比较新的系统了,怎么可能还老呢,crosstool工具到现在还是 0.43,其最后更新时间不超过2008年,这是怎么回事呢?
我们先来看下as ld的版本:
sudo as -v
GNU assembler version 2.20 (i486-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.20
sudo ld -v
GNU ld (GNU Binutils for Ubuntu) 2.20
从上面的信息可知,两个版本都是2.20, 在看下.dat文件里的要求的各版本信息:
BINUTILS_DIR=binutils-2.16.1
GCC_CORE_DIR=gcc-3.3.6
GCC_DIR=gcc-4.1.1
GLIBC_DIR=glibc-2.3.6
LINUX_DIR=linux-2.6.15.4
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
GDB_DIR=gdb-6.5
从上面可知,binutils的版本(as ld 二者都在binutils包里)要求为2.16.1,可见我们的程序版本要高的。

分析下出错的脚本位置:
cd ./build/arm-linux/gcc-3.4.5-glibc-2.3.6/glibc-2.3.6$ (有人可能会问,你怎么知道是在这儿的呢)
方法很简单:     1. 用grep      2. 通过分析脚本信息得出
在第3920行左右:
ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.1[3-9]*)
其大概意思就是,判断当前das程序的版本信息,如果其版本不是2.13~2.19版本之间的版本,就出错。
第3981行,同样的道理:
ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.1[3-9]*)
我们将其改为
ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.2[0-9]*)
然后保存退出,这样的话还有一个问题,all.sh会每次都去解压glibc的包,会将修改的内容覆盖掉掉,因此还要修改all.sh脚本:
在第110行左右,将下面的内容注释掉:
if test "$opt_no_unpack" = ""; then
if test "$opt_builduserland" = "1"; then
# Ah, nobody would want to change this :-)
PTXDIST_DIR=ptxdist-testing-20031113
export PTXDIST_DIR
fi
# Download and patch
if test -d "$BUILD_DIR"; then
# Remove in background
mv $BUILD_DIR $BUILD_DIR.del.$$
rm -rf $BUILD_DIR.del.$$ &
fi
mkdir -p $BUILD_DIR
sh getandpatch.sh
fi
然后在编译:
./demo-arm-softfloat.sh
大概要等1个小时左右时间,就能看到echo Done了。

探秘ArmSoft:一款全方位的ARM设备软件管理平台 探秘ArmSoft:一款全方位的ARM设备软件管理平台 项目简介 ArmSoft是一个专为ARM架构设备设计的开源软件管理平台,它旨在简化你在各种基于ARM处理器的智能设备(如树莓派、OpenWRT路由器等)上的软件安装和更新过程。通过GitCode提供的链接,你可以轻松地访问、下载并参与到这个项目的开发中来。 技术分析 架构与设计 ArmSoft采用了Web UI的形式,利用HTML5、CSS3... 阅读详情

相关推荐

These critical programs are missing or too old: as GNU ld bison compiler

如果安装glibc时出现以下错误: 说明glibc版本有问题,不是太高就是太低,更换glibc版本即可。

走马川行雪的博客 9655

docker-compose1.28.0安装中遇到的问题

在安装完成docker-compose 1.28.0的时候,执行docker-compose -v可能会报缺少glibc2.28,不需要安装python3,这不是python3的问题. 报错信息:Error loading Python lib '/tmp/_MEIluNF4X/libpython3.9.so.1.0': dlopen: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/_MEIluNF4X/libpyth

u012149637的博客 7750

These critical programs are missing or too old

这里说的是:make、bison、compiler 这个三版本太老,我遇到的是compiler版本太老。

0.0雨的博客 1万+

These critical programs are missing or too old: as ld gcc

*** These critical programs are missing or too old: as ld gcc make *** Check the INSTALL file for required versions. In the INSTALL file,it says: * GNU `binutils' 2.13 or later You must use GNU `binutils' (as and ld) to build the GNU C library..

Mr_liu_666的博客 4352

Centos7升级make和gcc版本到最新

升级make和gcc版本

on the way . . . 1万+

LINUX These critical programs are missing or too old: bison compiler python

低版本升级为高版本过程,升级必备

80后大叔爱学习 6591

musl下交叉编译QT5.12.12出现:error “ARM architecture too old

这个是因为glibc和musl这两个c库的区别导致的,libexecinfo这个库在glibc里是包含在c库里面的,而在musl里面没有包含,所以要单独编译一下这个库。3、使用的交叉工具链:lede-sdk-17.01.2-imx6_gcc-5.4.0_musl-1.1.16_eabi.Linux-x86_64.tar.xz;然后把这两个文件放到交叉编译工具链的lib文件夹中,注意:很多工具链判断的是so文件,需要在lib目录下增加软连接;1、这里报错,是qt头文件利用C的预处理机制,判断型号。

luck_li的专栏 1718

These critical programs are missing or too old: as ld

configure 时出现以下错误: checking for autoconf... no configure: error: *** These critical programs are missing or too old: as ld *** Check the INSTALL file for required versi...

weixin_34236869的博客 1096

Ubuntu安装crosstool These critical programs are missing or too old: as ld错误

前提:自带的是gcc-4.4.1无法用crosstool正常编译交叉编译器,所以必须安装gcc-4.1,但是不必卸载4.4.1。方法是:: 1. 先安装gcc-4.1,sudo apt-get gcc-4.1 2. sudo rm /usr/bin/gcc           3.sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc       (建立GCC到

weuro的专栏 2415

linux源码编译安装glic2.18的坑【make4.X已经最新还报错】

linux源码编译安装glic2.18的坑【make4.X已经最新还报错】

xueyumicheng的专栏 1466

Kernel Linker Scripts Analysis (ARM Architecture)

1. arch/arm/kernel/vmlinux.lds的生成: 顶层的vmlinux是由arch/arm/kernel/vmlinux.lds链接生成,顶层Makefile里面定义: 693 vmlinux-lds  := arch/$(SRCARCH)/kernel/vmlinux.lds   arch/arm/kernel/vmlinux.lds是由arch/arm/kernel

edwardlulinux的专栏 1415

arm-linux-gcc armv4,使用arm-linux-gcc4.3.2的2.8libc库libc/armv4t/lib/*.so*

luther@gliethttp:/vobs/initramfs/lib # cp -a /vobs/tools/arm-tools/arm-linux-gcc-4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*.so* .luther@gliethttp:/vobs/initramfs/lib # arm-linux-strip -s *luther@g...

weixin_36417344的博客 258

These critical programs are missing or too old: make compiler

These critical programs are missing or too old: compiler问题环境问题原因解决方案相关链接 问题 *** These critical programs are missing or too old: make compiler *** Check the INSTALL file for required versions. 环境 系统:Centos 7 x86_64 gcc版本:gcc version 4.8.5 20150623 (Red Hat

淡淡的心 3万+

Apps that include an arm64 architecture are required to include an armv7

Apps that include an arm64 architecture are required to include an armv7  遇到上面的报错:首先编译的时候,把真机拔掉就可以了~ 如果还不行的话:Build Active Architecture Only 里面的Release 设置为NO就好了~

宋鹤贤(3G/移动开发) 2279

关于编译glibc-2.9的These critical programs are missing or too old: as ld 错误

          今天下午编译glibc2.9,一直出现These critical programs are missing or too old: as ld 错误,上网查一下,一般是说These critical programs are missing or too old:后面指示的是后面的软件的版本太低或者太高,我看我的版本是太高了,我以前用ubuntu9.04时没有

飞空静渡 3万+

【work around】可执行文件(编译时)glibc版本小于运行环境(运行时)glibc版本

可执行文件中GLIBC版本大于运行环境的work around。

Rys_Ben_Blogs 1321

A few things iOS developers ought to know about the ARM architecture

转自:http://wanderingcoder.net/2010/07/19/ought-arm/ When I wrote my Introduction to NEON on iPhone, I considered some knowledge about the iOS devices’ processors as assumed to be known by th

workhardupc 1501

linux as ld gcc 更新,gcc, as, ld的一些笔记(2)

9.gas汇编工具as(at&t风格)语法说明使用$标识立即数再寄存器前面加上%源操作数在前,目标操作数在后使用$获取变量地址长跳转使用:ljmp $section, $offset一个简单的汇编语言程序框架:.section .data…….section .bss…….section .text.globl _start_start:……范例:#cpuid2.s View the C...

weixin_36413157的博客 581
上一篇: arm linux nfs
bigfeng12
博客等级 码龄16年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值