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 <joehil...@gmail.com> 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 > <nikolai.meri...@member.fsf.org> 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