Debugging packaging

In more sophisticated recipes, we split the installed contents into several sub-packages. The sub-packages can be optional features, modules, or any other set of files that it is optional to install.

To inspect how the recipe's content has been split, we can use the build/tmp/work/<arch>/<recipe name>/<software version>/packages-split directory. It contains a sub-directory for every sub-package and has its contents in the sub-tree.

Among the possible reasons for a mistaken content split, we have the following:

  • Contents not being installed (for example, an error in installation scripts)
  • Application or library configuration error (for example, a disabled feature)
  • Metadata error (for example, wrong package order)

Another common issue that we find, mainly in library recipes, is that the required artifacts are not made available in the sysroot directory (for example, headers or dynamic libraries), causing a build breakage. The counterpart of the sysroot generation can be seen at build/tmp/work/<arch>/<recipe name>/<software version>/sysroot-destdir.

Other possible causes may need us to instrument the task code with the further presented logging functions, so we can figure out the logical error or bug that causes the unexpected result.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.63.136