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

Ubuntu 20编译Android 12 AOSP衍生源码遇LLVM内部错误求助

解决Ubuntu 20编译Android 12 AOSP时clang++.real执行格式错误

问题分析

你遇到的exec format error是预编译Clang工具无法在当前系统上执行的典型表现,常见原因包括:工具架构与系统不匹配、文件损坏、权限不足或依赖缺失——该问题和交换空间无关,所以增大交换空间无法解决。

解决方案

按以下步骤逐一排查:

  1. 验证Clang工具架构兼容性
    执行命令检查工具的架构:

    file prebuilts/clang/host/linux-x86/clang-r416183b1/bin/clang++.real
    

    正常输出应包含x86-64字样,如果显示其他架构(如aarch64),说明同步源码时拉取了错误的预编译包,重新同步对应模块:

    repo sync -c prebuilts/clang/host/linux-x86
    
  2. 修复工具可执行权限
    检查工具是否有执行权限:

    ls -l prebuilts/clang/host/linux-x86/clang-r416183b1/bin/clang++.real
    

    如果输出中没有x权限位,执行以下命令添加权限:

    chmod +x prebuilts/clang/host/linux-x86/clang-r416183b1/bin/*
    
  3. 清理编译环境并重新构建
    旧的编译缓存可能导致冲突,清理后重新初始化:

    make clean && rm -rf out/
    source build/envsetup.sh
    lunch <你的编译目标,比如aosp_x86_64-eng>
    make -j$(nproc)
    
  4. 补全系统编译依赖
    Ubuntu 20编译Android 12需要完整的依赖包,执行以下命令安装:

    sudo apt update && sudo apt install -y libncurses5-dev libncursesw5-dev zlib1g-dev libssl-dev flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
    

补充说明

如果以上步骤都无效,可能是源码同步过程中文件损坏,建议删除整个预编译Clang目录后重新同步:

rm -rf prebuilts/clang/host/linux-x86/clang-r416183b1
repo sync -c prebuilts/clang/host/linux-x86/clang-r416183b1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:35:55