On Tue, 2023-10-10 at 21:05 -0700, Sundeep KOKKONDA via
lists.openembedded.org wrote:
> [Yocto#14875]
> The '--remap-path-prefix' option removes all references to build directory 
> structure in the debug information within the compiled output for Cargo 
> dependencies and the project's binary.
> However, some references to build directories remains in the final binary in 
> .rustc section in the form of compressed metadata and this makes the build 
> output dependent on the folder structure of the computer it's compiled on.
> So, for reproducible builds, use the configuration option 'remap-debuginfo = 
> true' along with the '--remap-path-prefix'.
> 
> Signed-off-by: Sundeep KOKKONDA <sundeep.kokko...@windriver.com>
> ---
>  meta/lib/oeqa/selftest/cases/reproducible.py | 2 --
>  meta/recipes-devtools/rust/rust_1.70.0.bb    | 1 +
>  2 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py 
> b/meta/lib/oeqa/selftest/cases/reproducible.py
> index 84c6c3a05f..9b4a0887dd 100644
> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> @@ -16,8 +16,6 @@ import os
>  import datetime
>  
>  exclude_packages = [
> -     'rust',
> -     'rust-dbg'
>       ]
>  
>  def is_excluded(package):
> diff --git a/meta/recipes-devtools/rust/rust_1.70.0.bb 
> b/meta/recipes-devtools/rust/rust_1.70.0.bb
> index 3b9c05a19f..16d433910f 100644
> --- a/meta/recipes-devtools/rust/rust_1.70.0.bb
> +++ b/meta/recipes-devtools/rust/rust_1.70.0.bb
> @@ -130,6 +130,7 @@ python do_configure() {
>      # [rust]
>      config.add_section("rust")
>      config.set("rust", "rpath", e(True))
> +    config.set("rust", "remap-debuginfo", e(True))
>      config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
>  
>      # Whether or not to optimize the compiler and standard library

Unfortunately I have some less good news, the rust reproducibility
tests do still have some kind of failure:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3736/steps/12/logs/stdio

http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20231011-7wbq1syl/packages/diff-html/

This is a bit different to the previous issue since the rlib files are
not changing and this is rustdoc. At a quick glance, it looks like the
symbols are changing order in the file, which can sometimes be caused
by the link command not being in the same order on all builds. This
could be for example something doing:

$LD *.so

and hence the order of the linked objects depends on the order of the
files on disk and which order glob found them in. It could also be
something else.

So we've made great progress and this will help our SPDX issues as the
filenames are now consistent but we're not quite there yet I'm afraid.
Unless we can find it quickly we'll have to put rust back on the
exclusion list for the release.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#188988): 
https://lists.openembedded.org/g/openembedded-core/message/188988
Mute This Topic: https://lists.openembedded.org/mt/101890610/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to