-
Notifications
You must be signed in to change notification settings - Fork 38.6k
guix: Enable building for x86_64-w64-mingw32 target
#17595
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
guix: Enable building for x86_64-w64-mingw32 target
#17595
Conversation
|
Thanks for working on this! Another step towards Guix builds. |
2452353 to
5e1614c
Compare
|
Looks good. I've just completed a Guix time-machine build, I modified the changes here to only build the env PATH="/root/.config/guix/current/bin${PATH:+:}$PATH" guix describe
guix 44e70de
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 44e70dee184c4e4190349def71dc07f05822f591
git rev-parse HEAD
5e1614cce5216166bb9a43b9fbfa4ad0fa7e5e8c
find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
addd48c58db416b9e1ae46fa2adc2421578deef7ea013725b6b7ed4c1269b1c2 output/bitcoin-0.19.99-win-unsigned.tar.gz
ddb5691b16d0c865541f1a4a93f10b44b784d55e35e66bffad73174aa05345fe output/bitcoin-0.19.99-win64-debug.zip
006a97dfe6f1412800a3ec3072049e9ac1aa648ec22f0b32a1559cefb5179632 output/bitcoin-0.19.99-win64-setup-unsigned.exe
d285db2c41e54973f3c6953c6defa4edaf1fa2b1811408147240fa23baa6bdda output/bitcoin-0.19.99-win64.zip
467dba326ec9cfb7839a603073aa2a82a49190eabe3d56cc2b8e3c0d284926ef output/src/bitcoin-0.19.99.tar.gz |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsNo conflicts as of last run. |
|
@dongcarl Could you rebase this on master and fixup any shellcheck complaints: In contrib/guix/guix-build.sh line 25:
for host in ${HOSTS=i686-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu x86_64-w64-mingw32}; do
^-- SC2153: Possible misspelling: HOSTS may not be assigned, but HOST is.
For more information:
https://www.shellcheck.net/wiki/SC2153 -- Possible misspelling: HOSTS may n... |
|
Can you also address the follow up comment from #17933. |
5e1614c to
20e9e0b
Compare
|
Fixed up shellcheck complaints and addressed followup. Thanks for the reminders! You can limit to building just mingw binaries like this btw: Here are my results (probably not reproducible, but let's triage here!): |
fanquake
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. I've just done another build. Hashes don't match as you suggested:
env PATH="/root/.config/guix/current/bin${PATH:+:}$PATH" guix describe
guix dcbfb3b
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: dcbfb3b8ea69c573f3b48bfc04a1127ec01cc538
git rev-parse HEAD
20e9e0bf0af4d168e703d1a569d0d573b3ce22f4
find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
e9980f2badc93e506e36cb8142d3f4b781ad182cefbf4bb14d87e4015f4dee1e output/bitcoin-0.19.99-win-unsigned.tar.gz
52368a7824dcec941a33904eff49557e17ef095697ba1b7833dc26f4883caf8e output/bitcoin-0.19.99-win64-debug.zip
9e1d6d12d10482fb82e703b23ea7b04a21f8da9915bb706330247d845205cb53 output/bitcoin-0.19.99-win64-setup-unsigned.exe
429fd98e7122dc541f01d2f1d387c95e62f57178d8d3f3a3dbfd66cd9646ba34 output/bitcoin-0.19.99-win64.zip
843f958009812087fcb68fab8117d7710db19bcc64d36966121975718609dced output/src/bitcoin-0.19.99.tar.gzIf I compare two builds, this is the difference I'm seeing (excluding directory metadata):
bitcoin-qt.exe
@@ -7,15 +7,15 @@
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
00000080: 5045 0000 6486 0e00 0000 0000 004c b901 PE..d........L..
00000090: 0000 0000 f000 2e00 0b02 0220 00e6 1d01 ........... ....
000000a0: 0046 b901 0090 0100 b014 0000 0010 0000 .F..............
000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@.............
000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................
-000000d0: 0070 bb01 0004 0000 ffff b901 0200 6001 .p............`.
+000000d0: 0070 bb01 0004 0000 ab07 ba01 0200 6001 .p............`.
000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. .............
000000f0: 0000 1000 0000 0000 0010 0000 0000 0000 ................
00000100: 0000 0000 1000 0000 0090 b701 da05 0000 ................
00000110: 00a0 b701 6066 0000 0030 b801 f8c9 0100 ....`f...0......
00000120: 00b0 9d01 ccd0 0800 0000 0000 0000 0000 ................
00000130: 0000 ba01 2457 0100 0000 0000 0000 0000 ....$W..........
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
@@ -1792858,15 +1792858,15 @@
01b5b590: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b5b5a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b5b5b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b5b5c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b5b5d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b5b5e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b5b5f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-01b5b600: 0000 0000 9f37 355e 0000 0000 7c91 b701 .....75^....|...
+01b5b600: 0000 0000 4b3f 355e 0000 0000 7c91 b701 ....K?5^....|...
01b5b610: 0100 0000 2200 0000 2200 0000 2890 b701 ...."..."...(...
01b5b620: b090 b701 3891 b701 0036 de00 c02d de00 ....8....6...-..
01b5b630: a037 de00 b0a2 1e01 305a de00 9038 de00 .7......0Z...8..
01b5b640: 2038 de00 004f de00 9051 de00 d055 de00 8...O...Q...U..
01b5b650: 505a de00 504d de00 3050 de00 9039 de00 PZ..PM..0P...9..
01b5b660: f03c de00 b052 de00 1057 de00 f04c de00 .<...R...W...L..
01b5b670: 8063 de00 e05f de00 705d de00 e05e de00 .c..._..p]...^..bitcoin-tx.exe
@@ -7,15 +7,15 @@
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
00000080: 5045 0000 6486 0d00 0000 0000 009c 2200 PE..d.........".
00000090: 0000 0000 f000 2e00 0b02 0220 0068 1b00 ........... .h..
000000a0: 0096 2200 0024 0000 e014 0000 0010 0000 .."..$..........
000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@.............
000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................
-000000d0: 0040 2300 0004 0000 82c9 2200 0300 6001 .@#......."...`.
+000000d0: 0040 2300 0004 0000 d1d1 2200 0300 6001 .@#......."...`.
000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. .............
000000f0: 0000 1000 0000 0000 0010 0000 0000 0000 ................
00000100: 0000 0000 1000 0000 0090 2200 da05 0000 ..........".....
00000110: 00a0 2200 4821 0000 00f0 2200 c004 0000 ..".H!....".....
00000120: 0070 1f00 2c0f 0100 0000 0000 0000 0000 .p..,...........
00000130: 0000 2300 a825 0000 0000 0000 0000 0000 ..#..%..........
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
@@ -140314,15 +140314,15 @@
00224190: 0000 0000 0000 0000 0000 0000 0000 0000 ................
002241a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
002241b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
002241c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
002241d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
002241e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
002241f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00224200: 0000 0000 5b36 355e 0000 0000 7c91 2200 ....[65^....|.".
+00224200: 0000 0000 aa3e 355e 0000 0000 7c91 2200 .....>5^....|.".
00224210: 0100 0000 2200 0000 2200 0000 2890 2200 ...."..."...(.".
00224220: b090 2200 3891 2200 8041 0a00 4039 0a00 ..".8."..A..@9..
00224230: 2043 0a00 30b8 1b00 b065 0a00 1044 0a00 C..0....e...D..
00224240: a043 0a00 805a 0a00 105d 0a00 5061 0a00 .C...Z...]..Pa..
00224250: d065 0a00 d058 0a00 b05b 0a00 1045 0a00 .e...X...[...E..
00224260: 7048 0a00 305e 0a00 9062 0a00 7058 0a00 pH..0^...b..pX..
00224270: 006f 0a00 606b 0a00 f068 0a00 606a 0a00 .o..`k...h..`j..bitcoin-wallet.exe
@@ -7,15 +7,15 @@
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
00000080: 5045 0000 6486 0d00 0000 0000 00a4 5100 PE..d.........Q.
00000090: 0000 0000 f000 2e00 0b02 0220 0012 4300 ........... ..C.
000000a0: 009e 5100 0060 0000 e014 0000 0010 0000 ..Q..`..........
000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@.............
000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................
-000000d0: 0080 5200 0004 0000 dbda 5100 0300 6001 ..R.......Q...`.
+000000d0: 0080 5200 0004 0000 22e3 5100 0300 6001 ..R.....".Q...`.
000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. .............
000000f0: 0000 1000 0000 0000 0010 0000 0000 0000 ................
00000100: 0000 0000 1000 0000 00c0 5100 de05 0000 ..........Q.....
00000110: 00d0 5100 942d 0000 0020 5200 d804 0000 ..Q..-... R.....
00000120: 0050 4b00 dcf4 0100 0000 0000 0000 0000 .PK.............
00000130: 0030 5200 bc38 0000 0000 0000 0000 0000 .0R..8..........
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
@@ -332442,15 +332442,15 @@
00512990: 0000 0000 0000 0000 0000 0000 0000 0000 ................
005129a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
005129b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
005129c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
005129d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
005129e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
005129f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00512a00: 0000 0000 6736 355e 0000 0000 7cc1 5100 ....g65^....|.Q.
+00512a00: 0000 0000 ae3e 355e 0000 0000 7cc1 5100 .....>5^....|.Q.
00512a10: 0100 0000 2200 0000 2200 0000 28c0 5100 ...."..."...(.Q.
00512a20: b0c0 5100 38c1 5100 e0e0 1800 a0d8 1800 ..Q.8.Q.........
00512a30: 80e2 1800 a06a 4300 1005 1900 70e3 1800 .....jC.....p...
00512a40: 00e3 1800 e0f9 1800 70fc 1800 b000 1900 ........p.......
00512a50: 3005 1900 30f8 1800 10fb 1800 70e4 1800 0...0.......p...
00512a60: d0e7 1800 90fd 1800 f001 1900 d0f7 1800 ................
00512a70: 600e 1900 c00a 1900 5008 1900 c009 1900 `.......P.......bitcoind.exe
@@ -7,15 +7,15 @@
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
00000080: 5045 0000 6486 0d00 0000 0000 00b6 8c00 PE..d...........
00000090: 0000 0000 f000 2e00 0b02 0220 00de 7200 ........... ..r.
000000a0: 00b0 8c00 00b2 0000 e014 0000 0010 0000 ................
000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@.............
000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................
-000000d0: 00f0 8d00 0004 0000 f10b 8d00 0300 6001 ..............`.
+000000d0: 00f0 8d00 0004 0000 9f13 8d00 0300 6001 ..............`.
000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. .............
000000f0: 0000 1000 0000 0000 0010 0000 0000 0000 ................
00000100: 0000 0000 1000 0000 00f0 8c00 d805 0000 ................
00000110: 0000 8d00 9c33 0000 0060 8d00 a804 0000 .....3...`......
00000120: 00d0 8000 007e 0300 0000 0000 0000 0000 .....~..........
00000130: 0070 8d00 bc62 0000 0000 0000 0000 0000 .p...b..........
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
@@ -573626,15 +573626,15 @@
008c0b90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
008c0ba0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
008c0bb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
008c0bc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
008c0bd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
008c0be0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
008c0bf0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-008c0c00: 0000 0000 8a37 355e 0000 0000 7cf1 8c00 .....75^....|...
+008c0c00: 0000 0000 383f 355e 0000 0000 7cf1 8c00 ....8?5^....|...
008c0c10: 0100 0000 2200 0000 2200 0000 28f0 8c00 ...."..."...(...
008c0c20: b0f0 8c00 38f1 8c00 50ce 3600 10c6 3600 ....8...P.6...6.
008c0c30: f0cf 3600 b032 7300 80f2 3600 e0d0 3600 ..6..2s...6...6.
008c0c40: 70d0 3600 50e7 3600 e0e9 3600 20ee 3600 p.6.P.6...6. .6.
008c0c50: a0f2 3600 a0e5 3600 80e8 3600 e0d1 3600 ..6...6...6...6.
008c0c60: 40d5 3600 00eb 3600 60ef 3600 40e5 3600 @.6...6.`[email protected].
008c0c70: d0fb 3600 30f8 3600 c0f5 3600 30f7 3600 ..6.0.6...6.0.6.test_bitcoin.exe
@@ -7,15 +7,15 @@
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
00000080: 5045 0000 6486 0c00 0000 0000 00da e800 PE..d...........
00000090: 0000 0000 f000 2e00 0b02 0220 0038 ba00 ........... .8..
000000a0: 00d4 e800 0016 0100 e014 0000 0010 0000 ................
000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@.............
000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................
-000000d0: 0070 ea00 0004 0000 65aa e900 0300 6001 .p......e.....`.
+000000d0: 0070 ea00 0004 0000 12b2 e900 0300 6001 .p............`.
000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. .............
000000f0: 0000 1000 0000 0000 0010 0000 0000 0000 ................
00000100: 0000 0000 1000 0000 0070 e900 dc05 0000 .........p......
00000110: 0080 e900 2035 0000 0000 0000 0000 0000 .... 5..........
00000120: 0080 d800 6440 0400 0000 0000 0000 0000 ....d@..........
00000130: 00e0 e900 1c7d 0000 0000 0000 0000 0000 .....}..........
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
@@ -950682,15 +950682,15 @@
00e81990: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00e819a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00e819b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00e819c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00e819d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00e819e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00e819f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00e81a00: 0000 0000 8f37 355e 0000 0000 7c71 e900 .....75^....|q..
+00e81a00: 0000 0000 3c3f 355e 0000 0000 7c71 e900 ....<?5^....|q..
00e81a10: 0100 0000 2200 0000 2200 0000 2870 e900 ...."..."...(p..
00e81a20: b070 e900 3871 e900 608c 7500 2084 7500 .p..8q..`.u. .u.
00e81a30: 008e 7500 109e ba00 90b0 7500 f08e 7500 ..u.......u...u.
00e81a40: 808e 7500 60a5 7500 f0a7 7500 30ac 7500 ..u.`.u...u.0.u.
00e81a50: b0b0 7500 b0a3 7500 90a6 7500 f08f 7500 ..u...u...u...u.
00e81a60: 5093 7500 10a9 7500 70ad 7500 50a3 7500 P.u...u.p.u.P.u.
00e81a70: e0b9 7500 40b6 7500 d0b3 7500 40b5 7500 [email protected][email protected].libbitcoinconsensus-0.dll
@@ -7,15 +7,15 @@
00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
00000080: 5045 0000 6486 0c00 0000 0000 00ce 1400 PE..d...........
00000090: 0000 0000 f000 2e20 0b02 0220 0018 1000 ....... ... ....
000000a0: 00c8 1400 0018 0000 3013 0000 0010 0000 ........0.......
000000b0: 0000 946d 0000 0000 0010 0000 0002 0000 ...m............
000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................
-000000d0: 0060 1500 0004 0000 c0fb 1400 0300 6001 .`............`.
+000000d0: 0060 1500 0004 0000 1504 1500 0300 6001 .`............`.
000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. .............
000000f0: 0000 1000 0000 0000 0010 0000 0000 0000 ................
00000100: 0000 0000 1000 0000 00e0 1400 6606 0000 ............f...
00000110: 00f0 1400 8414 0000 0000 0000 0000 0000 ................
00000120: 00c0 1200 a0cb 0000 0000 0000 0000 0000 ................
00000130: 0030 1500 5c18 0000 0000 0000 0000 0000 .0..\...........
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
@@ -84218,15 +84218,15 @@
00148f90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00148fa0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00148fb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00148fc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00148fd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00148fe0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00148ff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
-00149000: 0000 0000 5136 355e 0000 0000 9ae1 1400 ....Q65^........
+00149000: 0000 0000 a63e 355e 0000 0000 9ae1 1400 .....>5^........
00149010: 0100 0000 2500 0000 2500 0000 28e0 1400 ....%...%...(...
00149020: bce0 1400 50e1 1400 8038 0200 5038 0200 ....P....8..P8..
00149030: c0fd 0100 d0e2 0300 90da 0300 70e4 0300 ............p...
00149040: e030 1000 0007 0400 60e5 0300 f0e4 0300 .0......`.......
00149050: d0fb 0300 60fe 0300 a002 0400 2007 0400 ....`....... ...
00149060: 20fa 0300 00fd 0300 60e6 0300 c0e9 0300 .......`.......
00149070: 80ff 0300 e003 0400 c0f9 0300 5010 0400 ............P...|
Do we know what section / symbols these non-determinism differences are in? The first one (in the PE header) is probably the checksum. The second one is unclear to me, it doesn't look like assembly code but a 32-bit number. Maybe a literal timestamp? Yes, this works out, these are little-endian UNIX timestamps: bitcoin-qt.exe
-9f37355e Sat Feb 1 09:32:31 2020
+4b3f355e Sat Feb 1 10:05:15 2020
bitcoin-tx.exe
-5b36355e Sat Feb 1 09:27:07 2020
+aa3e355e Sat Feb 1 10:02:34 2020
bitcoin-wallet.exe
-6736355e Sat Feb 1 09:27:19 2020
+ae3e355e Sat Feb 1 10:02:38 2020
bitcoind.exe
-8a37355e Sat Feb 1 09:32:10 2020
+383f355e Sat Feb 1 10:04:56 2020
test_bitcoin.exe
-8f37355e Sat Feb 1 09:32:15 2020
+3c3f355e Sat Feb 1 10:05:00 2020
libbitcoinconsensus-0.dll
-5136355e Sat Feb 1 09:26:57 2020
+a63e355e Sat Feb 1 10:02:30 2020 |
Yeah I believe it's the checksum... Assuming that the checksum is of the whole file and not just of the header, perhaps fixing the timestamp will fix this checksum too?
Yay thanks! I was hoping we could avoid |
|
I've just completed two more builds, adding I'm still seeing a diff for --- build_1_output/bitcoin-0.19.99-win64-setup-unsigned.exe
+++ build_2_output/bitcoin-0.19.99-win64-setup-unsigned.exe
@@ -9179,15 +9179,15 @@
00023da0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00023db0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00023dc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00023dd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00023de0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00023df0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00023e00: 0000 0000 efbe adde 4e75 6c6c 736f 6674 ........Nullsoft
-00023e10: 496e 7374 a892 0000 a3ca e600 5d00 0080 Inst........]...
+00023e10: 496e 7374 a892 0000 81cd e600 5d00 0080 Inst........]...
00023e20: 0000 5424 7c18 8100 44f9 e0b7 abb0 2913 ..T$|...D.....).
00023e30: 8c06 5f94 e5ee 6d0f 1445 3e2c 3bca 8067 .._...m..E>,;..g
00023e40: 30e3 1cf4 4b84 fb68 d331 eb8d 2db4 49dd 0...K..h.1..-.I.The two installers are also slightly different sizes: $ ls -la build_1_output/bitcoin-0.19.99-win64-setup-unsigned.exe
15272099 6 Feb 08:58 build_1_output/bitcoin-0.19.99-win64-setup-unsigned.exe
$ ls -la build_2_output/bitcoin-0.19.99-win64-setup-unsigned.exe
15272833 6 Feb 09:19 build_2_output/bitcoin-0.19.99-win64-setup-unsigned.exe |
|
@fanquake I can reproduce this non-reproducibility on my workstation... Will investigate. |
|
🤞 $ git rev-parse HEAD
f38dfc7ae0a1489d33ae0b6ea7c49a3e34836adf
$ find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
acbe8d606d7d47da5ab874e72e6b195fd8d3137bdc2f97745995342222064f5c output/bitcoin-0.19.99-win64-debug.zip
9846a7e86db931a600d88ccd17c137cedac7ccb171469a8b50007e0f6139e94f output/bitcoin-0.19.99-win64-setup-unsigned.exe
45201ef9571e98a5b6040c10645e5d5588dde550aaa74c0adf03230dd30726e3 output/bitcoin-0.19.99-win64.zip
4b11b0db3fcc0a37154780f5089bebda4f940fc2a2c300be64fc2fa75797df2e output/bitcoin-0.19.99-win-unsigned.tar.gz
c9e278d1341ca4435a17276f738b9d2f51de7a7cd33b71ff27c7200b317c7644 output/src/bitcoin-0.19.99.tar.gz |
f38dfc7 to
a7765f3
Compare
|
Rebased over master 🤞 $ git rev-parse HEAD
a7765f371e78d85f23bca43f475c5a1a4e32afb2
$ find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
67cbc94d04718f7b81444d142a1c47040801aa7412feec956897adc2123113ea output/bitcoin-0.19.99-win64-debug.zip
6658d3823a299a8d63765162b3c0b18be8ae7bd950c6f564e26662f104428426 output/bitcoin-0.19.99-win64-setup-unsigned.exe
5059893e5c4cd427866448692536d51a422a45de5396f163b03922bfa631aba7 output/bitcoin-0.19.99-win64.zip
bffe6ec0cad08ba0dc112309865fd8d7e3740ad6e3e883f3a3e19aca515dc84f output/bitcoin-0.19.99-win-unsigned.tar.gz
c33786b4e42f062f7aaa3c500513304fd8bca4cd8aa51048a5f375caa0809e98 output/src/bitcoin-0.19.99.tar.gz |
|
Ran a couple builds, they are deterministic, but aren't currently matching your hashes: guix describe
guix 4530fe8
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 4530fe8ecca456fcc7226914502ad452c33ce27b
git rev-parse HEAD
a7765f371e78d85f23bca43f475c5a1a4e32afb2
find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
d865da5d1ff2f10d0545e3b23de7ad6bdad74d333be73e139392e243e514f681 output/bitcoin-0.19.99-win-unsigned.tar.gz
1ad7966f49bd7fa11bb84a37514303d8b7acd46a3ccfd3f456c1e8c25122784e output/bitcoin-0.19.99-win64-debug.zip
79274407a55a06299e90d5dae42a3a589697c5e4cbc51da2f98f5d4a097cf7af output/bitcoin-0.19.99-win64-setup-unsigned.exe
92571b2d6830fb03060ecf0cb357e1ff843ee2446f21bbcb870db2a17e0e2ede output/bitcoin-0.19.99-win64.zip
c33786b4e42f062f7aaa3c500513304fd8bca4cd8aa51048a5f375caa0809e98 output/src/bitcoin-0.19.99.tar.gz |
|
@fanquake Weird. Here are mine: https://send.firefox.com/download/e27a2a3a463ee70e/#q-3dDZ59pzrrvFhryIgmZw If you get a chance to upload yours, I'd be happy to take a look! |
|
@dongcarl sure: https://send.firefox.com/download/8ee9cd6f49500764/#Y2OZ_HIDHRp3mu0Zm6B1Lg. guix describe
guix a02ca03
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: a02ca03318faa77ab5ef06f4b7a3beed0c7db029
git rev-parse HEAD
a7765f371e78d85f23bca43f475c5a1a4e32afb2
find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
d865da5d1ff2f10d0545e3b23de7ad6bdad74d333be73e139392e243e514f681 output/bitcoin-0.19.99-win-unsigned.tar.gz
1ad7966f49bd7fa11bb84a37514303d8b7acd46a3ccfd3f456c1e8c25122784e output/bitcoin-0.19.99-win64-debug.zip
79274407a55a06299e90d5dae42a3a589697c5e4cbc51da2f98f5d4a097cf7af output/bitcoin-0.19.99-win64-setup-unsigned.exe
92571b2d6830fb03060ecf0cb357e1ff843ee2446f21bbcb870db2a17e0e2ede output/bitcoin-0.19.99-win64.zip
c33786b4e42f062f7aaa3c500513304fd8bca4cd8aa51048a5f375caa0809e98 output/src/bitcoin-0.19.99.tar.gz |
3d9b41e build: add --enable-determinism configure flag (fanquake) Pull request description: This adds a `--enable-determinsm` configure flag, which if used, will enable additional compile / link time flags to make subsequent builds of bitcoind deterministic. The first flag enabled is `--no-insert-timestamp`. This prevents the linker from embedding timestamps, and makes consecutive builds of `bitcoind.exe` deterministic. This will likely also be used for [Guix Windows builds](#17595 (comment)). [`--no-insert-timestamp`](https://manpages.debian.org/buster/binutils-mingw-w64-x86-64/x86_64-w64-mingw32-ld.bfd.1.en.html): > The option --no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. Diff of consecutive builds of [master](2bdc476): ```diff --- bitcoind.exe.1 +++ bitcoind.exe.2 @@ -2,20 +2,20 @@ 00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS 00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$....... -00000080: 5045 0000 6486 1400 57e8 445e 00da 6900 PE..d...W.D^..i. +00000080: 5045 0000 6486 1400 e3e9 445e 00da 6900 PE..d.....D^..i. 0000009: e015 0100 f000 2600 0b02 021f 00de 4900 ......&.......I. 000000a0: 00b0 5b00 008a 0000 e014 0000 0010 0000 ..[............. 000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@............. 000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................ -000000d0: 00f0 6a00 0006 0000 bd31 af00 0300 6001 ..j......1....`. +000000d0: 00f0 6a00 0006 0000 d434 af00 0300 6001 ..j......4....`. 000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. ............. @@ -373594,15 +373594,15 @@ 005b35f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -005b3600: 0000 0000 57e8 445e 0000 0000 7ce1 5b00 ....W.D^....|.[. +005b3600: 0000 0000 e2e9 445e 0000 0000 7ce1 5b00 ......D^....|.[. 005b3610: 0100 0000 2200 0000 2200 0000 28e0 5b00 ...."..."...(.[. ``` ACKs for top commit: practicalswift: ACK 3d9b41e -- patch looks correct laanwj: ACK 3d9b41e Tree-SHA512: 1ff9dab7fa818b1fc6b0eb3b7a1e0468aac9e2578f4451aa300a648f883fa83f83722067f1adf27ebad54157790857d1501d573adbd7ebdf6962858cc669960d
3d9b41e build: add --enable-determinism configure flag (fanquake) Pull request description: This adds a `--enable-determinsm` configure flag, which if used, will enable additional compile / link time flags to make subsequent builds of bitcoind deterministic. The first flag enabled is `--no-insert-timestamp`. This prevents the linker from embedding timestamps, and makes consecutive builds of `bitcoind.exe` deterministic. This will likely also be used for [Guix Windows builds](bitcoin#17595 (comment)). [`--no-insert-timestamp`](https://manpages.debian.org/buster/binutils-mingw-w64-x86-64/x86_64-w64-mingw32-ld.bfd.1.en.html): > The option --no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. Diff of consecutive builds of [master](bitcoin@2bdc476): ```diff --- bitcoind.exe.1 +++ bitcoind.exe.2 @@ -2,20 +2,20 @@ 00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS 00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$....... -00000080: 5045 0000 6486 1400 57e8 445e 00da 6900 PE..d...W.D^..i. +00000080: 5045 0000 6486 1400 e3e9 445e 00da 6900 PE..d.....D^..i. 0000009: e015 0100 f000 2600 0b02 021f 00de 4900 ......&.......I. 000000a0: 00b0 5b00 008a 0000 e014 0000 0010 0000 ..[............. 000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@............. 000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................ -000000d0: 00f0 6a00 0006 0000 bd31 af00 0300 6001 ..j......1....`. +000000d0: 00f0 6a00 0006 0000 d434 af00 0300 6001 ..j......4....`. 000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. ............. @@ -373594,15 +373594,15 @@ 005b35f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -005b3600: 0000 0000 57e8 445e 0000 0000 7ce1 5b00 ....W.D^....|.[. +005b3600: 0000 0000 e2e9 445e 0000 0000 7ce1 5b00 ......D^....|.[. 005b3610: 0100 0000 2200 0000 2200 0000 28e0 5b00 ...."..."...(.[. ``` ACKs for top commit: practicalswift: ACK 3d9b41e -- patch looks correct laanwj: ACK 3d9b41e Tree-SHA512: 1ff9dab7fa818b1fc6b0eb3b7a1e0468aac9e2578f4451aa300a648f883fa83f83722067f1adf27ebad54157790857d1501d573adbd7ebdf6962858cc669960d
|
Okay some more insights... I'm trying to track down where the difference may be propagating from... And diffed the I couldn't make sense of the beginning of that diff, but I went to the very end and saw something like this: @@ -576768,18 +576768,18 @@
008ccff0: 635f 6f73 7472 696e 6773 7472 6561 6d49 c_ostringstreamI
008cd000: 7753 7431 3163 6861 725f 7472 6169 7473 wSt11char_traits
008cd010: 4977 4553 6149 7745 4545 005f 5f69 6d70 IwESaIwEEE.__imp
008cd020: 5f41 6464 5665 6374 6f72 6564 4578 6365 _AddVectoredExce
008cd030: 7074 696f 6e48 616e 646c 6572 005f 5a54 ptionHandler._ZT
008cd040: 4953 7431 3462 6173 6963 5f69 6673 7472 ISt14basic_ifstr
008cd050: 6561 6d49 6353 7431 3163 6861 725f 7472 eamIcSt11char_tr
-008cd060: 6169 7473 4963 4545 002e 7265 6670 7472 aitsIcEE..refptr
-008cd070: 2e5f 5a54 5653 7431 3362 6164 5f65 7863 ._ZTVSt13bad_exc
-008cd080: 6570 7469 6f6e 005f 5a54 5653 7431 315f eption._ZTVSt11_
-008cd090: 5f74 696d 6570 756e 6374 4963 4500 2e72 _timepunctIcE..r
+008cd060: 6169 7473 4963 4545 005f 5a54 5653 7431 aitsIcEE._ZTVSt1
+008cd070: 315f 5f74 696d 6570 756e 6374 4963 4500 1__timepunctIcE.
+008cd080: 2e72 6566 7074 722e 5f5a 5456 5374 3133 .refptr._ZTVSt13
+008cd090: 6261 645f 6578 6365 7074 696f 6e00 2e72 bad_exception..r
008cd0a0: 6566 7074 722e 5f5a 5456 4e53 7437 5f5f efptr._ZTVNSt7__
008cd0b0: 6378 7831 3139 6d6f 6e65 795f 6765 7449 cxx119money_getI
008cd0c0: 7753 7431 3969 7374 7265 616d 6275 665f wSt19istreambuf_
008cd0d0: 6974 6572 6174 6f72 4977 5374 3131 6368 iteratorIwSt11ch
008cd0e0: 6172 5f74 7261 6974 7349 7745 4545 4500 ar_traitsIwEEEE.
008cd0f0: 2e72 6566 7074 722e 5f5a 4e53 7438 696f .refptr._ZNSt8io
008cd100: 735f 6261 7365 3449 6e69 7432 305f 535f s_base4Init20_S_To me, this looks like two different orderings of the items: This occurs many times (but with differing items) if you look at the diff starting from the bottom. Anyone know what these are/how to interpret these? |
- Add "--no-insert-timestamp" LDFLAG for x86_64-w64-mingw32 builds "The option --no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically." - ld(1) - Set "SetDateSave off" in NSIS script From https://nsis.sourceforge.io/Docs/Chapter4.html#flags "This command sets the file date/time saving flag which is used by the File command to determine whether or not to save the last write date and time of the file, so that it can be restored on installation. Valid flags are 'on' and 'off'. 'on' is the default." - Add commented out NSIS options for reproducibility debugging in NSIS script - Make ZIPs deterministic by reseting file modification times to SOURCE_DATE_EPOCH using touch(1) (Reference: https://reproducible-builds.org/docs/archives/)
We're using mingw-w64 6.0.0, which is paired with gcc-8 in most distros.
This bump will includes a couple of commits which improve the reproducibility of the mingw-w64 toolchain. Most of which came from debian. They will be upstreamed as upstream Guix release timeline allows.
Unfortunately, gcc is still not smart enough to detect whether or not mingw-w64 provides ssp, so let's put it back just for mingw-w64.
Most of the mingw-w64 toolchain changes have now been upstreamed, we can point to a commit that exists upstream. NOTE: I'm not changing the URL yet until we see that Guix upstream will accept all my patches for macOS. ----- The Guix tree that's referred to by this commit contains the following changes relevant to our mingw-w64 build: b066c25026 Adds a PACKAGES-WITH-*PATCHES procedure which we can use in the future to apply patches to packages if those patches are not considered appropriate to upstream Guix 4719b71572 Adds mingw-w64 (the libc itself) reproducibility patches, taken from debian. 79825bee07 + 401d28e433 + c1c50cb5b0 Add mingw-w64 specific binutils patches, taken from debian. Specifically, the "Make DLL import libraries reproducible" patch made libbitcoinconsensus.dll.a build reproducibly. The followup commits were hotfixes for my mistakes. 0f864175dc Bumps mingw-w64 to v7.0.0. This is the first release that enables secure APIs by default (which we need), and gains _FORTIFY_SOURCE support. This will also be what Ubuntu Focal 20.04 LTS releases with. cdf00cf75d Bumps NSIS to v3.05. This is the first release that includes a fix for a reproducibility bug found by some of the electrum developers. See details here: https://sourceforge.net/p/nsis/bugs/1230/
This is no longer needed after 3bef7c22 in the mingw-w64 git repository, which is first included in mingw-w64 v7.0.0. As of the previous bump to our Guix time machine, we now use mingw-w64 v7.0.0.
The libtool unsorted 'find' determinism issue seemed to have been solved in gcc-9's git: d41cd173e23ebea7c758644d6ad6e0fde1c2e3a6 or SVN: r262451 Furthermore, it seems that Ubuntu Focal 20.04 LTS is going to ship with gcc 9 and mingw-w64 7, which will match what we have now. ----- A note on this: Careful observers will see that previously I stated that all released versions of gcc were bootstrapped with a libtool 2.2.7a, meaning that they all had the unsorted 'find' determinism issue first resolved in libtool 2.2.7b. However, I was mistaken, gcc's ltmain.sh CLAIMS it was generated by libtool 2.2.7a, but it was in fact edited manually. It seems that gcc maintains their own versions of ltmain.sh and libtool.m4, and only sometimes backports patches from upstream. Quite confusing.
e63cb74 to
0b66d22
Compare
|
Rebased to include the #18358 merge. It's a lot of commits, but it preserves the history, which I know some reviewers like. Let me know if people want things squashed instead, and I'd be happy to oblige. A few commit messages that would give more context on the last bit of investigation/upstreaming done for this PR: and |
|
Also, here are my hashes for a35e323: |
|
Hashes still look good at a35e323: bash-5.0# git rev-parse HEAD
a35e3235891d35daa167116cc70340140e883f06
bash-5.0# env PATH="/root/.config/guix/current/bin${PATH:+:}$PATH" guix describe
guix 0eb799e
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 0eb799e6696202316b7e5062ba21bff9ece7a789
bash-5.0# find output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
da2072e35e0fd621edfc5e87f12f5cac6021b4b10a9ef3f726a2a20bc086c6e3 output/bitcoin-0.19.99-win-unsigned.tar.gz
83e34b7a7e3901c55595f97d96575958083f8574ef94d3e0c01812632bcf0f2f output/bitcoin-0.19.99-win64-debug.zip
64358f7913ea14d28bcfe73d1bfa4f87c3ba5a05aafec6e676e74aa4eba62313 output/bitcoin-0.19.99-win64-setup-unsigned.exe
73e6132ab35c58fca2abfa5f66ab5352365aac147a337f8cc91d5887d0e2521f output/bitcoin-0.19.99-win64.zip
064592f1f0de13058de3cb6822df810fa8eea69e4afb86a430b3a33bfc99e1d2 output/src/bitcoin-0.19.99.tar.gz
bash-5.0# find distsrc-x86_64-w64-mingw32/installed/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
7ab680cf4cf431319c90e9fb0e4abeba5fd4cb7a3a33302d7eeedc6c0bc220b6 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-cli.exe
c1026cb9fd0a0826eb9baadafaada7cc391bd217ff6a0f11987ac86da32b8c48 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-cli.exe.dbg
d409e656769867f56ff1ec13e55025e734313291d87a7fdd72dc25895bf262dd distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-qt.exe
3e3801b421c1a8a34cde1c6deb02776c9358aa5d1d015503348ea539ca6b6abe distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-qt.exe.dbg
66e85e55bcd71d9644508e6a879fdb151ebf6d7472c94a20efd6f2224ae0c735 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-tx.exe
1031d08a859ab115ac394a4acb652d3dd6e9a71f6bdb5915bec18ece7fc692f9 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-tx.exe.dbg
c902601b5b884f84c7cdec322fbccb41cefff89a3408ee1faa7491c418e16371 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-wallet.exe
2fd5252192e291531532743b30f7134ffecec00107948ba275d6031f99e62ac7 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoin-wallet.exe.dbg
cc428ade350b76e38513c85b16d5a46baaf3f8adbb879a3f3f7445e29dcbec42 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoind.exe
427fcb14a3a79b5e431ad9d19ea29e3c6bf29823ca0564b2a75821cb8a37f2dc distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/bitcoind.exe.dbg
d59c63a74f1ec59ceadf96d696596ec517c206fe5c36fd62a4f011539380ca23 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/test_bitcoin.exe
2335e8db7d39e7fd77c452aeae6eda4fd64a8d7cc4f6172131476900def6c0c0 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/bin/test_bitcoin.exe.dbg
b96be38342dd488fc32531bf0b9c54fbebf22795b00703472c29f605eedab6c5 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/include/bitcoinconsensus.h
91b29a04affa6de8a39d380a96e4ece0b6148dd1a1174ca61965a92f8072b89e distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/lib/libbitcoinconsensus-0.dll
97e338dd0451ecfec7dca0ccdabd4bc367ca3724d565ce5a736e52444d064997 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/lib/libbitcoinconsensus-0.dll.dbg
c9ea36a83c960895637b447be87603981e0bd57c6584b17ac907618c9aacee96 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/readme.txt
5a5195f9e757665fd1c879e4383537ae0d584e3a101ec34ef821379bc6e92342 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/share/man/man1/bitcoin-cli.1
a78e3d4a3d2127b77b5addc8b758b561e530fab12115fadd4c990bf1f6c19661 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/share/man/man1/bitcoin-qt.1
3a58bbb8a3cf469e191ca1b5cb5a497ed0c8e8ac6292fbde2271dcecb5af4634 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/share/man/man1/bitcoin-tx.1
d9e6659155aa9672f268190c4c90bdb25647399fb43056d5be7071ea78bff89a distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/share/man/man1/bitcoin-wallet.1
fc8b190f85394fa0cb259ef8ef3df7200e90ef831c08906880b278be2a9f1378 distsrc-x86_64-w64-mingw32/installed/bitcoin-0.19.99/share/man/man1/bitcoind.1 |
fanquake
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK a35e323 2/3
…arget a35e323 guix: Appease travis. (Carl Dong) 0b66d22 guix: Use gcc-9 for mingw-w64 instead of 8 (Carl Dong) ba0b99b guix: Don't set MINGW_HAS_SECURE_API CFLAG in depends (Carl Dong) 93439a7 guix: Bump to upstream commit with mingw-w64 changes (Carl Dong) 35a9679 guix: Check mingw symbols, improve SSP fix docs (Carl Dong) 449d8fe guix: Expand on INT trap message (Carl Dong) 3f1f03c guix: Spelling fixes (Carl Dong) ff821dd guix: Reinstate make-ssp-fixed-gcc (Carl Dong) 360a9e0 guix: Bump time-machine for mingw-w64 patches (Carl Dong) 93e41b7 guix: Use gcc-8 for mingw-w64 instead of 7 (Carl Dong) ef4f7e4 guix: Set the well-known timezone env var (Carl Dong) acf4b3b guix: Make x86_64-w64-mingw32 builds reproducible (Carl Dong) c4cce00 guix: Remove dead links from README. (Carl Dong) df953a4 guix: Appease shellcheck. (Carl Dong) 91897c9 guix: Improve guix-build.sh documentation (Carl Dong) 570d769 guix: Build support for Windows (Carl Dong) Pull request description: ~~Based on: bitcoin#16519 Based on: bitcoin#17933 (Time Machines are... shall we say... superior 😁) This PR allows us to perform Guix builds for the `x86_64-w64-mingw32` target. We do this _without_ splitting up the build script like we do in Gitian by using this newfangled alien technology called `case` statements. (This is WIP and might be changed to `if` statements soon) ACKs for top commit: fanquake: ACK a35e323 2/3 Tree-SHA512: c471951c23eb2cda919a71285d8b8f2580cb20f09d5db17b53e13dbd8813e01b3e7a83ea848e4913fd0f2bc12c6c133c5f76b54e65c0d89fed4dfd2e0be19875
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: #18556 Related: #17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase #18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
3d9b41e build: add --enable-determinism configure flag (fanquake) Pull request description: This adds a `--enable-determinsm` configure flag, which if used, will enable additional compile / link time flags to make subsequent builds of bitcoind deterministic. The first flag enabled is `--no-insert-timestamp`. This prevents the linker from embedding timestamps, and makes consecutive builds of `bitcoind.exe` deterministic. This will likely also be used for [Guix Windows builds](bitcoin#17595 (comment)). [`--no-insert-timestamp`](https://manpages.debian.org/buster/binutils-mingw-w64-x86-64/x86_64-w64-mingw32-ld.bfd.1.en.html): > The option --no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. Diff of consecutive builds of [master](bitcoin@2bdc476): ```diff --- bitcoind.exe.1 +++ bitcoind.exe.2 @@ -2,20 +2,20 @@ 00000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS 00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$....... -00000080: 5045 0000 6486 1400 57e8 445e 00da 6900 PE..d...W.D^..i. +00000080: 5045 0000 6486 1400 e3e9 445e 00da 6900 PE..d.....D^..i. 0000009: e015 0100 f000 2600 0b02 021f 00de 4900 ......&.......I. 000000a0: 00b0 5b00 008a 0000 e014 0000 0010 0000 ..[............. 000000b0: 0000 4000 0000 0000 0010 0000 0002 0000 ..@............. 000000c0: 0400 0000 0000 0000 0500 0200 0000 0000 ................ -000000d0: 00f0 6a00 0006 0000 bd31 af00 0300 6001 ..j......1....`. +000000d0: 00f0 6a00 0006 0000 d434 af00 0300 6001 ..j......4....`. 000000e0: 0000 2000 0000 0000 0010 0000 0000 0000 .. ............. @@ -373594,15 +373594,15 @@ 005b35f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ -005b3600: 0000 0000 57e8 445e 0000 0000 7ce1 5b00 ....W.D^....|.[. +005b3600: 0000 0000 e2e9 445e 0000 0000 7ce1 5b00 ......D^....|.[. 005b3610: 0100 0000 2200 0000 2200 0000 28e0 5b00 ...."..."...(.[. ``` ACKs for top commit: practicalswift: ACK 3d9b41e -- patch looks correct laanwj: ACK 3d9b41e Tree-SHA512: 1ff9dab7fa818b1fc6b0eb3b7a1e0468aac9e2578f4451aa300a648f883fa83f83722067f1adf27ebad54157790857d1501d573adbd7ebdf6962858cc669960d
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
Bitcoin Core PR: bitcoin/bitcoin#17595 Pull request description: ~~Based on: bitcoin/bitcoin#16519 Based on: bitcoin/bitcoin#17933 (Time Machines are... shall we say... superior 😁) This PR allows us to perform Guix builds for the `x86_64-w64-mingw32` target. We do this _without_ splitting up the build script like we do in Gitian by using this newfangled alien technology called `case` statements. (This is WIP and might be changed to `if` statements soon)
Based on: #16519Based on: #17933 (Time Machines are... shall we say... superior 😁)
This PR allows us to perform Guix builds for the
x86_64-w64-mingw32target. We do this without splitting up the build script like we do in Gitian by using this newfangled alien technology calledcasestatements. (This is WIP and might be changed toifstatements soon)