New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
isl: make musl/bootstrap package bit-by-bit reproducible #106587
Comments
|
( |
Hmm, it's reproducible for me now... let's close this for now and revisit the issue when we see it again. |
|
Now another isl that is a transitive dependency of busybox-sandbox-shell is not reproducible - not so sure anymore it has to do with musl directly: |
|
It seems the actual assembly generated by gcc is different, for example for print.o: Looking in nix-shell it seems print.o is generated with: Unfortunately on my machine that consistently produces the same output, which is different from the one we find on cache.nixos.org The build seems to be using gcc 8.3.0, but that is not part of the build closure |
|
I see differences in the assembly like Debian has seen some differences in 0.23 on i386 recently (https://tests.reproducible-builds.org/debian/rb-pkg/unstable/i386/diffoscope-results/isl.html) which look somewhat similar The build log ( |
|
I'm also running into this on x86_64: |
When looking at the dependencies of nix show-derivation -r 'github:nixos/nixpkgs?ref=c5147860e23ed75ce9d40298c66b416c00be116#busybox-sandbox-shell' \
| jq 'keys' \
| jq '.[]' \
| grep 'isl-0.20.drv'I get two
|
|
The CPU machine type could be the problem after all. I executed
|
|
The issue is that the
I'd go for the second option as it doesn't require a mapping for all the architectures we support. |
|
Since 1359822 is merged into master now, |
|
The reproducibility problems weren't always, erm, reproducible, but this is a good sign! Let's close this until we have reason to suspect further problems. |
Describe the bug
The closure of the iso-minimal derivation contains a version of the 'isl' library that does not build deterministically.
To Reproduce
The 'normal' isl library is reproducible:
nix-build '<nixpkgs>' -A isl --checksucceeds.However, an isl that is a transitive dependency of busybox-sandbox-shell is not reproducible:
I'm not sure how to diagnose what's different with this isl derivation that makes it unreproducible. I also tried
nix-build '<nixpkgs>' --arg crossSystem '(import <nixpkgs> {}).lib.systems.examples.musl64' -A isl --check, but that also succeeds for me.The text was updated successfully, but these errors were encountered: