首页
›
启动链与BSP系统构建
›
007-Yocto配方
›
《Yocto BitBake依赖冲突诊断与修复》
VIP20
本课程属于:007-Yocto配方
启动链与BSP系统构建 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Yocto BitBake依赖冲突诊断与修复
📚 共计 30 章节
01
依赖冲突的本质
BitBake依赖解析机制,RDEPENDS与DEPENDS区别,运行时与构建时冲突场景
BitBake
RDEPENDS
02
冲突诊断工具
bitbake -g 依赖树,dot文件分析,-s 查看版本,-e 展开环境变量
诊断
dot
03
版本锁定策略
PREFERRED_VERSION用法,强制指定版本,多版本共存处理
版本锁定
PREFERRED
04
虚拟配方与提供者
PROVIDES/RPROVIDES机制,虚拟配方解决命名冲突,PREFERRED_PROVIDER
虚拟
PROVIDES
05
包名重写与替换
PN/PV/PR变量,BBCLASSEXTEND扩展,PACKAGECONFIG控制特性
重写
BBCLASSEXTEND
06
层优先级与覆盖
BBLAYERS加载顺序,层优先级,.bbappend覆盖,避免冲突
层
bbappend
07
强制依赖与可选依赖
硬依赖/软依赖设计,RRECOMMENDS推荐,RSUGGESTS建议
RRECOMMENDS
RSUGGESTS
08
依赖排除与屏蔽
PACKAGE_EXCLUDE排除,BAD_RECOMMENDATIONS屏蔽,NO_RECOMMENDATIONS
排除
屏蔽
09
条件依赖与动态依赖
DISTRO_FEATURES/MACHINE条件,python函数动态生成依赖
条件
动态
10
循环依赖检测与修复
BitBake循环检测机制,常见场景,重构配方打破循环
循环
重构
11
源码依赖冲突
SRC_URI冲突处理,多源码仓库管理,补丁冲突解决
SRC_URI
补丁
12
共享库依赖冲突
SONAME匹配,库版本不兼容,PRIVATE_LIBS私有库
SONAME
PRIVATE_LIBS
13
Perl/Python模块依赖
cpan.bbclass/setuptools.bbclass,自动解析,手动添加缺失依赖
Perl
Python
14
系统库与工具链依赖
glibc版本冲突,工具链头文件,TOOLCHAIN_OPTIONS隔离
glibc
工具链
15
内核模块依赖
内核配置依赖,模块间依赖顺序,KERNEL_MODULE_AUTOLOAD
内核
模块
16
固件与二进制Blob依赖
非开源固件管理,许可证冲突,LICENSE_FLAGS标记
固件
LICENSE
17
测试框架依赖
ptest依赖管理,测试套件冲突,TEST_DEPENDS隔离
ptest
TEST_DEPENDS
18
交叉编译工具链依赖
gcc版本冲突,binutils匹配,SDK依赖管理
工具链
SDK
19
镜像与包组依赖
IMAGE_INSTALL解析,packagegroup设计,避免循环依赖
镜像
packagegroup
20
多架构与多ABI依赖
MULTILIB管理,32/64位库共存,BBCLASSEXTEND多架构
MULTILIB
ABI
21
外部源码与OE-core依赖
EXTERNALSRC外部构建,依赖同步,避免重复构建
外部源码
EXTERNALSRC
22
Sstate缓存与依赖失效
sstate哈希机制,缓存失效,SSTATE_MIRRORS加速
sstate
缓存
23
补丁依赖与版本管理
补丁依赖顺序,SRCPV管理版本,自动解决冲突
补丁
SRCPV
24
License依赖与合规
LICENSE传播,兼容性检查,LICENSE_CREATE_PACKAGE
License
合规
25
自定义类与继承依赖
inherit继承,类依赖顺序,自定义类依赖处理
继承
class
26
网络与代理依赖
FETCHCMD代理,离线构建,PREMIRRORS/MIRRORS加速
代理
离线
27
容器与虚拟化依赖
容器运行时依赖,虚拟化库冲突,Docker集成Yocto
容器
Docker
28
安全更新与CVE依赖
CVE补丁管理,安全更新版本冲突,CVE_CHECK扫描
CVE
安全
29
大规模构建的依赖优化
并行构建顺序,BB_NUMBER_THREADS,拓扑排序
优化
并行
30
实战案例:从冲突到完美构建
真实项目依赖问题全流程分析与解决
实战
案例
所属VIP或分类
同VIP:BusyBox到完整Rootfs构建与部署
同VIP:Python多工具包依赖管理与构建优化
同VIP:Systemd启动服务与自动挂载优化