Search code examples
yoctolibcbitbakeopenembeddedeglibc

How to add ldd utility to bitbake image


I need ldd utility in my final image of yocto. When I needed usbutils before, I went ahead and added the line in ../build/conf/local.conf file

CORE_IMAGE_EXTRA_INSTALL += "usbutils"

After searching around I came to see that ldd is part of the libc-bin package, atleast on my Ubuntu machine. But after reading this, I see that it is in eglibs recipe and not part of the standard package. Adding libc-bin similar to usbutils threw a Nothing RPROVIDES libc-bin error which is understandable.

What are the steps I take to get ldd onto my image if I need to add eglibs recipe. If not, is there another way I can do this.

Please bear with me, still a newbie with yocto and bitbake.


Solution

  • How to add "ldd" to your image depends on the used C library.

    In case of glibc: At least for the current "zeus" version the glibc recipes provide a separate ldd package, see: https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/glibc/glibc-package.inc?h=zeus#n27

    In case of musl: At least for the current "zeus" version the musl package itself provides ldd, see: https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/musl/musl_git.bb?h=zeus#n91

    Adding packages to your image can be done in various ways but I would recommend to use IMAGE_INSTALL_append. For more info in this topic please consult the YoctoProject manual: https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#usingpoky-extend-customimage.