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

为瑞萨板编译Yocto时glibc库do_fetch阶段获取失败求助

解决Yocto编译glibc获取失败(404错误)的方案

1. 检查并更新glibc配方的源地址

Yocto中glibc的配方通常位于meta/recipes-core/glibc/目录下,找到对应版本的.bb或.bbappend文件:

  • 打开配方文件,定位SRC_URI字段,确认其中的URL是否已失效(比如官方主镜像移除了旧版本资源)
  • 将URL替换为GNU归档服务器或可靠镜像站点的地址,例如https://ftp.gnu.org/gnu/glibc/
  • 示例修改:
    SRC_URI = "https://ftp.gnu.org/gnu/glibc/glibc-${PV}.tar.xz \
               file://custom-patch.patch \
              "
    

2. 验证glibc与Yocto版本兼容性

  • 确认当前Yocto分支(如kirkstone、honister)和glibc版本的匹配性,部分旧Yocto分支依赖的glibc旧版本可能已从主镜像下架
  • 若版本不兼容,要么升级Yocto分支,要么修改配方的PV字段指定仍可获取的兼容版本,并同步更新SRC_URI中的对应资源地址

3. 手动下载资源到本地下载目录

  • 从GNU归档站或可信镜像手动下载对应版本的glibc压缩包(如glibc-2.36.tar.xz)
  • 将文件放入Yocto项目根目录的downloads文件夹
  • 重新执行编译命令,Yocto会优先使用本地已下载的资源,跳过网络请求

4. 修正镜像源配置

  • 检查conf/local.conf中的SOURCE_MIRROR_URL或PREMIRRORS配置,确保其正确覆盖了glibc的源地址,避免仅覆盖部分包的源导致glibc仍走失效地址
  • 示例PREMIRRORS配置:
    PREMIRRORS_prepend = "\
    gnu://.* https://ftp.gnu.org/gnu/ \
    "
    

5. 清理缓存后重新编译

  • 执行以下命令清理旧缓存和失效的下载记录:
    bitbake -c cleansstate glibc
    rm -rf tmp/deploy/glibc*
    rm downloads/glibc-*.tar.xz.done
    
  • 重新执行编译命令(根据你的镜像名称调整):bitbake core-image-qt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:22:03