guix: Add support for powerpc64{,le} #21089

pull dongcarl wants to merge 2 commits into bitcoin:master from dongcarl:2021-02-guix-ppc64-support changing 4 files +21 −14
  1. dongcarl commented at 7:51 pm on February 5, 2021: member
    0The new time-machine commit contains a few small changes that make the
    1powerpc cross-toolchain work.
    

    See this compare to review my custom patches to Guix: https://github.com/dongcarl/guix/compare/7d6bd44da57926e0d4af25eba723a61c82beef98...6c9d16db962a6f7155571b36eced681fd2889e23

  2. dongcarl added this to the "PRs" column in a project

  3. DrahtBot added the label Build system on Feb 5, 2021
  4. DrahtBot added the label Docs on Feb 5, 2021
  5. DrahtBot added the label Scripts and tools on Feb 5, 2021
  6. MarcoFalke added the label Needs Guix build on Feb 6, 2021
  7. DrahtBot removed the label Needs Guix build on Feb 8, 2021
  8. MarcoFalke added the label Needs Guix build on Feb 8, 2021
  9. laanwj commented at 12:09 pm on February 8, 2021: member
    Changes look good to me, didn’t test or review in detail yet. Concept ACK.
  10. DrahtBot removed the label Needs Guix build on Feb 11, 2021
  11. laanwj commented at 3:11 pm on February 11, 2021: member

    Trying to run the guix build on a bare ubuntu server image (with guix installed through guix-install.sh from the guix website) i get the following errors:

    0user@guix:~/bitcoin$ ./contrib/guix/guix-build.sh     
    1/bin/sh: 1: gcc: not found     
    2/bin/sh: 1: gcc: not found                                                                                
    3/bin/sh: 1: g++: not found                                                                                
    4/bin/sh: 1: g++: not found                                                                                
    5env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang': No such file or directory
    6env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang': No such file or directory
    7env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang++': No such file or directory
    8env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang++': No such file or directory
    

    Is it necessary to install gcc and g++ outside of guix?

    It does continue, no idea if it will complete.

  12. dongcarl commented at 5:32 pm on February 11, 2021: member

    Is it necessary to install gcc and g++ outside of guix?

    No I don’t think so.

    I’m almost certain this is caused by the depends download triggering some “immediate” variables in our depends Makefile from evaluating… Shouldn’t harm anything, but lemme dig and see where this is.

    Update: Ah! This is because we now call build_CC and host_CC when determining our id_strings, and since the id_string variables are “immediate”, any appending will also be evaluated immediately… Perhaps we can just set it to a dummy value when we’re just downloading? Not sure what the best fix is here…

  13. MarcoFalke deleted a comment on Feb 11, 2021
  14. MarcoFalke deleted a comment on Feb 11, 2021
  15. MarcoFalke added the label Needs Guix build on Feb 11, 2021
  16. laanwj commented at 10:01 pm on February 11, 2021: member

    Buld success (commit f4ae44c76feeb6a4400c374cb7641caf89f3b8ae):

    00c3355d662c9828be853c774fac9e9ae38538dfae0e86193b9c427d4f6652940  output/bitcoin-f4ae44c76fee-powerpc64-linux-gnu-debug.tar.gz
    1d56c3b095f63bd00466c1765dd83c21a886ef9ce3695745fed55a176f7b2e3aa  output/bitcoin-f4ae44c76fee-powerpc64-linux-gnu.tar.gz
    23209447188534bb2135030c2abaad9e2e5b4a69130720a5ad667bc746c7ae4de  output/bitcoin-f4ae44c76fee-powerpc64le-linux-gnu-debug.tar.gz
    303424501de81bcc9126e55dd01a3f48d0607ed5b6c782af0fbada9d68b8b83ac  output/bitcoin-f4ae44c76fee-powerpc64le-linux-gnu.tar.gz
    

    Edit: oh, drahtbot’s build of that commit is gone. Edit: it’s at least locally deterministic. I built twice and got the same result.

  17. DrahtBot commented at 3:12 am on February 12, 2021: member

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Conflicts

    No conflicts as of last run.

  18. fanquake commented at 5:05 am on February 12, 2021: member

    Builds at 62cc2180afc1f2e2465eefb9b589a3b3a23d6376:

    0d29bb491a712da73a146ba7cf7935e1cf2ee491fbbc92ac8bd59e3a41126ed5d  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu-debug.tar.gz
    1d5065882b91b004f68cedb48b6704081fdf7368a2c2854c240bba6533adb0e97  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu.tar.gz
    24ffa90656e515b9aa714eaa062f8172df467c3bc585210356c05d40f2341dd4f  output/bitcoin-62cc2180afc1-powerpc64le-linux-gnu-debug.tar.gz
    34b23bfb20afcf2924dd8eb6d3fac9fad5109f1516a0fe0343e0e7f6fa87af784  output/bitcoin-62cc2180afc1-powerpc64le-linux-gnu.tar.gz
    4e4a05d6a09d824c10a3d6157a294b65e1053125a98c9a51f1f6d5b2d8c44e3ba  output/src/bitcoin-62cc2180afc1.tar.gz
    
  19. laanwj commented at 4:21 pm on February 12, 2021: member

    Can reproduce @fanquake’s results :tada:

    0d29bb491a712da73a146ba7cf7935e1cf2ee491fbbc92ac8bd59e3a41126ed5d  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu-debug.tar.gz
    1d5065882b91b004f68cedb48b6704081fdf7368a2c2854c240bba6533adb0e97  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu.tar.gz
    24ffa90656e515b9aa714eaa062f8172df467c3bc585210356c05d40f2341dd4f  output/bitcoin-62cc2180afc1-powerpc64le-linux-gnu-debug.tar.gz
    34b23bfb20afcf2924dd8eb6d3fac9fad5109f1516a0fe0343e0e7f6fa87af784  output/bitcoin-62cc2180afc1-powerpc64le-linux-gnu.tar.gz
    4e4a05d6a09d824c10a3d6157a294b65e1053125a98c9a51f1f6d5b2d8c44e3ba  output/src/bitcoin-62cc2180afc1.tar.gz
    
  20. MarcoFalke commented at 8:55 pm on February 12, 2021: member
    0sha256sum output/{,src/}bitcoin*
    1e95c04f190722a5577b2a3f78463d01f13f87f748ec63d1df325db68a578e677  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu-debug.tar.gz
    2cd6b14920197c0fcdae0609908359a1c2e3af8bb45590abc079f1d4bff5e9d0a  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu.tar.gz
    3e4a05d6a09d824c10a3d6157a294b65e1053125a98c9a51f1f6d5b2d8c44e3ba  output/src/bitcoin-62cc2180afc1.tar.gz
    

    Download: https://github.com/MarcoFalke/drahtbox/releases/download/none/bitcoin-62cc2180afc1-powerpc64-linux-gnu.tar.gz

    I compiled on aarch64, which is not allowed, I presume?

  21. laanwj commented at 9:56 am on February 13, 2021: member

    @MarcoFalke i’d say it is allowed i’ll want to do my future builds on RV64.

    Would be good to investigate what is different in your results (and whether they differ for other target architectures than POWER too).

    That said, i don’t think “determinism when building on other architectures” is a blocker for this PR, might want to open a new issue for that.

  22. laanwj commented at 4:15 pm on February 13, 2021: member

    I did another build for this on the GUIX distribution (x86_64) instead of installing it on top of another. After setting up a VM starting from the QEMU image, and setting up ssh access for guest (which wasn’t that complicated but had to re-learn a bit of LISP in the process) it was completely straightforward:

     0# (copy in Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz through scp or such …)
     1guix install git make curl
     2git clone https://github.com/bitcoin/bitcoin.git
     3cd bitcoin
     4
     5mkdir -p depends/SDKs
     6cd depends/SDKs
     7tar -zxf ~/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
     8cd ../..
     9
    10contrib/guix/guix-build.sh
    

    Output:

    04ffa90656e515b9aa714eaa062f8172df467c3bc585210356c05d40f2341dd4f  output/bitcoin-62cc2180afc1-powerpc64le-linux-gnu-debug.tar.gz
    14b23bfb20afcf2924dd8eb6d3fac9fad5109f1516a0fe0343e0e7f6fa87af784  output/bitcoin-62cc2180afc1-powerpc64le-linux-gnu.tar.gz
    2d29bb491a712da73a146ba7cf7935e1cf2ee491fbbc92ac8bd59e3a41126ed5d  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu-debug.tar.gz
    3d5065882b91b004f68cedb48b6704081fdf7368a2c2854c240bba6533adb0e97  output/bitcoin-62cc2180afc1-powerpc64-linux-gnu.tar.gz
    4e4a05d6a09d824c10a3d6157a294b65e1053125a98c9a51f1f6d5b2d8c44e3ba  output/src/bitcoin-62cc2180afc1.tar.gz
    

    Matches my results on Ubuntu and @fanquake’s.

  23. DrahtBot removed the label Needs Guix build on Feb 14, 2021
  24. laanwj commented at 8:48 am on February 14, 2021: member

    Drahtbot build issue is due to disk space:

    0/gnu/store/25s9l7cgwz01qq3crbh1dpfw69gvvna4-profile/bin/install: error writing '/distsrc-base/distsrc-a6b382150bcc-powerpc64le-linux-gnu/installed/bitcoin-a6b382150bcc//bin/test_bitcoin': No space left on device
    1make[3]: *** [Makefile:4521: install-binPROGRAMS] Error 1
    
  25. MarcoFalke commented at 9:09 am on February 14, 2021: member

    Yeah, I am confused about that. I have ~30GB of free disk space, which seems like enough?

    0$ df -h ./
    1Filesystem      Size  Used Avail Use% Mounted on
    2/dev/root       146G  117G   29G  81% /
    
  26. laanwj commented at 9:51 am on February 14, 2021: member

    i don’t know ? gitiian deletes the intermediate build files between builds for each architecture, i don’t know if the GUIX build currently does; fwiw my GUIX VM after the build:

    0Filesystem      Size  Used Avail Use% Mounted on
    1/dev/vda1        79G   61G   15G  81% /
    
  27. MarcoFalke commented at 10:19 am on February 14, 2021: member

    Maybe the docs should be updated here to clarify that 60 GB [1] are now needed? https://github.com/bitcoin/bitcoin/blob/fa051c23860bcdcc871db5ad6b51b8d9ca88da35/contrib/guix/README.md#requirements

    Edit: DrahtBot’s gnu store is 11G, but probably including some now-unused packages.

    [1] 10 GB + 5 GB per distsrc host

  28. MarcoFalke commented at 11:27 am on February 16, 2021: member

    might want to open a new issue for that.

    Done in #21194

  29. MarcoFalke deleted a comment on Feb 16, 2021
  30. MarcoFalke removed the label Build system on Feb 16, 2021
  31. MarcoFalke removed the label Docs on Feb 16, 2021
  32. dongcarl force-pushed on Feb 16, 2021
  33. dongcarl commented at 5:35 pm on February 16, 2021: member

    Pushed 62cc2180afc1f2e2465eefb9b589a3b3a23d6376 -> 4dd3c2ffe283ed6ff30d1ca1eaf2a50c1c643fff

    • Rebase on master for merge of #20629
    • Updated conservative size estimates following laanwj and MarcoFalke’s conversations above

    Thanks MarcoFalke for opening #21194, would be great to get it reproducible across architectures as a stretch goal!

    Usability notes:

    1. Find a way to suppress the harmless yet alarming warnings: #21089 (comment)
    2. Perhaps add an XCODE_SDK_TARBALL env var to contrib/guix/guix-build.sh to avoid manual untarring
  34. dongcarl force-pushed on Feb 18, 2021
  35. dongcarl commented at 7:33 pm on February 18, 2021: member

    Pushed 4dd3c2ffe283ed6ff30d1ca1eaf2a50c1c643fff -> 857d98daa5dd778c6fdf7d58c65653c569e5a35d

    • Rebase for merge of base PR #21087
  36. guix: Add support for powerpc64{,le}
    The new time-machine commit contains a few small changes that make the
    powerpc cross-toolchain work.
    5e6df11326
  37. guix: Update conservative space requirements 95990b9f32
  38. dongcarl force-pushed on Feb 19, 2021
  39. dongcarl commented at 4:32 pm on February 19, 2021: member

    Pushed 857d98daa5dd778c6fdf7d58c65653c569e5a35d -> 95990b9f3278360b63e79d6975af4ab5009c66ba

    • Rebase for merge of base PR #21088
     0$ find output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     189d8a12bba6c455b673bd6c8cc4ce7b4f9def7df7259ae514757344083293523  output/bitcoin-95990b9f3278-aarch64-linux-gnu-debug.tar.gz
     24c885962e3c3b5b79c9ab04a93e717cebb67130b0e74bb3514cec1d40de8cc0b  output/bitcoin-95990b9f3278-aarch64-linux-gnu.tar.gz
     3a1bb294d91bf53e0e40df7b259503182a77c515fc8fbbbb7d5437e3560c8d1ce  output/bitcoin-95990b9f3278-arm-linux-gnueabihf-debug.tar.gz
     48bfc10b51d6fd3c694f67da315065997fc4a599961dfd352cfdcc3a3e0bf53c9  output/bitcoin-95990b9f3278-arm-linux-gnueabihf.tar.gz
     5f8640d5d7880a3b9d9b65547e1ea85a1114d7ecc25729aa5e0e2a8141b564723  output/bitcoin-95990b9f3278-osx-unsigned.dmg
     66d1b91124bd4386327c23a16e075aa4d9d93330dc53a4882c5f0f06c83509079  output/bitcoin-95990b9f3278-osx-unsigned.tar.gz
     775796657f3d5c77d971abb4dc99114df6e964b3e4de6061756b01b0867aa8d27  output/bitcoin-95990b9f3278-osx64.tar.gz
     8060aaf3cc00a5470d5b68c021afc16f56afe6cace335c935d99e67ad695648d5  output/bitcoin-95990b9f3278-powerpc64-linux-gnu-debug.tar.gz
     948ce7c67ea620ed84251923a7a29c050e57d52548df1ec21dd9c5b252b2de2c6  output/bitcoin-95990b9f3278-powerpc64-linux-gnu.tar.gz
    10f37029a01bd8cb6479ce6c1eba9cf442b9562c5557aa1ef6c2f31294ff993de6  output/bitcoin-95990b9f3278-powerpc64le-linux-gnu-debug.tar.gz
    11b4216539ba7b66009aec6d086fa1b6583ee856d7a4d7093da5a5ed8067231e6a  output/bitcoin-95990b9f3278-powerpc64le-linux-gnu.tar.gz
    12ec373358e29eb7039a7d8f1934fe8ac4167bec55e1799b345c7bc6f9459ab2c1  output/bitcoin-95990b9f3278-riscv64-linux-gnu-debug.tar.gz
    137406f147a1fc24d599a0cf5bfd7a69d0f6146b3c4849daeb640c6a83987ceb79  output/bitcoin-95990b9f3278-riscv64-linux-gnu.tar.gz
    14258cf66fec82fee8c4ef41c33fe9afce23f80b63deba5b2e9b3f54d541da746f  output/bitcoin-95990b9f3278-win-unsigned.tar.gz
    15730c264f8a105783a6050c6a2e90b45ebb62d421977ae8cf63b2e4aa46cd15b9  output/bitcoin-95990b9f3278-win64-debug.zip
    16a2f8c81815991971131fb7c7ec35e03fc9057984fcfe4ae86eeba4c20ac53858  output/bitcoin-95990b9f3278-win64-setup-unsigned.exe
    1718bd121edd5eed66987443e2635a41f404bfdd5a194aae35d31f4a826eff52fc  output/bitcoin-95990b9f3278-win64.zip
    18f87f5583f7bd42d6ef3d22cc3379d462124b546d7eb8f8eed1240b6ee20ff8ab  output/bitcoin-95990b9f3278-x86_64-linux-gnu-debug.tar.gz
    19dbb746cb5128cea7c79ade844a8961636e362c9489dede4637e3b1111761fc77  output/bitcoin-95990b9f3278-x86_64-linux-gnu.tar.gz
    20e112d90e3527c2f2efcebe642c031e87ccba005b43c43a57edd7cea64349e531  output/src/bitcoin-95990b9f3278.tar.gz
    
  40. dongcarl moved this from the "PRs" to the "Next (Not based on any other PRs)" column in a project

  41. fanquake commented at 5:29 am on February 20, 2021: member

    I’m seeing a mismatch with bitcoin-95990b9f3278-win64.zip and bitcoin-95990b9f3278-win64-debug.zip:

     0bash-5.1# find output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
     189d8a12bba6c455b673bd6c8cc4ce7b4f9def7df7259ae514757344083293523  output/bitcoin-95990b9f3278-aarch64-linux-gnu-debug.tar.gz
     24c885962e3c3b5b79c9ab04a93e717cebb67130b0e74bb3514cec1d40de8cc0b  output/bitcoin-95990b9f3278-aarch64-linux-gnu.tar.gz
     3a1bb294d91bf53e0e40df7b259503182a77c515fc8fbbbb7d5437e3560c8d1ce  output/bitcoin-95990b9f3278-arm-linux-gnueabihf-debug.tar.gz
     48bfc10b51d6fd3c694f67da315065997fc4a599961dfd352cfdcc3a3e0bf53c9  output/bitcoin-95990b9f3278-arm-linux-gnueabihf.tar.gz
     5f8640d5d7880a3b9d9b65547e1ea85a1114d7ecc25729aa5e0e2a8141b564723  output/bitcoin-95990b9f3278-osx-unsigned.dmg
     66d1b91124bd4386327c23a16e075aa4d9d93330dc53a4882c5f0f06c83509079  output/bitcoin-95990b9f3278-osx-unsigned.tar.gz
     775796657f3d5c77d971abb4dc99114df6e964b3e4de6061756b01b0867aa8d27  output/bitcoin-95990b9f3278-osx64.tar.gz
     8060aaf3cc00a5470d5b68c021afc16f56afe6cace335c935d99e67ad695648d5  output/bitcoin-95990b9f3278-powerpc64-linux-gnu-debug.tar.gz
     948ce7c67ea620ed84251923a7a29c050e57d52548df1ec21dd9c5b252b2de2c6  output/bitcoin-95990b9f3278-powerpc64-linux-gnu.tar.gz
    10f37029a01bd8cb6479ce6c1eba9cf442b9562c5557aa1ef6c2f31294ff993de6  output/bitcoin-95990b9f3278-powerpc64le-linux-gnu-debug.tar.gz
    11b4216539ba7b66009aec6d086fa1b6583ee856d7a4d7093da5a5ed8067231e6a  output/bitcoin-95990b9f3278-powerpc64le-linux-gnu.tar.gz
    12ec373358e29eb7039a7d8f1934fe8ac4167bec55e1799b345c7bc6f9459ab2c1  output/bitcoin-95990b9f3278-riscv64-linux-gnu-debug.tar.gz
    137406f147a1fc24d599a0cf5bfd7a69d0f6146b3c4849daeb640c6a83987ceb79  output/bitcoin-95990b9f3278-riscv64-linux-gnu.tar.gz
    14258cf66fec82fee8c4ef41c33fe9afce23f80b63deba5b2e9b3f54d541da746f  output/bitcoin-95990b9f3278-win-unsigned.tar.gz
    1568b7d61e61bd6305343e9cb80a2244403b4ae30c586313126f0c0e4ef6935bb2  output/bitcoin-95990b9f3278-win64-debug.zip
    16a2f8c81815991971131fb7c7ec35e03fc9057984fcfe4ae86eeba4c20ac53858  output/bitcoin-95990b9f3278-win64-setup-unsigned.exe
    17e9a25fc9355fbaf8ddaaff7eea8ac3e18ef0fcb2dc12f4744c406189bd6389d6  output/bitcoin-95990b9f3278-win64.zip
    18f87f5583f7bd42d6ef3d22cc3379d462124b546d7eb8f8eed1240b6ee20ff8ab  output/bitcoin-95990b9f3278-x86_64-linux-gnu-debug.tar.gz
    19dbb746cb5128cea7c79ade844a8961636e362c9489dede4637e3b1111761fc77  output/bitcoin-95990b9f3278-x86_64-linux-gnu.tar.gz
    20e112d90e3527c2f2efcebe642c031e87ccba005b43c43a57edd7cea64349e531  output/src/bitcoin-95990b9f3278.tar.gz
    

    My build artifacts are available here: https://github.com/fanquake/build_artifacts/releases/tag/guix_21089.

  42. MarcoFalke commented at 6:07 pm on February 20, 2021: member

    https://github.com/MarcoFalke/drahtbox/releases/tag/bitcoin-95990b9f3278

     089d8a12bba6c455b673bd6c8cc4ce7b4f9def7df7259ae514757344083293523  output/bitcoin-95990b9f3278-aarch64-linux-gnu-debug.tar.gz
     14c885962e3c3b5b79c9ab04a93e717cebb67130b0e74bb3514cec1d40de8cc0b  output/bitcoin-95990b9f3278-aarch64-linux-gnu.tar.gz
     2a1bb294d91bf53e0e40df7b259503182a77c515fc8fbbbb7d5437e3560c8d1ce  output/bitcoin-95990b9f3278-arm-linux-gnueabihf-debug.tar.gz
     38bfc10b51d6fd3c694f67da315065997fc4a599961dfd352cfdcc3a3e0bf53c9  output/bitcoin-95990b9f3278-arm-linux-gnueabihf.tar.gz
     4060aaf3cc00a5470d5b68c021afc16f56afe6cace335c935d99e67ad695648d5  output/bitcoin-95990b9f3278-powerpc64-linux-gnu-debug.tar.gz
     548ce7c67ea620ed84251923a7a29c050e57d52548df1ec21dd9c5b252b2de2c6  output/bitcoin-95990b9f3278-powerpc64-linux-gnu.tar.gz
     6f37029a01bd8cb6479ce6c1eba9cf442b9562c5557aa1ef6c2f31294ff993de6  output/bitcoin-95990b9f3278-powerpc64le-linux-gnu-debug.tar.gz
     7b4216539ba7b66009aec6d086fa1b6583ee856d7a4d7093da5a5ed8067231e6a  output/bitcoin-95990b9f3278-powerpc64le-linux-gnu.tar.gz
     8ec373358e29eb7039a7d8f1934fe8ac4167bec55e1799b345c7bc6f9459ab2c1  output/bitcoin-95990b9f3278-riscv64-linux-gnu-debug.tar.gz
     97406f147a1fc24d599a0cf5bfd7a69d0f6146b3c4849daeb640c6a83987ceb79  output/bitcoin-95990b9f3278-riscv64-linux-gnu.tar.gz
    10258cf66fec82fee8c4ef41c33fe9afce23f80b63deba5b2e9b3f54d541da746f  output/bitcoin-95990b9f3278-win-unsigned.tar.gz
    1168b7d61e61bd6305343e9cb80a2244403b4ae30c586313126f0c0e4ef6935bb2  output/bitcoin-95990b9f3278-win64-debug.zip
    12a2f8c81815991971131fb7c7ec35e03fc9057984fcfe4ae86eeba4c20ac53858  output/bitcoin-95990b9f3278-win64-setup-unsigned.exe
    13e9a25fc9355fbaf8ddaaff7eea8ac3e18ef0fcb2dc12f4744c406189bd6389d6  output/bitcoin-95990b9f3278-win64.zip
    14f87f5583f7bd42d6ef3d22cc3379d462124b546d7eb8f8eed1240b6ee20ff8ab  output/bitcoin-95990b9f3278-x86_64-linux-gnu-debug.tar.gz
    15dbb746cb5128cea7c79ade844a8961636e362c9489dede4637e3b1111761fc77  output/bitcoin-95990b9f3278-x86_64-linux-gnu.tar.gz
    
  43. MarcoFalke commented at 6:07 pm on February 20, 2021: member
    (seems to be matching fanquake)
  44. laanwj commented at 11:38 pm on February 20, 2021: member
    My output matches @fanquake’s and @MarcoFalke’s exactly
  45. MarcoFalke added the label Waiting for author on Feb 21, 2021
  46. dongcarl commented at 5:44 pm on February 22, 2021: member

    Investigated a bit, seems like a difference in umask? (Thank goodness it’s this simple)

    Here’s my umask on the machine where I ran this build:

    0$ umask
    10002
    

    I see that on other machines umask is 0022.

    Shall we set the umask to 0022 at the beginning of our guix-build.sh script?

     0$ diffoscope focal-virt/bitcoin-95990b9f3278-win64-debug.zip fanquake/bitcoin-95990b9f3278-win64-debug.zip
     1--- focal-virt/bitcoin-95990b9f3278-win64-debug.zip
     2+++ fanquake/bitcoin-95990b9f3278-win64-debug.zip
     3├── zipinfo {}
     4│ @@ -1,10 +1,10 @@
     5│  Zip file size: 441816619 bytes, number of entries: 8
     6│ --rwxrwxr-x  3.0 unx 37351236 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-cli.exe.dbg
     7│ --rwxrwxr-x  3.0 unx 612859596 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-qt.exe.dbg
     8│ --rwxrwxr-x  3.0 unx 56000510 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-tx.exe.dbg
     9│ --rwxrwxr-x  3.0 unx 37965401 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-util.exe.dbg
    10│ --rwxrwxr-x  3.0 unx 205062558 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-wallet.exe.dbg
    11│ --rwxrwxr-x  3.0 unx 449083928 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoind.exe.dbg
    12│ --rwxrwxr-x  3.0 unx 907142051 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/test_bitcoin.exe.dbg
    13│ --rwxrwxr-x  3.0 unx 12217326 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/lib/libbitcoinconsensus-0.dll.dbg
    14│ +-rwxr-xr-x  3.0 unx 37351236 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-cli.exe.dbg
    15│ +-rwxr-xr-x  3.0 unx 612859596 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-qt.exe.dbg
    16│ +-rwxr-xr-x  3.0 unx 56000510 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-tx.exe.dbg
    17│ +-rwxr-xr-x  3.0 unx 37965401 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-util.exe.dbg
    18│ +-rwxr-xr-x  3.0 unx 205062558 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-wallet.exe.dbg
    19│ +-rwxr-xr-x  3.0 unx 449083928 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoind.exe.dbg
    20│ +-rwxr-xr-x  3.0 unx 907142051 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/test_bitcoin.exe.dbg
    21│ +-rwxr-xr-x  3.0 unx 12217326 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/lib/libbitcoinconsensus-0.dll.dbg
    228 files, 2317682606 bytes uncompressed, 441815265 bytes compressed:  80.9%
    
     0$ diffoscope focal-virt/bitcoin-95990b9f3278-win64.zip fanquake/bitcoin-95990b9f3278-win64.zip
     1--- focal-virt/bitcoin-95990b9f3278-win64.zip
     2+++ fanquake/bitcoin-95990b9f3278-win64.zip
     3├── zipinfo {}
     4│ @@ -1,25 +1,25 @@
     5│  Zip file size: 33782287 bytes, number of entries: 23
     6│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/
     7│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/
     8│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/
     9│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/
    10│  -rwxr-xr-x  3.0 unx  2069523 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-cli.exe
    11│  -rwxr-xr-x  3.0 unx 31886879 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-qt.exe
    12│  -rwxr-xr-x  3.0 unx  2385939 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-tx.exe
    13│  -rwxr-xr-x  3.0 unx  1894931 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-util.exe
    14│  -rwxr-xr-x  3.0 unx  7110675 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoin-wallet.exe
    15│  -rwxr-xr-x  3.0 unx 12144659 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/bitcoind.exe
    16│  -rwxr-xr-x  3.0 unx 20453907 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/bin/test_bitcoin.exe
    17│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/include/
    18│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/include/
    19│  -rw-r--r--  3.0 unx     3660 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/include/bitcoinconsensus.h
    20│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/lib/
    21│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/lib/
    22│  -rwxr-xr-x  3.0 unx  1442323 b- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/lib/libbitcoinconsensus-0.dll
    23│ --rw-rw-r--  3.0 unx      846 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/readme.txt
    24│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/share/
    25│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/
    26│ -drwxrwxr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/
    27│ +-rw-r--r--  3.0 unx      846 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/readme.txt
    28│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/share/
    29│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/
    30│ +drwxr-xr-x  3.0 unx        0 b- stor 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/
    31│  -rw-r--r--  3.0 unx      214 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/bitcoin-cli.1
    32│  -rw-r--r--  3.0 unx      211 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/bitcoin-qt.1
    33│  -rw-r--r--  3.0 unx      211 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/bitcoin-tx.1
    34│  -rw-r--r--  3.0 unx      217 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/bitcoin-util.1
    35│  -rw-r--r--  3.0 unx      223 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/bitcoin-wallet.1
    36│  -rw-r--r--  3.0 unx      205 t- defN 21-Feb-16 17:29 bitcoin-95990b9f3278/share/man/man1/bitcoind.1
    3723 files, 79394623 bytes uncompressed, 33778727 bytes compressed:  57.5%
    
  47. dongcarl removed the label Waiting for author on Feb 22, 2021
  48. laanwj commented at 5:58 pm on February 22, 2021: member

    Shall we set the umask to 0022 at the beginning of our guix-build.sh script?

    Maybe. I’m a bit disappointed that Guix doesn’t handle this itself! It seems like one of the first things you’d want to be robust against (apart from time, environment, username) when doing deterministic builds.

    That said sure we can do it as a workaround. Could also do it incontrib/guix/libexec/build.sh.

  49. dongcarl commented at 7:00 pm on February 22, 2021: member

    I’m a bit disappointed that Guix doesn’t handle this itself! It seems like one of the first things you’d want to be robust against (apart from time, environment, username) when doing deterministic builds.

    To be clear, when guix-daemon is building a package in its isolated container (for us, that is all the packages in our manifest.scm), umask is set. I think guix environment doesn’t set it because it’s meant to be more of an “overlay” on top of your existing system (at least when --container is not supplied).

  50. dongcarl commented at 9:41 pm on February 22, 2021: member
    I opened #21271 to fix the non-reproducibility separately. I think this PR is ready for merge.
  51. fanquake approved
  52. fanquake commented at 2:41 am on February 23, 2021: member
    ACK 95990b9f3278360b63e79d6975af4ab5009c66ba
  53. fanquake merged this on Feb 23, 2021
  54. fanquake closed this on Feb 23, 2021

  55. fanquake moved this from the "Next (Not based on any other PRs)" to the "Done" column in a project

  56. sidhujag referenced this in commit c72fa49d30 on Feb 23, 2021
  57. fanquake referenced this in commit 56f06a9863 on Feb 25, 2021
  58. sidhujag referenced this in commit cace0de111 on Feb 25, 2021
  59. laanwj referenced this in commit 5ba5becbb5 on Feb 26, 2021
  60. sidhujag referenced this in commit 8a1ee82c57 on Feb 26, 2021
  61. fanquake referenced this in commit d1abe54fce on Mar 2, 2021
  62. sidhujag referenced this in commit 3a367ef2d8 on Mar 2, 2021
  63. DrahtBot locked this on Aug 16, 2022

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: 2024-12-19 09:12 UTC

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