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

Ubuntu 20.04下编译Android Alexa Auto SDK 3.2.1出现rpm-native编译错误

Ubuntu 20.04 编译 Alexa Auto SDK 3.2.1 rpm-native 编译失败解决方案

报错说明

该报错是AACS 3.2.1内置的旧版Yocto编译体系和Ubuntu 20.04系统原生依赖不兼容导致,完整报错如下:

ERROR: rpm-native-1_4.13.90+gitAUTOINC+a8e51b3bb0-r0 do_compile: oe_runmake failed
ERROR: rpm-native-1_4.13.90+gitAUTOINC+a8e51b3bb0-r0 do_compile: Function failed: do_compile

可行解决方案

方案1:修改rpm-native源码适配OpenSSL 1.1.x(最轻量化,无需改动系统环境)

  • 进入rpm-native的源码目录,默认路径为:AACS源码根目录/build/tmp/work/x86_64-linux/rpm-native/4.13.90+gitAUTOINC+a8e51b3bb0-r0/git
  • 编辑lib/rpmio/digest_openssl.c文件:
    • 将所有EVP_MD_CTX_create()调用替换为EVP_MD_CTX_new()
    • 将所有EVP_MD_CTX_destroy()调用替换为EVP_MD_CTX_free()
  • 清理rpm-native的编译缓存:rm -rf AACS源码根目录/build/tmp/work/x86_64-linux/rpm-native/
  • 重新执行编译命令:./build.sh android -t androidarm

方案2:切换系统gcc版本到7.x(通用兼容老版Yocto)

AACS 3.2.1官方编译环境为Ubuntu 18.04,对应默认gcc版本为7.x,切换后可解决绝大多数兼容性问题:

  • 安装gcc 7版本包:
sudo apt install gcc-7 g++-7 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9
  • 执行版本切换命令,在弹出的列表中选择gcc-7对应的编号回车即可:sudo update-alternatives --config gcc
  • 清理AACS全量编译缓存后重新执行编译即可

方案3:临时屏蔽废弃API报错(临时编译快速验证用)

  • 执行编译前先输入环境变量配置命令:
export CFLAGS="-Wno-error=deprecated-declarations"
export CXXFLAGS="-Wno-error=deprecated-declarations"
  • 直接执行编译命令即可,该方法会跳过所有API废弃的报错转为警告,适合临时快速验证编译场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:21:02