From eda687eb0d44bd147b4463a44d8f35a3942fe63b Mon Sep 17 00:00:00 2001 From: Antonin Godard Date: Mon, 23 Dec 2024 16:27:56 +0100 Subject: [PATCH] ref-manual/devtool-reference: add warning note on deploy-target and shared objects The command `devtool deploy-target` does not handle any dependency of the application, even when properly listed in DEPENDS or RDEPENDS. While the current documentation was clear on that, it felt needed to add a note on the fact that build-time dependencies may also result in runtime dependencies, especially for people new to the project. Add a warning block below the existing deploy-target documentation. Also, link to the Overview and Concepts page, which explains it thoroughly. [ YOCTO #14377 ] Reported-By: Robert Berger (From yocto-docs rev: 2b9ad30e440951d8c9e2182cea3841e6e326943f) Signed-off-by: Antonin Godard (cherry picked from commit 56c84004daad5f8a5db53e36852331435d57c8af) Signed-off-by: Antonin Godard Signed-off-by: Steve Sakoman --- .../ref-manual/devtool-reference.rst | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/documentation/ref-manual/devtool-reference.rst b/documentation/ref-manual/devtool-reference.rst index d74d5c29ae..a6ea00c210 100644 --- a/documentation/ref-manual/devtool-reference.rst +++ b/documentation/ref-manual/devtool-reference.rst @@ -553,6 +553,26 @@ the packages are already on the target. Consequently, when a runtime call is made in the application for a dependent function (e.g. a library call), the function cannot be found. +.. warning:: + + Runtime dependencies can be explicitly listed in the :term:`RDEPENDS` + variable, but may also be the result of a :term:`DEPENDS` assignment in your + application's recipe. This is usually the case when your application depends + on libraries for compilation: these libraries are listed as build-time + dependencies in the :term:`DEPENDS` variable in your application's recipe. + However these may also be runtime dependencies if they install shared objects + on which your application will dynamically link to at runtime (e.g. shared + libraries ending with ``.so``). + + These runtime dependencies are automatically resolved by the + :term:`OpenEmbedded Build System` during the packaging phase. Since + ``devtool`` ignores packaging dependencies, they will not be installed + automatically with ``devtool deploy-target``. + + For more information on how the :term:`OpenEmbedded Build System` handles + packaging, see the :ref:`overview-manual/concepts:Automatically Added Runtime + Dependencies` section of the Yocto Project Overview and Concepts Manual. + To be sure you have all the dependencies local to the target, you need to be sure that the packages are pre-deployed (installed) on the target before attempting to run your application.