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

Ubuntu20.04编译Alexa Auto SDK报gnulib fseeko.c错误如何解决

问题原因

该报错是Ubuntu 20.04自带的glibc版本(≥2.29)与Alexa Auto SDK 3.2依赖的m4 1.4.18内置的旧版gnulib不兼容导致,旧版gnulib未适配高版本glibc的stdio实现,因此触发了手动移植的报错。

解决步骤
  • 第一步:先清理之前的构建缓存,避免脏文件干扰后续构建
    rm -rf ~/git/alexa-auto-sdk/builder/build
    
  • 第二步:修改m4-native的Yocto构建配方,添加兼容性编译参数
    1. 先备份原有配方文件防止出错
      cp /home/hannes/oe-core/meta/recipes-devtools/m4/m4-native_1.4.18.bb /home/hannes/oe-core/meta/recipes-devtools/m4/m4-native_1.4.18.bb.bak
      
    2. 用文本编辑器打开/home/hannes/oe-core/meta/recipes-devtools/m4/m4-native_1.4.18.bb,在文件末尾追加以下内容:
      do_configure_prepend() {
          # 跳过gnulib的兼容性检测,直接使用系统glibc已实现的函数
          echo "gl_cv_func_fflush_stdin=yes" >> ${S}/config.cache
          echo "ac_cv_func_fseeko=yes" >> ${S}/config.cache
          export CFLAGS="$CFLAGS -D_GNU_SOURCE"
      }
      
  • 第三步:重新执行原编译命令即可
    ./builder/build.sh android -t androidx86-64 --android-api 28
    
补充说明

如果后续构建过程中碰到其他依赖包出现同类gnulib兼容性报错,都可以参照该思路给对应包的构建配方添加对应的预定义宏跳过兼容性检测即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:27:03