Yocto构建libnotify遇Fetcher错误,URL含多余斜杠求助
解决Yocto构建libnotify时的Fetcher URL错误
问题分析
报错中的URL出现多余斜杠,且配方文件未直接定义SRC_URI,说明该URL是由Yocto的类文件(如gnome相关基础类)自动拼接生成的,拼接逻辑出现了路径格式错误。
修正步骤
1. 定位SRC_URI的实际来源
执行以下命令查看最终生效的SRC_URI及其继承关系:
bitbake libnotify -e | grep SRC_URI
通过输出可以看到SRC_URI是由哪个类(比如gnome.org.bbclass或gnomebase.bbclass)生成的。
2. 临时修复:手动指定正确的SRC_URI
在自己的layer中创建libnotify_0.7.8.bbappend文件(路径对应recipes-gnome/libnotify/libnotify_0.7.8.bbappend),写入正确的URL:
SRC_URI = "https://download.gnome.org/sources/libnotify/0.7/libnotify-0.7.8.tar.xz"
如果允许修改原配方文件,也可以直接在libnotify_0.7.8.bb中添加上述定义。
3. 根治问题:修复URL拼接逻辑
- 检查
meta/classes/gnome.org.bbclass中的URL拼接代码,查看是否因GNOME_MIRROR变量末尾带斜杠,导致与后续路径拼接时出现双斜杠。 - 在自己的layer中覆盖
GNOME_MIRROR变量,确保末尾无斜杠:GNOME_MIRROR = "https://download.gnome.org/sources" - 若为meta-gnome层的版本bug,可尝试升级该层到最新稳定版本。
内容的提问来源于stack exchange,提问作者user156225
相关产品推荐
相关产品推荐

