Issues with DEPENDS
"Jared Weyer" <[email protected]>
| Newsgroups | org.yoctoproject.lists.yocto |
|---|---|
| Message-ID | <[email protected]> |
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