[hardknott,v2] rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH

Message ID 20211115140340.8047-1-pgowda.cve@gmail.com
State New
Headers show
Series [hardknott,v2] rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH | expand

Commit Message

Pgowda Nov. 15, 2021, 2:03 p.m. UTC
rust-cross-* imported from meta-rust has incorrect signatures,
depending on MACHINEOVERRIDES making it effectively MACHINE_ARCH
as shown by sstate-diff-machines.sh:

openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc \
--machines="qemuarm64 qemuarm64copy" --targets=rust-cross-aarch64-glibc \
--analyze

 === Comparing signatures for task do_configure.sigdata between
 qemuarm64 and qemuarm64copy ===
ERROR: gcc-runtime different signature for task do_configure.sigdata
between qemuarm64 and qemuarm64copy
NOTE: Starting bitbake server...
Hash for dependent task gcc/gcc-runtime_11.2.bb:do_prepare_recipe_sysroot
changed from
da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 to
47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
Unable to find matching sigdata for
openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_11.2.bb:
do_prepare_recipe_sysroot with hashes
da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 or
47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40

The following patch takes TUNE_PKGARCH into consideration instead
of TARGET_ARCH and results in signatures as expected.

[YOCTO #14613]

Signed-off-by: Pgowda <pgowda.cve@gmail.com>
---
 meta/recipes-devtools/rust/rust-cross.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Khem Raj Nov. 15, 2021, 5:36 p.m. UTC | #1
On 11/15/21 6:03 AM, Pgowda wrote:
> rust-cross-* imported from meta-rust has incorrect signatures,
> depending on MACHINEOVERRIDES making it effectively MACHINE_ARCH
> as shown by sstate-diff-machines.sh:
> 
> openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc \
> --machines="qemuarm64 qemuarm64copy" --targets=rust-cross-aarch64-glibc \
> --analyze
> 
>   === Comparing signatures for task do_configure.sigdata between
>   qemuarm64 and qemuarm64copy ===
> ERROR: gcc-runtime different signature for task do_configure.sigdata
> between qemuarm64 and qemuarm64copy
> NOTE: Starting bitbake server...
> Hash for dependent task gcc/gcc-runtime_11.2.bb:do_prepare_recipe_sysroot
> changed from
> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 to
> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> Unable to find matching sigdata for
> openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_11.2.bb:
> do_prepare_recipe_sysroot with hashes
> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 or
> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> 
> The following patch takes TUNE_PKGARCH into consideration instead
> of TARGET_ARCH and results in signatures as expected.
> 
> [YOCTO #14613]
> 
> Signed-off-by: Pgowda <pgowda.cve@gmail.com>
> ---
>   meta/recipes-devtools/rust/rust-cross.inc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc
> index bb625f4240..a77f7d5122 100644
> --- a/meta/recipes-devtools/rust/rust-cross.inc
> +++ b/meta/recipes-devtools/rust/rust-cross.inc
> @@ -34,7 +34,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs vir
>   DEPENDS += "rust-native"
>   
>   PROVIDES = "virtual/${TARGET_PREFIX}rust"
> -PN = "rust-cross-${TARGET_ARCH}-${TCLIBC}"
> +PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"

reluctanly, this is ok for now. But I think we need to think this fresh 
and limit the tune specific changes a bit better, llvm takes a long time 
to compile and this could be inefficient for fleet of similar looking SOCs

>   
>   # In the cross compilation case, rustc doesn't seem to get the rpath quite
>   # right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#158292): https://lists.openembedded.org/g/openembedded-core/message/158292
> Mute This Topic: https://lists.openembedded.org/mt/87069441/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Anuj Mittal Nov. 16, 2021, 2:31 a.m. UTC | #2
This doesn't look hardknott related. Is this for master?

Thanks,

Anuj

On Mon, 2021-11-15 at 06:03 -0800, Pgowda wrote:
> rust-cross-* imported from meta-rust has incorrect signatures,
> depending on MACHINEOVERRIDES making it effectively MACHINE_ARCH
> as shown by sstate-diff-machines.sh:
> 
> openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc
> \
> --machines="qemuarm64 qemuarm64copy" --targets=rust-cross-aarch64-
> glibc \
> --analyze
> 
>  === Comparing signatures for task do_configure.sigdata between
>  qemuarm64 and qemuarm64copy ===
> ERROR: gcc-runtime different signature for task do_configure.sigdata
> between qemuarm64 and qemuarm64copy
> NOTE: Starting bitbake server...
> Hash for dependent task gcc/gcc-
> runtime_11.2.bb:do_prepare_recipe_sysroot
> changed from
> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 to
> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> Unable to find matching sigdata for
> openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_11.2.bb:
> do_prepare_recipe_sysroot with hashes
> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 or
> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> 
> The following patch takes TUNE_PKGARCH into consideration instead
> of TARGET_ARCH and results in signatures as expected.
> 
> [YOCTO #14613]
> 
> Signed-off-by: Pgowda <pgowda.cve@gmail.com>
> ---
>  meta/recipes-devtools/rust/rust-cross.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/rust/rust-cross.inc
> b/meta/recipes-devtools/rust/rust-cross.inc
> index bb625f4240..a77f7d5122 100644
> --- a/meta/recipes-devtools/rust/rust-cross.inc
> +++ b/meta/recipes-devtools/rust/rust-cross.inc
> @@ -34,7 +34,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}gcc
> virtual/${TARGET_PREFIX}compilerlibs vir
>  DEPENDS += "rust-native"
>  
>  PROVIDES = "virtual/${TARGET_PREFIX}rust"
> -PN = "rust-cross-${TARGET_ARCH}-${TCLIBC}"
> +PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
>  
>  # In the cross compilation case, rustc doesn't seem to get the rpath
> quite
>  # right. It manages to include '../../lib/${TARGET_PREFIX}', but
> doesn't
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#158292):
> https://lists.openembedded.org/g/openembedded-core/message/158292
> Mute This Topic: https://lists.openembedded.org/mt/87069441/3616702
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe:
> https://lists.openembedded.org/g/openembedded-core/unsub [
> anuj.mittal@intel.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Pgowda Nov. 16, 2021, 4:27 a.m. UTC | #3
Hi Anuj,

I'm sorry regarding the patch subject.
The patch is for the master branch. However, the same issue exists for
other branches as well.
I will check the comments from others and will post the patch to the
Hardknott branch once it's approved in the master branch.

Thanks,
Pgowda

On Tue, Nov 16, 2021 at 8:01 AM Mittal, Anuj <anuj.mittal@intel.com> wrote:
>
> This doesn't look hardknott related. Is this for master?
>
> Thanks,
>
> Anuj
>
> On Mon, 2021-11-15 at 06:03 -0800, Pgowda wrote:
> > rust-cross-* imported from meta-rust has incorrect signatures,
> > depending on MACHINEOVERRIDES making it effectively MACHINE_ARCH
> > as shown by sstate-diff-machines.sh:
> >
> > openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc
> > \
> > --machines="qemuarm64 qemuarm64copy" --targets=rust-cross-aarch64-
> > glibc \
> > --analyze
> >
> >  === Comparing signatures for task do_configure.sigdata between
> >  qemuarm64 and qemuarm64copy ===
> > ERROR: gcc-runtime different signature for task do_configure.sigdata
> > between qemuarm64 and qemuarm64copy
> > NOTE: Starting bitbake server...
> > Hash for dependent task gcc/gcc-
> > runtime_11.2.bb:do_prepare_recipe_sysroot
> > changed from
> > da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 to
> > 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> > Unable to find matching sigdata for
> > openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_11.2.bb:
> > do_prepare_recipe_sysroot with hashes
> > da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 or
> > 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> >
> > The following patch takes TUNE_PKGARCH into consideration instead
> > of TARGET_ARCH and results in signatures as expected.
> >
> > [YOCTO #14613]
> >
> > Signed-off-by: Pgowda <pgowda.cve@gmail.com>
> > ---
> >  meta/recipes-devtools/rust/rust-cross.inc | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-devtools/rust/rust-cross.inc
> > b/meta/recipes-devtools/rust/rust-cross.inc
> > index bb625f4240..a77f7d5122 100644
> > --- a/meta/recipes-devtools/rust/rust-cross.inc
> > +++ b/meta/recipes-devtools/rust/rust-cross.inc
> > @@ -34,7 +34,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}gcc
> > virtual/${TARGET_PREFIX}compilerlibs vir
> >  DEPENDS += "rust-native"
> >
> >  PROVIDES = "virtual/${TARGET_PREFIX}rust"
> > -PN = "rust-cross-${TARGET_ARCH}-${TCLIBC}"
> > +PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
> >
> >  # In the cross compilation case, rustc doesn't seem to get the rpath
> > quite
> >  # right. It manages to include '../../lib/${TARGET_PREFIX}', but
> > doesn't
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#158292):
> > https://lists.openembedded.org/g/openembedded-core/message/158292
> > Mute This Topic: https://lists.openembedded.org/mt/87069441/3616702
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe:
> > https://lists.openembedded.org/g/openembedded-core/unsub [
> > anuj.mittal@intel.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
Pgowda Nov. 18, 2021, 3:30 p.m. UTC | #4
Hi,

Gentle ping on this patch.

Thanks,
pgowda

On Mon, Nov 15, 2021 at 7:33 PM Pgowda <pgowda.cve@gmail.com> wrote:
>
> rust-cross-* imported from meta-rust has incorrect signatures,
> depending on MACHINEOVERRIDES making it effectively MACHINE_ARCH
> as shown by sstate-diff-machines.sh:
>
> openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc \
> --machines="qemuarm64 qemuarm64copy" --targets=rust-cross-aarch64-glibc \
> --analyze
>
>  === Comparing signatures for task do_configure.sigdata between
>  qemuarm64 and qemuarm64copy ===
> ERROR: gcc-runtime different signature for task do_configure.sigdata
> between qemuarm64 and qemuarm64copy
> NOTE: Starting bitbake server...
> Hash for dependent task gcc/gcc-runtime_11.2.bb:do_prepare_recipe_sysroot
> changed from
> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 to
> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
> Unable to find matching sigdata for
> openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_11.2.bb:
> do_prepare_recipe_sysroot with hashes
> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 or
> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
>
> The following patch takes TUNE_PKGARCH into consideration instead
> of TARGET_ARCH and results in signatures as expected.
>
> [YOCTO #14613]
>
> Signed-off-by: Pgowda <pgowda.cve@gmail.com>
> ---
>  meta/recipes-devtools/rust/rust-cross.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc
> index bb625f4240..a77f7d5122 100644
> --- a/meta/recipes-devtools/rust/rust-cross.inc
> +++ b/meta/recipes-devtools/rust/rust-cross.inc
> @@ -34,7 +34,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs vir
>  DEPENDS += "rust-native"
>
>  PROVIDES = "virtual/${TARGET_PREFIX}rust"
> -PN = "rust-cross-${TARGET_ARCH}-${TCLIBC}"
> +PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
>
>  # In the cross compilation case, rustc doesn't seem to get the rpath quite
>  # right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
> --
> 2.31.1
>
Randy MacLeod Nov. 18, 2021, 11:16 p.m. UTC | #5
On 2021-11-18 10:30 a.m., Pgowda wrote:
> Hi,
> 
> Gentle ping on this patch.

It's in master-next but it may not have been this morning.

$ pwd


.../oe-core.git




$ git status

On branch master-next

Your branch is up to date with 'origin/master-next'.



nothing to commit, working tree clean



git log --pretty=fuller

...
commit c2c3477377f3c41c6bf791a42d66386da17b0ba3

Author:     Pgowda <pgowda.cve@gmail.com>

AuthorDate: Mon Nov 15 09:03:40 2021

Commit:     Richard Purdie <richard.purdie@linuxfoundation.org>

CommitDate: Tue Nov 16 17:22:18 2021



     rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH



../Randy


> 
> Thanks,
> pgowda
> 
> On Mon, Nov 15, 2021 at 7:33 PM Pgowda <pgowda.cve@gmail.com> wrote:
>>
>> rust-cross-* imported from meta-rust has incorrect signatures,
>> depending on MACHINEOVERRIDES making it effectively MACHINE_ARCH
>> as shown by sstate-diff-machines.sh:
>>
>> openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc \
>> --machines="qemuarm64 qemuarm64copy" --targets=rust-cross-aarch64-glibc \
>> --analyze
>>
>>   === Comparing signatures for task do_configure.sigdata between
>>   qemuarm64 and qemuarm64copy ===
>> ERROR: gcc-runtime different signature for task do_configure.sigdata
>> between qemuarm64 and qemuarm64copy
>> NOTE: Starting bitbake server...
>> Hash for dependent task gcc/gcc-runtime_11.2.bb:do_prepare_recipe_sysroot
>> changed from
>> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 to
>> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
>> Unable to find matching sigdata for
>> openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_11.2.bb:
>> do_prepare_recipe_sysroot with hashes
>> da4ebf1b272cb73153145a0a95e6438d2955ae2d36f84db10f6880b2781ec331 or
>> 47a0ebb7a88c9f896fb9dbce269f575ab8a6faabb2b9e62d164be6e71c5e4e40
>>
>> The following patch takes TUNE_PKGARCH into consideration instead
>> of TARGET_ARCH and results in signatures as expected.
>>
>> [YOCTO #14613]
>>
>> Signed-off-by: Pgowda <pgowda.cve@gmail.com>
>> ---
>>   meta/recipes-devtools/rust/rust-cross.inc | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc
>> index bb625f4240..a77f7d5122 100644
>> --- a/meta/recipes-devtools/rust/rust-cross.inc
>> +++ b/meta/recipes-devtools/rust/rust-cross.inc
>> @@ -34,7 +34,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs vir
>>   DEPENDS += "rust-native"
>>
>>   PROVIDES = "virtual/${TARGET_PREFIX}rust"
>> -PN = "rust-cross-${TARGET_ARCH}-${TCLIBC}"
>> +PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
>>
>>   # In the cross compilation case, rustc doesn't seem to get the rpath quite
>>   # right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
>> --
>> 2.31.1
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#158478): https://lists.openembedded.org/g/openembedded-core/message/158478
>> Mute This Topic: https://lists.openembedded.org/mt/87069441/3616765
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>

Patch

diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc
index bb625f4240..a77f7d5122 100644
--- a/meta/recipes-devtools/rust/rust-cross.inc
+++ b/meta/recipes-devtools/rust/rust-cross.inc
@@ -34,7 +34,7 @@  DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs vir
 DEPENDS += "rust-native"
 
 PROVIDES = "virtual/${TARGET_PREFIX}rust"
-PN = "rust-cross-${TARGET_ARCH}-${TCLIBC}"
+PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
 
 # In the cross compilation case, rustc doesn't seem to get the rpath quite
 # right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't