Rust build reproducibility results

Variationbin via rustcdebug bin via rustcbin via cargodebug bin via cargolib via rustcdebug lib via rustclib via cargodebug lib via cargorustccargocrate
date and time
time zone
locale
shell
hostname
environment variable
user name
group name
umask
file owner
build path
filesystem order
cpu type
cpu cores
kernel version
cc version
ld version

✓ = built reproducibly, variation was not captured in build artifact

✗ = did not built reproducibly, variation was captured in build artifact

Build process descriptions

bin via rustc Builds a “Hello world” binary with rustc and compares the ELF binary.
debug bin via rustc Builds a “Hello world” binary with rustc (using -g to include debuginfo) and compares the ELF binary.
bin via cargo Makes a new crate with cargo new --bin, builds it with --release and compares the ELF binary.
debug bin via cargo Makes a new crate with cargo new --bin, builds it with --debug and compares the ELF binary.
lib via rustc Builds a “Hello world” library with rustc and compares the .rlib.
debug lib via rustc Builds a “Hello world” library with rustc (using -g to include debuginfo) and compares the .rlib.
lib via cargo Makes a new library crate with cargo new, builds it with --release and compares the .rlib.
debug lib via cargo Makes a new library crate with cargo new, builds it with --debug and compares the .rlib.
rustc Builds the rust compiler from source and compares the .tar.gz dist files.
cargo Builds cargo from source and compares the cargo ELF binary.
crate Makes a new library crate with cargo new, packages it with cargo package and compares the .crate.

Build environment

kernel nameLinux
kernel release4.9.11-1-ARCH
architecturex86_64
operating systemArch Linux
rust versionrustc 1.17.0-dev (1572bf104 2017-02-25)
cargo versioncargo 0.18.0-dev (163de44 2017-02-25)
cc versioncc (GCC) 6.3.1 20170109
ld versionGNU ld (GNU Binutils) 2.27
libc versionglibc 2.24-2

Induced variations

Variation First build Second build
date and time 2017-02-22 22:22:22 2017-02-13 11:11:11
time zone UTC Antarctica/Vostok
locale en_US.UTF-8 UTF-8 de_DE@euro ISO-8859-15
shell /bin/bash /bin/sh
hostname buildbot i_capture_the_hostname
environment variable CAPTURE_ENVIRONMENT=I_capture_environment_variables
user name builder, uid = 1000 i_capture_the_user_name, uid = 4242
group name builder, gid = 1000 i_capture_the_group_name, gid = 4141
umask 0022 0070
file owner builder, dirs = 755, files = 644 someone_else, dirs = 777, files = 666
build path /build /build/i/capture/the/build/path
filesystem order ext4 disorderfs (reversed)
cpu type host qemu64
cpu cores 4 3
kernel version 4.9.11 4.4.50
cc version 6.3.1 6.1.1
ld version 2.27 2.26

Build log

html, text