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了。
相关推荐
These critical programs are missing or too old: as GNU ld bison compiler
如果安装glibc时出现以下错误: 说明glibc版本有问题,不是太高就是太低,更换glibc版本即可。
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
These critical programs are missing or too old
这里说的是:make、bison、compiler 这个三版本太老,我遇到的是compiler版本太老。
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..
Centos7升级make和gcc版本到最新
升级make和gcc版本
LINUX These critical programs are missing or too old: bison compiler python
低版本升级为高版本过程,升级必备
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的预处理机制,判断型号。
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...
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到
linux源码编译安装glic2.18的坑【make4.X已经最新还报错】
linux源码编译安装glic2.18的坑【make4.X已经最新还报错】
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
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...
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
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就好了~
关于编译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时没有
【work around】可执行文件(编译时)glibc版本小于运行环境(运行时)glibc版本
可执行文件中GLIBC版本大于运行环境的work around。
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
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...
9655


&spm=1001.2101.3001.11974&articleId=5940582&d=1&t=3&u=ae355c6ba467459184fc6ded48927397)

被折叠的 条评论
为什么被折叠?



