* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.