Invalid configuration ‘aarch64-linux-gnu‘: machine ‘aarch64‘ not recognized
目录
2、更新config.sub 和 config.guess 文件
3、手动指定 config.sub 和 config.guess 文件路径
问题描述
root@ml:/mincom/ncurses-5.7/mybuild# ../configure --host=aarch64-linux-gnu --prefix=/mincom/minicomlibAarch64/
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for egrep... grep -E
Configuring NCURSES 5.7 ABI 5 (Tue Apr 22 11:06:28 CST 2025)
checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `aarch64-linux-gnu': machine `aarch64' not recognized
configure: error: /bin/sh ../config.sub aarch64-linux-gnu failed 这个问题怎么解决?
说明: 给出的错误信息 Invalid configuration 'aarch64-linux-gnu': machine 'aarch64' not recognized 可知,configure 脚本无法识别 aarch64-linux-gnu 这个目标平台。下面为你介绍可能的解决办法:
注意:以下有4个可能的原因,导致以上问题可能只是以下原因中的某一个,根据自身情况来运行需要执行的命令。在交叉编译工具安装正确的情况下,大概率是第2个原因导致的(本人经常遇见)。
1、检查交叉编译工具是否安装正确
要保证系统中已经正确安装了 aarch64-linux-gnu 交叉编译工具链,并且相关的二进制文件路径已经添加到系统的 PATH 环境变量中。
1.1 安装交叉编译工具链
在 Ubuntu 系统中,可使用以下命令安装:
sudo apt-get install g++-aarch64-linux-gnu
1.2 检查工具链是否可用
执行以下命令,查看是否能正常输出版本信息:
aarch64-linux-gnu-gcc --version
若无法找到该命令,就需要将工具链的 bin 目录添加到 PATH 环境变量中。例如,工具链安装在 /usr/bin 目录下(把/usr/bin 替换为工具链安装的目录),可执行以下命令:
export PATH=$PATH:/usr/bin
2、更新config.sub 和 config.guess 文件
configure 脚本依赖 config.sub 和 config.guess 文件来识别目标平台。有时,这些文件可能过旧,无法识别新的平台。你可以从 GNU 官方网站下载最新的 config.sub 和 config.guess 文件,然后替换 ncurses-5.7 源码目录中的同名文件。
2.1 下载最新文件
wget -O ./config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' wget -O ./config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
2.2 替换文件
将下载的 config.sub 和 config.guess 文件复制到 ncurses-5.7 源码目录中:
cp ../config.sub ../config.guess .
3、手动指定 config.sub 和 config.guess 文件路径
在运行 configure 脚本时,手动指定 config.sub 和 config.guess 文件的路径。
CONFIG_SUB=../config.sub CONFIG_GUESS=../config.guess ../configure --host=aarch64-linux-gnu --prefix=/mincom/minicomlibAarch64/
4、检查系统环境
确保系统的 autogen、automake、autoconf 等工具是最新版本。可以使用以下命令进行更新:
sudo apt-get update sudo apt-get install autogen automake autoconf
通过以上步骤,你应该能够解决 configure 脚本无法识别 aarch64-linux-gnu 目标平台的问题。
更多推荐
所有评论(0)