* [PATCH V3] icu: set ac_cv_path_install to install under hosttools @ 2025-04-22 13:07 changqing.li 2025-04-23 4:57 ` [OE-core] " Mathieu Dubois-Briand 2025-04-24 10:33 ` Richard Purdie 0 siblings, 2 replies; 7+ messages in thread From: changqing.li @ 2025-04-22 13:07 UTC (permalink / raw) To: openembedded-core From: Changqing Li <changqing.li@windriver.com> icu will check program install path during do_configure, eg: checking for a BSD-compatible install... /path/to/install -c And this path will be writen into pkgdata.inc: INSTALL_CMD=$(INSTALL-L) Decided by if install is installed into recipe-sysroot-native during do_configure stage, the INSTALL_CMD could be /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install or /build/tmp/hosttools/install. set ac_cv_path_install to install under hosttools to make a determined result of INSTALL_CMD, avoid vary caused by the execute sequence of another task which DEPENDS on coreutils-native and independent with do_configure Signed-off-by: Changqing Li <changqing.li@windriver.com> --- meta/recipes-support/icu/icu_76-1.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-support/icu/icu_76-1.bb b/meta/recipes-support/icu/icu_76-1.bb index f0890fc890..a33f48cf8e 100644 --- a/meta/recipes-support/icu/icu_76-1.bb +++ b/meta/recipes-support/icu/icu_76-1.bb @@ -20,9 +20,9 @@ inherit autotools pkgconfig github-releases # ICU needs the native build directory as an argument to its --with-cross-build option when # cross-compiling. Taken the situation that different builds may share a common sstate-cache # into consideration, the native build directory needs to be staged. -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" -EXTRA_OECONF:class-native = "--disable-icu-config" -EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" +EXTRA_OECONF:class-native = "--disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" +EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" EXTRA_OECONF:append:class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${@icu_install_folder(d)}\\""', '', d)}" -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH V3] icu: set ac_cv_path_install to install under hosttools 2025-04-22 13:07 [PATCH V3] icu: set ac_cv_path_install to install under hosttools changqing.li @ 2025-04-23 4:57 ` Mathieu Dubois-Briand 2025-04-23 10:23 ` Changqing Li 2025-04-24 10:33 ` Richard Purdie 1 sibling, 1 reply; 7+ messages in thread From: Mathieu Dubois-Briand @ 2025-04-23 4:57 UTC (permalink / raw) To: changqing.li, openembedded-core On Tue Apr 22, 2025 at 3:07 PM CEST, Changqing Li via lists.openembedded.org wrote: > From: Changqing Li <changqing.li@windriver.com> > > icu will check program install path during do_configure, eg: > checking for a BSD-compatible install... /path/to/install -c > > And this path will be writen into pkgdata.inc: > INSTALL_CMD=$(INSTALL-L) > > Decided by if install is installed into recipe-sysroot-native during > do_configure stage, the INSTALL_CMD could be > /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install > or /build/tmp/hosttools/install. > > set ac_cv_path_install to install under hosttools to make a determined > result of INSTALL_CMD, avoid vary caused by the execute sequence of > another task which DEPENDS on coreutils-native and independent with > do_configure > > Signed-off-by: Changqing Li <changqing.li@windriver.com> > --- Hi, Thanks for your patch. It looks like we have some issue with is, as can be seen on the autobuilder: ERROR: icu-76-1-r0 do_package_qa: QA Issue: File /usr/lib/icu/76.1/pkgdata.inc in package icu-dev contains reference to TMPDIR [buildpaths] ERROR: icu-76-1-r0 do_package_qa: Fatal QA errors were found, failing task. https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/1435/steps/12/logs/stdio Can you have a look at this failure please? -- Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH V3] icu: set ac_cv_path_install to install under hosttools 2025-04-23 4:57 ` [OE-core] " Mathieu Dubois-Briand @ 2025-04-23 10:23 ` Changqing Li 2025-04-24 12:07 ` Mathieu Dubois-Briand 0 siblings, 1 reply; 7+ messages in thread From: Changqing Li @ 2025-04-23 10:23 UTC (permalink / raw) To: Mathieu Dubois-Briand, openembedded-core [-- Attachment #1: Type: text/plain, Size: 2127 bytes --] On 4/23/25 12:57, Mathieu Dubois-Briand wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Tue Apr 22, 2025 at 3:07 PM CEST, Changqing Li via lists.openembedded.org wrote: >> From: Changqing Li<changqing.li@windriver.com> >> >> icu will check program install path during do_configure, eg: >> checking for a BSD-compatible install... /path/to/install -c >> >> And this path will be writen into pkgdata.inc: >> INSTALL_CMD=$(INSTALL-L) >> >> Decided by if install is installed into recipe-sysroot-native during >> do_configure stage, the INSTALL_CMD could be >> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install >> or /build/tmp/hosttools/install. >> >> set ac_cv_path_install to install under hosttools to make a determined >> result of INSTALL_CMD, avoid vary caused by the execute sequence of >> another task which DEPENDS on coreutils-native and independent with >> do_configure >> >> Signed-off-by: Changqing Li<changqing.li@windriver.com> >> --- > Hi, > > Thanks for your patch. > > It looks like we have some issue with is, as can be seen on the > autobuilder: > > ERROR: icu-76-1-r0 do_package_qa: QA Issue: File /usr/lib/icu/76.1/pkgdata.inc in package icu-dev contains reference to TMPDIR [buildpaths] > ERROR: icu-76-1-r0 do_package_qa: Fatal QA errors were found, failing task. > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/1435/steps/12/logs/stdio > > Can you have a look at this failure please? Hi, I cannot reproduce this locally, in my local env, buildpaths is removed by function remove_build_host_references. Could you help to check the content of /usr/lib/icu/76.1/pkgdata.inc, what is this buildpaths reference? Besides, I see that poky-contrib mathieu/master-next has the V2 patch, but I also cannot reproduce with V2 patch. Thanks Changqing > > -- > Mathieu Dubois-Briand, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com > [-- Attachment #2: Type: text/html, Size: 3320 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH V3] icu: set ac_cv_path_install to install under hosttools 2025-04-23 10:23 ` Changqing Li @ 2025-04-24 12:07 ` Mathieu Dubois-Briand 0 siblings, 0 replies; 7+ messages in thread From: Mathieu Dubois-Briand @ 2025-04-24 12:07 UTC (permalink / raw) To: Changqing Li, openembedded-core On Wed Apr 23, 2025 at 12:23 PM CEST, Changqing Li wrote: > > Hi, > > I cannot reproduce this locally, in my local env, buildpaths is > removed by function remove_build_host_references. > It can be reproduced using https://web.git.yoctoproject.org/poky-ci-archive/tag/?h=autobuilder.yoctoproject.org/valkyrie/a-full-1436, using default config and trying to build icu. But the issue is actually on my side: as the patch name changed, I did not make the link with the v2, so this branch contains both v2 and v3. If I drop v2, it works correctly with the simple reproduce process described above. I will try to integrate the v3 correctly in one of my next builds, to confirm everything is fine. -- Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH V3] icu: set ac_cv_path_install to install under hosttools 2025-04-22 13:07 [PATCH V3] icu: set ac_cv_path_install to install under hosttools changqing.li 2025-04-23 4:57 ` [OE-core] " Mathieu Dubois-Briand @ 2025-04-24 10:33 ` Richard Purdie 2025-04-25 1:25 ` Changqing Li 1 sibling, 1 reply; 7+ messages in thread From: Richard Purdie @ 2025-04-24 10:33 UTC (permalink / raw) To: changqing.li, openembedded-core On Tue, 2025-04-22 at 21:07 +0800, Changqing Li via lists.openembedded.org wrote: > From: Changqing Li <changqing.li@windriver.com> > > icu will check program install path during do_configure, eg: > checking for a BSD-compatible install... /path/to/install -c > > And this path will be writen into pkgdata.inc: > INSTALL_CMD=$(INSTALL-L) > > Decided by if install is installed into recipe-sysroot-native during > do_configure stage, the INSTALL_CMD could be > /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install > or /build/tmp/hosttools/install. > > set ac_cv_path_install to install under hosttools to make a determined > result of INSTALL_CMD, avoid vary caused by the execute sequence of > another task which DEPENDS on coreutils-native and independent with > do_configure > > Signed-off-by: Changqing Li <changqing.li@windriver.com> > --- > meta/recipes-support/icu/icu_76-1.bb | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-support/icu/icu_76-1.bb b/meta/recipes-support/icu/icu_76-1.bb > index f0890fc890..a33f48cf8e 100644 > --- a/meta/recipes-support/icu/icu_76-1.bb > +++ b/meta/recipes-support/icu/icu_76-1.bb > @@ -20,9 +20,9 @@ inherit autotools pkgconfig github-releases > # ICU needs the native build directory as an argument to its --with-cross-build option when > # cross-compiling. Taken the situation that different builds may share a common sstate-cache > # into consideration, the native build directory needs to be staged. > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" > -EXTRA_OECONF:class-native = "--disable-icu-config" > -EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" > +EXTRA_OECONF:class-native = "--disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" > +EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" > > EXTRA_OECONF:append:class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" > TARGET_CXXFLAGS:append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${@icu_install_folder(d)}\\""', '', d)}" Does this work if you just use: ac_cv_path_install='install -c' ? Cheers, Richard ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH V3] icu: set ac_cv_path_install to install under hosttools 2025-04-24 10:33 ` Richard Purdie @ 2025-04-25 1:25 ` Changqing Li 2025-04-25 6:42 ` Richard Purdie 0 siblings, 1 reply; 7+ messages in thread From: Changqing Li @ 2025-04-25 1:25 UTC (permalink / raw) To: Richard Purdie, openembedded-core [-- Attachment #1: Type: text/plain, Size: 3497 bytes --] On 4/24/25 18:33, Richard Purdie wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Tue, 2025-04-22 at 21:07 +0800, Changqing Li via lists.openembedded.org wrote: >> From: Changqing Li<changqing.li@windriver.com> >> >> icu will check program install path during do_configure, eg: >> checking for a BSD-compatible install... /path/to/install -c >> >> And this path will be writen into pkgdata.inc: >> INSTALL_CMD=$(INSTALL-L) >> >> Decided by if install is installed into recipe-sysroot-native during >> do_configure stage, the INSTALL_CMD could be >> /build/tmp/work/corei7-64-wrs-linux/icu/76-1/recipe-sysroot-native/usr/bin/install >> or /build/tmp/hosttools/install. >> >> set ac_cv_path_install to install under hosttools to make a determined >> result of INSTALL_CMD, avoid vary caused by the execute sequence of >> another task which DEPENDS on coreutils-native and independent with >> do_configure >> >> Signed-off-by: Changqing Li<changqing.li@windriver.com> >> --- >> meta/recipes-support/icu/icu_76-1.bb | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/meta/recipes-support/icu/icu_76-1.bb b/meta/recipes-support/icu/icu_76-1.bb >> index f0890fc890..a33f48cf8e 100644 >> --- a/meta/recipes-support/icu/icu_76-1.bb >> +++ b/meta/recipes-support/icu/icu_76-1.bb >> @@ -20,9 +20,9 @@ inherit autotools pkgconfig github-releases >> # ICU needs the native build directory as an argument to its --with-cross-build option when >> # cross-compiling. Taken the situation that different builds may share a common sstate-cache >> # into consideration, the native build directory needs to be staged. >> -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" >> -EXTRA_OECONF:class-native = "--disable-icu-config" >> -EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config" >> +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" >> +EXTRA_OECONF:class-native = "--disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" >> +EXTRA_OECONF:class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE} --disable-icu-config ac_cv_path_install='${HOSTTOOLS_DIR}/install -c'" >> >> EXTRA_OECONF:append:class-target ="${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' >> --with-data-packaging=archive', '', d)}" >> TARGET_CXXFLAGS:append ="${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' >> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${@icu_install_folder(d)}\\""', '', d)}" > Does this work if you just use: > > ac_cv_path_install='install -c' > > ? It works well, bitbake icu can build successfully. And it can also fix the original do_package_qa issue: in function remove_build_host_references, only hosttool path is removed('s:${HOSTTOOLS_DIR}/::g'), so when install under STAGING_BINDIR_NATIVE is used, qa error happened. But if use ac_cv_path_install='install -c', the actually used install maybe under STAGING_BINDIR_NATIVE or HOSTTOOLS_DIR, decide if install is under STAGING_BINDIR_NATIVE when do_install is runned. So I use '${HOSTTOOLS_DIR}/install -c' to make install under hosttools is always used. Regards Changqing > > Cheers, > > Richard [-- Attachment #2: Type: text/html, Size: 4989 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH V3] icu: set ac_cv_path_install to install under hosttools 2025-04-25 1:25 ` Changqing Li @ 2025-04-25 6:42 ` Richard Purdie 0 siblings, 0 replies; 7+ messages in thread From: Richard Purdie @ 2025-04-25 6:42 UTC (permalink / raw) To: Changqing Li, openembedded-core On Fri, 2025-04-25 at 09:25 +0800, Changqing Li wrote: > > On 4/24/25 18:33, Richard Purdie wrote: > > > Does this work if you just use: > > > > ac_cv_path_install='install -c' > > > > ? > > It works well, bitbake icu can build successfully. And it can also fix the original do_package_qa issue: > > > > > in function remove_build_host_references, only hosttool path is removed('s:${HOSTTOOLS_DIR}/::g'), > > > > > so when install under STAGING_BINDIR_NATIVE is used, qa error happened. > > But if use ac_cv_path_install='install -c', the actually used install maybe under STAGING_BINDIR_NATIVE or HOSTTOOLS_DIR, > decide if install is under STAGING_BINDIR_NATIVE when do_install is runned. > > So I use '${HOSTTOOLS_DIR}/install -c' to make install under hosttools is always used. > We use the tool from PATH everywhere else in the project so it should be fine to do that here as well. I would be concerned if that tool behaved differently between the two and we'd have bigger problems if it did. This therefore should be fine. Cheers, Richard ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-04-25 6:42 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-04-22 13:07 [PATCH V3] icu: set ac_cv_path_install to install under hosttools changqing.li 2025-04-23 4:57 ` [OE-core] " Mathieu Dubois-Briand 2025-04-23 10:23 ` Changqing Li 2025-04-24 12:07 ` Mathieu Dubois-Briand 2025-04-24 10:33 ` Richard Purdie 2025-04-25 1:25 ` Changqing Li 2025-04-25 6:42 ` Richard Purdie
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox