Reproducible Builds on Windows

Danilo mail at dbrgn.ch
Mon Dec 2 11:06:29 UTC 2024


Hello

One issue I'm still stumbling over is that even with the same toolchain,
the binaries aren't reproducible when copying the entire directory and
building the library a second time. It is reproducible when just
re-building it in the original directory.

Here is the diffoscope output:
https://try.diffoscope.org/hxsyehbrkftf.html (link valid for 30 days).
There are no paths embedded in the binary. To me, this looks like some
kind of optimization, but I don't know where it's coming from. I don't
think it's random, because within a single directory, builds are
reproducible. I suspected that it could be related to the length of the
build directory path, but that's not the case either. I tried turning
off link-time optmization with /LTCG:OFF, but that didn't seem to help
either.

Does someone have a hunch from looking at that diffoscope output on what
the reason could be? I already set /Brepro, /DEBUG:NONE and
/INCREMENTAL:NO, see
https://github.com/threema-ch/node-argon2/blob/9bcd7f73805d9ea3aef318db40d40581e2fc2577/binding.gyp#L17-L23

Cheers
Danilo


More information about the rb-general mailing list