diff options
| -rw-r--r-- | documentation/ref-manual/usingpoky.xml | 71 |
1 files changed, 71 insertions, 0 deletions
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 @@ | |||
| 246 | </para> | 246 | </para> |
| 247 | </section> | 247 | </section> |
| 248 | 248 | ||
| 249 | <section id='checking-for-missing-build-time-dependencies'> | ||
| 250 | <title>Checking for Missing Build-Time Dependencies</title> | ||
| 251 | |||
| 252 | <para> | ||
| 253 | A recipe might build successfully even though some of its | ||
| 254 | build-time dependencies are missing from | ||
| 255 | <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>. | ||
| 256 | Following are the two most common ways in which that can happen: | ||
| 257 | <itemizedlist> | ||
| 258 | <listitem><para> | ||
| 259 | The build-time dependency just happens to already exist in | ||
| 260 | the staging sysroot | ||
| 261 | (<link linkend='var-STAGING_DIR_HOST'><filename>STAGING_DIR_HOST</filename></link>) | ||
| 262 | by the time the recipe is built. | ||
| 263 | This situation occurs when the build-time dependency is | ||
| 264 | built earlier during recipe processing. | ||
| 265 | </para></listitem> | ||
| 266 | <listitem><para> | ||
| 267 | The component built by the recipe conditionally enables | ||
| 268 | functionality depending on whether it can find the | ||
| 269 | build-time dependency in the staging sysroot. | ||
| 270 | If the build-time dependency is missing, the corresponding | ||
| 271 | functionality is disabled. | ||
| 272 | This condition is known as a "floating dependency". | ||
| 273 | </para></listitem> | ||
| 274 | </itemizedlist> | ||
| 275 | </para> | ||
| 276 | |||
| 277 | <para> | ||
| 278 | Because, dealing with the second case is more complex, focus will | ||
| 279 | be on the first case. | ||
| 280 | The | ||
| 281 | <link linkend='ref-classes-insane'><filename>build-deps</filename></link> | ||
| 282 | QA check checks that every library the component linked against is | ||
| 283 | declared as a build-time dependency. | ||
| 284 | If that is not the case, then the first situation described in the | ||
| 285 | previous list exists, and <filename>build-deps</filename> reports | ||
| 286 | a missing build-time dependency. | ||
| 287 | </para> | ||
| 288 | |||
| 289 | <para> | ||
| 290 | Another, more manual, way to check a recipe for missing build-time | ||
| 291 | dependencies of the first type is to build with an empty staging | ||
| 292 | sysroot. | ||
| 293 | An easy way to do this build is to simply remove | ||
| 294 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>, | ||
| 295 | which is usually | ||
| 296 | <filename>${</filename><link linkend='var-BUILDDIR'><filename>BUILDDIR</filename></link><filename>}/tmp</filename>, | ||
| 297 | as it includes the staging sysroots. | ||
| 298 | </para> | ||
| 299 | |||
| 300 | <para> | ||
| 301 | Another, faster method to remove the staging sysroot is to use the | ||
| 302 | <filename>scripts/wipe-sysroot</filename> script, which removes | ||
| 303 | just the staging sysroots and keeps everything else in | ||
| 304 | <filename>TMPDIR</filename>. | ||
| 305 | <note> | ||
| 306 | The <filename>scripts/</filename> directory appears in | ||
| 307 | <filename>PATH</filename> after running the build environment | ||
| 308 | initialization script (i.e. | ||
| 309 | <link linkend='structure-core-script'><filename>oe-init-build-env</filename></link> | ||
| 310 | or | ||
| 311 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>), | ||
| 312 | which results in the ability to to run | ||
| 313 | <filename>wipe-sysroot</filename> immediately. | ||
| 314 | </note> | ||
| 315 | </para> | ||
| 316 | |||
| 317 | </section> | ||
| 318 | |||
| 319 | |||
| 249 | <section id='usingpoky-debugging-dependencies'> | 320 | <section id='usingpoky-debugging-dependencies'> |
| 250 | <title>Dependency Graphs</title> | 321 | <title>Dependency Graphs</title> |
| 251 | 322 | ||
