guix: Zip file non-determinism when building in WSL #32931

issue achow101 opened this issue on July 10, 2025
  1. achow101 commented at 6:53 AM on July 10, 2025: member

    In debugging #32923, I found that while it is possible to do a guix build in WSL on a aarch64 machine, the resulting zip files did not match the build on x86_64. The binaries within the zip files matched, and it appears the non-determinism comes from zip including the file permissions. This is presumably because the WSL build occurs on a NTFS drive which handles file permissions differently from other unix file systems.

    Diffoscope output:

    --- x86_64-zipinfo	2025-07-09 23:52:39.650231781 -0700
    +++ aarch64-zipinfo	2025-07-09 23:52:45.010145329 -0700
    @@ -1,27 +1,27 @@
    -Archive:  ../../../guix-build-ea5d2bb98598/output/x86_64-w64-mingw32/bitcoin-ea5d2bb98598-win64-unsigned.zip
    +Archive:  bitcoin-ea5d2bb98598-win64-unsigned.zip
     Zip file size: 45922845 bytes, number of entries: 24
    -drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/
    -drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/
    --rwxr-xr-x  3.0 unx  2235411 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-cli.exe
    --rwxr-xr-x  3.0 unx 40257059 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-qt.exe
    --rwxr-xr-x  3.0 unx  4107283 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-tx.exe
    --rwxr-xr-x  3.0 unx  1935891 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-util.exe
    --rwxr-xr-x  3.0 unx  8202259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-wallet.exe
    --rwxr-xr-x  3.0 unx  1216019 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin.exe
    --rwxr-xr-x  3.0 unx 14261779 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoind.exe
    --rwxr-xr-x  3.0 unx 25802259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/test_bitcoin.exe
    --rw-r--r--  3.0 unx      126 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bitcoin.conf
    --rw-r--r--  3.0 unx      846 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/readme.txt
    -drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/
    -drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/
    -drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/
    --rw-r--r--  3.0 unx      214 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-cli.1
    --rw-r--r--  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-qt.1
    --rw-r--r--  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-tx.1
    --rw-r--r--  3.0 unx      217 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-util.1
    --rw-r--r--  3.0 unx      223 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-wallet.1
    --rw-r--r--  3.0 unx      205 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoind.1
    -drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/
    --rw-r--r--  3.0 unx      453 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/README.md
    --rwxr-xr-x  3.0 unx     1764 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/rpcauth.py
    +drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/
    +drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/
    +-rwxrwxrwx  3.0 unx  2235411 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-cli.exe
    +-rwxrwxrwx  3.0 unx 40257059 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-qt.exe
    +-rwxrwxrwx  3.0 unx  4107283 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-tx.exe
    +-rwxrwxrwx  3.0 unx  1935891 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-util.exe
    +-rwxrwxrwx  3.0 unx  8202259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-wallet.exe
    +-rwxrwxrwx  3.0 unx  1216019 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin.exe
    +-rwxrwxrwx  3.0 unx 14261779 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoind.exe
    +-rwxrwxrwx  3.0 unx 25802259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/test_bitcoin.exe
    +-rwxrwxrwx  3.0 unx      126 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bitcoin.conf
    +-rwxrwxrwx  3.0 unx      846 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/readme.txt
    +drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/
    +drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/
    +drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/
    +-rwxrwxrwx  3.0 unx      214 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-cli.1
    +-rwxrwxrwx  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-qt.1
    +-rwxrwxrwx  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-tx.1
    +-rwxrwxrwx  3.0 unx      217 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-util.1
    +-rwxrwxrwx  3.0 unx      223 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-wallet.1
    +-rwxrwxrwx  3.0 unx      205 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoind.1
    +drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/
    +-rwxrwxrwx  3.0 unx      453 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/README.md
    +-rwxrwxrwx  3.0 unx     1764 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/rpcauth.py
    
  2. maflcko added the label Build system on Jul 10, 2025
  3. maflcko added the label Windows on Jul 10, 2025
  4. maflcko removed the label Windows on Jul 10, 2025
  5. achow101 commented at 9:18 PM on July 10, 2025: member

    Switching to a non-ntfs drive works I guess. But it would be preferable if the build was filesystem agnostic.

  6. Sjors commented at 5:10 PM on July 22, 2025: member

    Maybe copy the build over and then zip it?

  7. bitcoin deleted a comment on Jul 23, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-19 00:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me