Dependencies Bitbake运行时与构建依赖关系
我很难理解bitbake的食谱。(我有一些写得很差的需要修改,我通常会阅读并理解整个机制,但遗憾的是我的日程安排很紧)。 你能帮我理解RDEPENDS和Dependes之间的区别吗。我阅读了参考资料,知道它们分别代表运行时依赖项和构建依赖项,但bitbake配方对其有什么影响?Dependencies Bitbake运行时与构建依赖关系,dependencies,bitbake,Dependencies,Bitbake,我很难理解bitbake的食谱。(我有一些写得很差的需要修改,我通常会阅读并理解整个机制,但遗憾的是我的日程安排很紧)。 你能帮我理解RDEPENDS和Dependes之间的区别吗。我阅读了参考资料,知道它们分别代表运行时依赖项和构建依赖项,但bitbake配方对其有什么影响? 据我所知,如果一个包a依赖于另一个包B,那么必须构建B并准备好让a能够构建。Bitbake与运行时无关,它只用于构建和部署包。那么区别是什么呢?正如您所说,bitbake与构建和部署 包,它需要部署所有可用的包 需要满足
据我所知,如果一个包a依赖于另一个包B,那么必须构建B并准备好让a能够构建。Bitbake与运行时无关,它只用于构建和部署包。那么区别是什么呢?正如您所说,bitbake与构建和部署 包,它需要部署所有可用的包 需要满足对目标系统的运行时依赖关系 如果你的食谱上说目标T
依赖于目标p,那说明
它必须在T之前建立P,因为T不可能是
没有P的建筑
如果你的食谱上说TRDEPENDS
在p上,那说明
bitbake指出,如果需要,它必须将P部署到目标系统
部署T,因为没有P不能使用T
例如,如果没有C编译器,您无法构建tar
,但是
您不需要C编译器来使用tar
。您可以部署tar
不部署C编译器。所以这是一个依赖关系
另一方面,如果没有运行时C库,就不能使用tar
。
如果部署了tar
,则还必须部署运行时C库。
这是一个RDEPEND
bitake的技术细节包括:
- 如果T
依赖于p,则T的do\u configure
任务将依赖于p
在P的do\u populate\u sysroot
任务上
- 如果T
RDEPENDS
依赖于p,则T的do_build
任务依赖于p
do\u package\u write
任务
谢谢您,先生!我现在明白了。关于您提到的技术细节:配方调用这些任务的方式是否有明确的顺序?这些任务(do_配置、do_构建等)是bitbake标准的一部分吗?是的,有一个定义的顺序,当然是正确的顺序-尽管您可以根据需要覆盖或扩展任何预定义行为,或者定义自己的任务并将其插入预定义行为之间。这是迄今为止我遇到的最好的答案!