These critical programs are missing or too old: as ld

解决配置错误:缺少autoconf导致程序无法编译
本文详细介绍了如何解决在配置过程中遇到的由于缺少autoconf或其版本过低导致的编译错误。通过下载并安装最新版本的autoconf,问题得以解决。同时,提供了检查当前autoconf版本的方法,以及配置、编译和安装过程的详细步骤。

configure 时出现以下错误:

checking for autoconf... no
configure: error:
*** These critical programs are missing or too old: as ld
*** Check the INSTALL file for required versions.

问题原因:
缺少autoconf或版本太低

下载安装新版本

# wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
# tar zxvf autoconf-2.68.tar.gz
# cd autoconf-2.68
# ./configure --prefix=/usr/
# make && make install

查看当前版本:

# autoconf -V
autoconf (GNU Autoconf) 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.

注意是大写的V。

<think>好的,用户需要检查并更新系统中的关键程序,比如make和编译器(如gcc)。首先,我得确定用户的操作系统,因为不同的系统有不同的包管理工具。常见的有基于Debian的APT,基于RedHat的YUM/DNF,Arch的Pacman等。用户可能不清楚自己系统的版本,所以需要指导他们如何查看。 然后,检查已安装的软件版本。对于make,可以通过命令行直接查看版本号。同样,gcc --version也能显示编译器版本。需要提醒用户如果这些命令找不到,可能软件未安装。 接下来是更新软件源,确保获取最新的版本信息。比如在Ubuntu中使用sudo apt update。之后,升级现有软件,使用sudo apt upgrade或者sudo apt full-upgrade来处理依赖变化。对于特定软件如gcc,可能需要指定包名,或者使用元包来安装最新版本。 如果软件未安装,需要指导用户使用安装命令,比如sudo apt install build-essential来安装编译工具链。还要考虑不同发行版的差异,例如CentOS使用yum groupinstall "Development Tools"。 最后,验证更新后的版本,并提醒用户定期更新系统。可能还需要处理特殊情况,比如添加第三方仓库来获取最新版本,或者编译源码安装。需要判断用户的技术水平,适当简化步骤,避免复杂操作导致困惑。同时,注意引用中的内容是否相关,但当前引用似乎关于git和配置文件,可能不涉及包管理,所以可能不需要引用。需要确保回答准确,步骤清晰,用户友好。</think>### 检查并更新关键程序(如 make 和编译器)的步骤 #### 1. **检查当前版本** - **make**: ```bash make --version ``` 若返回类似 `GNU Make 4.3` 表示已安装,否则会提示&ldquo;未找到命令”[^1]。 - **编译器(如 gcc/g++)**: ```bash gcc --version g++ --version ``` #### 2. **更新软件源** - **Debian/Ubuntu (APT)**: ```bash sudo apt update ``` - **Red Hat/CentOS (YUM/DNF)**: ```bash sudo yum check-update # 旧版 sudo dnf check-update # 新版 ``` - **Arch Linux (Pacman)**: ```bash sudo pacman -Sy ``` #### 3. **升级现有程序** - **Debian/Ubuntu**: ```bash sudo apt upgrade # 普通升级 sudo apt full-upgrade # 处理依赖关系变更 ``` - **Red Hat/CentOS**: ```bash sudo yum update # 旧版 sudo dnf upgrade # 新版 ``` - **Arch Linux**: ```bash sudo pacman -Syu ``` #### 4. **安装缺失的软件** - **安装 make 和编译器套件**: ```bash # Debian/Ubuntu sudo apt install build-essential # Red Hat/CentOS sudo yum groupinstall "Development Tools" # Arch Linux sudo pacman -S base-devel ``` #### 5. **验证更新结果** - 重复步骤 1 检查版本号,例如: $$gcc --version \geq 11.0$$ #### 6. **特殊场景处理** - **手动编译安装最新版**(适用于需要特定版本): ```bash wget https://ftp.gnu.org/gnu/gcc/gcc-13.1.0/gcc-13.1.0.tar.gz tar -xvf gcc-13.1.0.tar.gz cd gcc-13.1.0 ./configure make -j$(nproc) sudo make install ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值