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

Yocto集成linphone mediastreamer2时fetcher下载失败该如何解决?

问题产生原因
  • BitBake的Git Fetcher存在默认协议转换逻辑:当你在SRC_URI中直接填写HTTPS格式的Git仓库地址时,BitBake会默认将协议替换为git://(Git原生传输协议,端口9418)发起拉取请求。
  • 目前Linphone官方的公开代码仓库已经关闭了Git原生协议的匿名访问权限,仅支持HTTPS协议拉取公开代码,因此BitBake用默认转换后的git://地址请求时就会触发访问拒绝报错,你可以看到报错日志中实际尝试拉取的地址和你手动执行的HTTPS地址不一致。
解决方法

修改你的mediastreamer2的bb文件中SRC_URI配置项,明确指定Git拉取使用HTTPS协议,同时补充分支参数,修改后的完整配置如下:

require mediastreamer2.inc

inherit gitpkgv

PR = "${INC_PR}.0"

SRCREV = "eb2af04948a1a0e0f3384f0e46c3513b0aa51e95"
# 修正SRC_URI配置,明确指定git仓库类型、https协议、对应分支
SRC_URI = "git://gitlab.linphone.org/BC/public/mediastreamer2.git;protocol=https;branch=master"
PV = "git_${SRCREV}"
PKGV = "${GITPKGVTAG}"

LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803"

修改完成后执行以下命令清理之前的失败缓存,重新构建即可:

bitbake mediastreamer2 -c cleanall
bitbake mediastreamer2

如果修改后仍然拉取失败,可以排查以下两项:

  • 检查构建环境的Git全局配置是否设置了无效代理,或者Yocto配置中开启了BB_NO_NETWORK参数禁止网络访问
  • 确认你填写的SRCREV对应commit确实存在于官方mediastreamer2仓库的master分支中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:24:03