diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index 40e39b5578..61d5fbf877 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -246,6 +246,77 @@ +
+ Checking for Missing Build-Time Dependencies + + + A recipe might build successfully even though some of its + build-time dependencies are missing from + DEPENDS. + Following are the two most common ways in which that can happen: + + + The build-time dependency just happens to already exist in + the staging sysroot + (STAGING_DIR_HOST) + by the time the recipe is built. + This situation occurs when the build-time dependency is + built earlier during recipe processing. + + + The component built by the recipe conditionally enables + functionality depending on whether it can find the + build-time dependency in the staging sysroot. + If the build-time dependency is missing, the corresponding + functionality is disabled. + This condition is known as a "floating dependency". + + + + + + Because, dealing with the second case is more complex, focus will + be on the first case. + The + build-deps + QA check checks that every library the component linked against is + declared as a build-time dependency. + If that is not the case, then the first situation described in the + previous list exists, and build-deps reports + a missing build-time dependency. + + + + Another, more manual, way to check a recipe for missing build-time + dependencies of the first type is to build with an empty staging + sysroot. + An easy way to do this build is to simply remove + TMPDIR, + which is usually + ${BUILDDIR}/tmp, + as it includes the staging sysroots. + + + + Another, faster method to remove the staging sysroot is to use the + scripts/wipe-sysroot script, which removes + just the staging sysroots and keeps everything else in + TMPDIR. + + The scripts/ directory appears in + PATH after running the build environment + initialization script (i.e. + oe-init-build-env + or + oe-init-build-env-memres), + which results in the ability to to run + wipe-sysroot immediately. + + + +
+ +
Dependency Graphs