diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index f70c1966e1..a7a63bd8cb 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -234,6 +234,93 @@ +
+ Viewing Dependencies + + + Sometimes it can be hard to see why BitBake wants to build other + recipes before the one you have specified. + Dependency information can help you understand recipe build order. + + + + To generate dependency information for a recipe, run the following + command: + + $ bitbake -g recipename + + This command writes the following files in the current directory: + + + pn-buildlist: A list of + recipes/targets involved in building + recipename. + "Involved" here means that at least one task from the + recipe needs to run when building + recipename from scratch. + Targets that are in + ASSUME_PROVIDED + are not listed. + + + pn-depends.dot: A graph showing + dependencies between build-time targets (recipes). + + + package-depends.dot: A graph showing + known dependencies between runtime targets. + + + task-depends.dot: A graph showing + dependencies between tasks. + + + + + + The graphs are in + DOT + format and can be converted to images (e.g. using the "dot" tool + from + Graphviz. + + DOT files use a plain text format. + The graphs generated using the + bitbake -g command are often so large as + to be impossible to read without special pruning (e.g. with + Bitbake's -I option) and processing. + Despite the form and size of the files, the corresponding + .dot files can still be easy to read + and provide useful information. + + As an example, the + task-depends.dot file contains lines such + as the following: + + "libxslt.do_configure" -> "libxml2.do_populate_sysroot" + + The above example line reveals that the + do_configure + task in libxslt depends on the + do_populate_sysroot + task in libxml2, which is a normal + DEPENDS + dependency between the two recipes. + + + + + You can use a different method to view dependency information + by using the following command: + + $ bitbake -g -u depexp recipename + + This command displays a GUI window from which you can view + build-time and runtime dependencies for the recipes involved in + building recipename. + +
+
Running Specific Tasks @@ -370,26 +457,6 @@
-
- Dependency Graphs - - - Sometimes it can be hard to see why BitBake wants to build - other packages before building a given package you have specified. - The bitbake -g targetname command - creates the pn-buildlist, - pn-depends.dot, - package-depends.dot, and - task-depends.dot files in the current - directory. - These files show what will be built and the package and task - dependencies, which are useful for debugging problems. - You can use the - bitbake -g -u depexp targetname - command to display the results in a more human-readable form. - -
-
General BitBake Problems