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

issue achow101 openend 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:

     0--- x86_64-zipinfo	2025-07-09 23:52:39.650231781 -0700
     1+++ aarch64-zipinfo	2025-07-09 23:52:45.010145329 -0700
     2@@ -1,27 +1,27 @@
     3-Archive:  ../../../guix-build-ea5d2bb98598/output/x86_64-w64-mingw32/bitcoin-ea5d2bb98598-win64-unsigned.zip
     4+Archive:  bitcoin-ea5d2bb98598-win64-unsigned.zip
     5 Zip file size: 45922845 bytes, number of entries: 24
     6-drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/
     7-drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/
     8--rwxr-xr-x  3.0 unx  2235411 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-cli.exe
     9--rwxr-xr-x  3.0 unx 40257059 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-qt.exe
    10--rwxr-xr-x  3.0 unx  4107283 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-tx.exe
    11--rwxr-xr-x  3.0 unx  1935891 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-util.exe
    12--rwxr-xr-x  3.0 unx  8202259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-wallet.exe
    13--rwxr-xr-x  3.0 unx  1216019 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin.exe
    14--rwxr-xr-x  3.0 unx 14261779 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoind.exe
    15--rwxr-xr-x  3.0 unx 25802259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/test_bitcoin.exe
    16--rw-r--r--  3.0 unx      126 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bitcoin.conf
    17--rw-r--r--  3.0 unx      846 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/readme.txt
    18-drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/
    19-drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/
    20-drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/
    21--rw-r--r--  3.0 unx      214 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-cli.1
    22--rw-r--r--  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-qt.1
    23--rw-r--r--  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-tx.1
    24--rw-r--r--  3.0 unx      217 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-util.1
    25--rw-r--r--  3.0 unx      223 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-wallet.1
    26--rw-r--r--  3.0 unx      205 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoind.1
    27-drwxr-xr-x  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/
    28--rw-r--r--  3.0 unx      453 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/README.md
    29--rwxr-xr-x  3.0 unx     1764 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/rpcauth.py
    30+drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/
    31+drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/
    32+-rwxrwxrwx  3.0 unx  2235411 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-cli.exe
    33+-rwxrwxrwx  3.0 unx 40257059 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-qt.exe
    34+-rwxrwxrwx  3.0 unx  4107283 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-tx.exe
    35+-rwxrwxrwx  3.0 unx  1935891 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-util.exe
    36+-rwxrwxrwx  3.0 unx  8202259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin-wallet.exe
    37+-rwxrwxrwx  3.0 unx  1216019 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoin.exe
    38+-rwxrwxrwx  3.0 unx 14261779 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/bitcoind.exe
    39+-rwxrwxrwx  3.0 unx 25802259 b- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bin/test_bitcoin.exe
    40+-rwxrwxrwx  3.0 unx      126 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/bitcoin.conf
    41+-rwxrwxrwx  3.0 unx      846 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/readme.txt
    42+drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/
    43+drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/
    44+drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/
    45+-rwxrwxrwx  3.0 unx      214 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-cli.1
    46+-rwxrwxrwx  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-qt.1
    47+-rwxrwxrwx  3.0 unx      211 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-tx.1
    48+-rwxrwxrwx  3.0 unx      217 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-util.1
    49+-rwxrwxrwx  3.0 unx      223 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoin-wallet.1
    50+-rwxrwxrwx  3.0 unx      205 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/man/man1/bitcoind.1
    51+drwxrwxrwx  3.0 unx        0 b- stor 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/
    52+-rwxrwxrwx  3.0 unx      453 t- defN 25-Jul-10 05:44 bitcoin-ea5d2bb98598/share/rpcauth/README.md
    53+-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.


achow101

Labels
Build system


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: 2025-07-11 00:13 UTC

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