guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reproducible rust builds


From: Nikolai Merinov
Subject: Re: Reproducible rust builds
Date: Tue, 16 Oct 2018 02:05:45 +0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi Joe,

I think tomorrow I'll prepare patches according to my findings and then
I'll try to find issues in 1.22 release.

Joe Hillenbrand <address@hidden> writes:

> Hi Nikolai,
>
> I've been trying to make rust reproducible as well.
>
> I starting with version 1.19, but I think you're right to just skip
> anything older than 1.25 as it looks like a bunch of reproducibility fixes 
> were
> added to cargo and rust around 1.22.

I concentrated on 1.25 and newer. I worked on this packages in August
and before September's Danny changes initial version was 1.23.

>
> What kind of differences are you getting from between the builds?

1.25 and 1.27 suffer from this type of non-reprodicibility
https://github.com/rust-lang/rust/issues/50556
There is no suggestions how to solve this issue and I have no idea how
to continue with it. As far as I understand we step on non-determenistic
behavior of llvm 6, so I suggest to use llvm 3.9 for this versions.

1.27, 1.28, 1.29 have next issue
https://github.com/rust-lang/rust/issues/24473
It can be fixed with
rust-mdbook-Support-reproducible-builds-by-forcing-window.search.patch
in my packages.

> For me, it has been liblibc. I've attached the output of the following 
> command:
>
> $ diffoscope --exclude-directory-metadata
> /gnu/store/hv2wb30jgzhhgfvlhrfpk3qcwr38igg4-rust-1.22.1
> /gnu/store/hv2wb30jgzhhgfvlhrfpk3qcwr38igg4-rust-1.22.1-check --html
> diffoscope-rust.html
>
> On Fri, Oct 12, 2018 at 3:44 PM Nikolai Merinov
> <address@hidden> wrote:
>> 2. Rust 1.26.2 reproducible with LLVM 6.0.1 regardless of which LLVM
>> used for rust 1.25.0. I failed to find any specific changes that allow
>> this version to be built in reproducible manner with LLVM 6.0.1.
>
> How sure are you that 1.26.2 is reproducible? I noticed that sometimes it will
> work after 2 rounds and sometimes it won't.
>

I tried several times and never catched issue after two rounds. Which
files was different in your builds?

> I've pulled your repo and started a build with 4 rounds just to check.
> It will probably take a couple of days.
>
> You might also try adding the attached patch I grabbed from Debian.
> I haven't gotten it to work yet, but maybe it will help you.

This patch is useless for Guix: This patch required when "llvm-config -cxxflags"
returns "-gsplit-dwarf" key. This behavior specific to debian patches to
llvm.

>
> Thanks,
> -Joe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]