You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RISC-V评估板原生工具链构建报错:riscv64架构未识别

解决RISC-V原生GCC编译时riscv64架构不识别的问题

错误原因

GCC 7.5.0版本自带的config.sub/config.guess脚本版本过旧,不支持riscv64-linux-gnu架构识别——该版本发布时RISC-V的官方支持尚未完全纳入GNU配置工具链。

解决方案

方案1:更新配置脚本到支持RISC-V的版本

  1. 获取最新的config.sub和config.guess文件(可从新版本GCC仓库或GNU config项目提取)
  2. 替换GCC源码目录及isl子目录中的旧文件:
    # 替换主目录的配置脚本
    cp /path/to/new/config.sub ./gcc/config.sub
    cp /path/to/new/config.guess ./gcc/config.guess
    # 替换isl子目录的配置脚本
    cp /path/to/new/config.sub ./gcc/isl/config.sub
    cp /path/to/new/config.guess ./gcc/isl/config.guess
    
  3. 清理之前的编译目录objdir,重新执行configure和make

方案2:改用对RISC-V支持完善的GCC版本

GCC 8及以上版本已内置完整的RISC-V架构支持,建议切换到GCC 8.5.0:

  1. 切换GCC源码分支:
    git checkout releases/gcc-8.5.0
    
  2. 重新下载依赖:
    ./contrib/download_prerequisites
    
  3. 清理旧编译目录,重新执行原configure命令

方案3:确保交叉编译环境配置正确

在configure前设置环境变量,让构建系统能正确识别RISC-V交叉工具链和sysroot:

export SYSROOT=path/to/evaluation_board_bsp/sysroot
export CC="riscv64-linux-gnu-gcc --sysroot=$SYSROOT"
export CXX="riscv64-linux-gnu-g++ --sysroot=$SYSROOT"

之后再运行configure命令,确保--with-build-sysroot参数值与$SYSROOT一致

额外注意事项

  • 你的configure参数设置正确:--build=x86_64-pc-linux(主机架构)、--host=riscv64-linux-gnu(目标运行架构)、--target=riscv64-linux-gnu(原生编译,与host一致)
  • 确保Ubuntu 18.04环境已安装所有依赖:
    apt-get install build-essential flex bison libgmp-dev libmpfr-dev libmpc-dev
    

内容的提问来源于stack exchange,提问作者SOORYADEV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 13:42:41