Build updates #2 #598

pull laanwj wants to merge 5 commits into bitcoin:master from laanwj:wingitianfix changing 4 files +60 −24
  1. laanwj commented at 7:03 PM on October 29, 2011: member

    See issue #587

    Removes -fstack-protector in Windows to make executable work, and makes bitcoin-qt build deterministic

    The SHA of bitcoin-qt.exe after gitian build is: 4095613a82116949b72a30cee579ded07236d382acc7db6da91b96b9f9e2abf6

  2. Add gitian descriptor for qt cross compile via MinGW. 6323d005a9
  3. Update Win32 gitian descriptor for bitcoin-qt. 0081f758e5
  4. do not use -fstack-protector on Windows 37d6cf340f
  5. attempt to make build deterministic 5c5ec84e1c
  6. remove this commit before merge. 56f393efd1
  7. TheBlueMatt commented at 9:56 PM on October 29, 2011: member

    It would be nice to get a deterministic build of qt too, but I'd say if just bitcoin is deterministic building from the same qt, someone do a qt build and release that for everyone to use for 0.5.

  8. laanwj commented at 5:21 AM on November 1, 2011: member

    I didn't know that the qt build was not deterministic yet. I'll give it a try.

  9. gavinandresen commented at 2:51 PM on November 1, 2011: contributor

    I just cherry-picked all but the last commit.

  10. gavinandresen closed this on Nov 1, 2011

  11. laanwj commented at 3:47 PM on November 1, 2011: member

    I had some hex-editor fun and found out that the qt build-nondeterminism is caused by some process adding random (too far apart to be timestamps) 8-character hex codes before function names:

    -00054760  31 36 37 42 37 41 37 38  31 30 50 72 6f 63 65 73  |167B7A7810Proces|
    +00054760  45 41 42 45 39 45 33 44  31 30 50 72 6f 63 65 73  |EABE9E3D10Proces|
    
    -000547b0  30 30 5f 31 36 37 42 37  41 37 38 31 30 50 72 6f  |00_167B7A7810Pro|
    +000547b0  30 30 5f 45 41 42 45 39  45 33 44 31 30 50 72 6f  |00_EABE9E3D10Pro|
    

    I suspect this is the MOC compiler. On the other hand, bitcoin itself uses the moc and uic as well but manages to be deterministic. Maybe the non-determinism is only in debug symbols which are stripped for the release .exe. I'll try stripping the .a files.

  12. gavinandresen commented at 5:10 PM on November 1, 2011: contributor

    Nice detective work! Quick update from me: my house still has no power, so I'm working from my gitian-capable laptop; I'm fetching/compiling dependencies now for the win32 gitian build. I made lots of progress on a Mac build, but all of that work is sitting on my main machine in my powerless house...

  13. KolbyML referenced this in commit bc86927231 on Sep 4, 2020
  14. rajarshimaitra referenced this in commit 74b5e4cb07 on Aug 5, 2021
  15. DrahtBot locked this on Sep 8, 2021

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-13 15:16 UTC

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