Re: [yocto] Issues with DEPENDS
Alexander Kanavin <[email protected]>
| Newsgroups | org.yoctoproject.lists.yocto |
|---|---|
| Message-ID | <CANNYZj8Z-jTpat9=xcaGkU=KXfsZqHP5cfQoi3Mr+LLhDYyiXw@mail.gmail.com> |
All of this should work, but it's possible there's a simple mistake
somewhere. You need to verify every step from installation to
population of the sysroot:
1. For recipe B, are the needed files present in ${WORKDIR}/image?
2. For recipe B, are the needed files present in ${WORKDIR}/sysroot-destdir ?
(you might have to go several levels below these for reasons too
arcane to explain)
Alex
On Thu, 23 Oct 2025 at 12:29, Jared Weyer via lists.yoctoproject.org
<[email protected]> wrote:
>
> Hi,
>
>
> Hoping to get some help with an issue I have been having with DEPENDS. I'm sure I am missing something obvious, but I can't seem to figure out what is going on. Essentially, I have two recipes, I will call them recipe A and recipe B; recipe A has a build time dependency on recipe B. To troubleshoot the issue, I've reduced recipe A and B to very contrived examples, but the issue still persists.
>
>
> Below is recipe B:
>
>
> SUMMARY = "TI ARM-CGT-CLANG compiler tools"
> HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
> LICENSE = "CLOSED"
>
> BBCLASSEXTEND = "native nativesdk"
>
> # I don't believe I need this... but just in case
> SYSROOT_DIRS_NATIVE += " \
> /usr/share/ti \
> /usr
> "
>
> FILES:${PN} += " \
> /usr \
> "
>
> do_install() {
>
> install -d ${D}/usr/share/ti
>
> install -d ${D}/usr/
>
> echo test > ${S}/test.txt
> echo test2 > ${S}/test2.txt
>
> install -m 0755 ${S}/test.txt ${D}/usr/share/ti
> install -m 0755 ${S}/test2.txt ${D}/usr
>
> }
>
> INHIBIT_PACKAGE_STRIP = "1"
> INHIBIT_SYSROOT_STRIP = "1"
> INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
>
> Below is recipe A:
>
> SUMMARY = "TI MCU+ SDK for AM263Px"
> HOMEPAGE = "https://www.ti.com/tool/MCU-PLUS-SDK-AM263PX"
> LICENSE = "CLOSED"
>
> BBCLASSEXTEND = "nativesdk native"
>
> DEPENDS = " \
> ti-cgt-armllvm-native \ ### RECIPE B ###
> sysconfig-native \
> "
>
> FILES:${PN} += " \
> /usr/share \
> "
>
> do_install() {
> install -d ${D}/usr/share
> cp -r ${STAGING_DIR_NATIVE}/. ${D}/usr/share
> }
>
> My understanding is that adding the DEPENDS = "ti-cgt-armllvm-native" should install all files installed by ti-cgt-armllvm (recipe B) into the STAGING_DIR_NATIVE directory of recipe A; however, this is not occurring as there is no 'recipe-sysroot-native/usr/test2.txt' or 'recipe-sysroot-native/usr/share/ti/test.txt' file in recipe A staging directory.
>
> The issue does seem to be with DEPENDS because recipe B does install the test files correctly when run independently. When looking into this further, I found that 'sysroot-components/x86_64/ti-cgt-armllvm-native' (recipe B sysroot components is empty):
>
> tmp-aec/sysroots-components/x86_64/ti-cgt-armllvm-native/
> └── sysroot-providers
> └── ti-cgt-armllvm-native
>
>
> My understanding is that this directory should contain the test files; however, I cannot figure out why it does not.
>
> Does anyone see any obvious mistakes that I am making?
>
> Apologies for the extensive email and thank you to anyone willing to help with this!!!
>
> - Jared Weyer
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#65963): https://lists.yoctoproject.org/g/yocto/message/65963
> Mute This Topic: https://lists.yoctoproject.org/mt/115908178/1686489
> Group Owner: [email protected]
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-
>