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

添加BBCLASSEXTEND后构建libProject-native时do_fetch步骤失败求助

BitBake构建libProject-native时do_fetch失败问题解决

问题场景

  • C代码存放于libProject目录,可正常编译为ARM架构版本
  • 在libProject.bb中添加BBCLASSEXTEND = "native",期望同时构建x86_64-linux原生版本
  • 执行bitbake libProject可正常构建ARM版本,但执行bitbake libProject-native时,do_fetch步骤失败,报错如下:

Log data follows:
| DEBUG: Executing shell function do_fetch
| tar: libProject-native: Cannot stat: No such file or directory
| tar: Exiting with failure status due to previous errors
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_fetch (log file is located at /neptune/build/tmp/work/x86_64-linux/libProject-native/1.0-r0/temp/log.do_fetch.10986)

原因分析

这个错误的核心是构建native版本时,fetch逻辑尝试查找名为libProject-native的源码归档/目录,但实际源码目录是libProject,没有对应native变体的专属源码路径,导致tar命令找不到目标文件。

解决方案

  • 修正SRC_URI定义:如果源码是本地目录,确保SRC_URI指向正确的源码目录,避免依赖包名变量导致路径错误。示例:

    SRC_URI = "file://libProject/"
    
  • 显式设置S变量:强制指定源码目录路径,确保native版本也指向正确的源码位置。可在libProject.bb中添加:

    S = "${WORKDIR}/libProject"
    

    若源码放在recipe所在目录的子文件夹,也可以用:

    S = "${THISDIR}/libProject"
    
  • 检查native专属配置:排查是否存在针对native版本的SRC_URI覆盖(比如SRC_URI_append-native),这类配置可能错误修改了fetch路径。

  • 远程源码场景检查:如果使用git等远程源码仓库,确认SRC_URI没有在native版本下被修改为错误的仓库、分支或路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:57:31