This adds to PR #4185 where the build is currently broken and it exhibits a visual glitch with qt-5.2.0. This upgrades the Gitian windows build to qt-5.2.1 and makes the OS X build use the matching qt-5.2.1 which solves the visual glitch.
gitian: Add OSX build descriptors, qt-5.2.1 for Windows and OS X #4189
pull wtogami wants to merge 7 commits into bitcoin:master from wtogami:gitianwithqt521 changing 8 files +701 −9-
wtogami commented at 10:46 AM on May 15, 2014: contributor
-
gitian: Add OSX build descriptors bb5da27dc8
-
2288206b19
squashme: gitian: fix determinism problem with native descriptor
Thanks to warren for testing.
-
7fe8fe6580
squashme: gitian: fix qt determinism
Fixes the 'date' wrapper which wasn't actually functional. Sequential builds would be the same, but builds crossing a date threshold would not.
-
f76db78be4
squashme: gitian: move osx qt to 5.2.0 to match windows
TODO: Bump them both to 5.2.1 simultaneously
-
ebcf375e84
squashme: docs: shuffle around the osx documentation a bit
Added the OSX gitian steps to the release process docs. The checksums and signing info has not been added because these are likely to change a few more times before merge. TODO: fill in checksums and signing info post-merge
-
Upgrade gitian windows to qt-5.2.1 62ee0d88fd
-
squash me: build qt-5.2.1 for mac 0173fa15c4
-
wtogami commented at 10:58 AM on May 15, 2014: contributor
Please check if these hashes are identical in your builds.
MacOS X
bfbf001582145b5af296f61dd1e7aa79128309a5239e35c068cc766f0a1d4bef osx-native-depends-r2.tar.gz 0b8f9d25eb3a38f07fcbd0ed98596443961e97a5cd5ba891b3d968cd07b3fd31 osx-depends-r2.tar.gz 9ee4ddf47648345804689417fd4727b6886a9f9ea3b531a4245a7de242e24708 osx-depends-qt-5.2.1-r2.tar.gzWindows qt-5.2.1 and bitcoin.
27d005789086973fe3cad1a0fd840fa0596725e7503161f5a3322094e0b86925 qt-win32-5.2.1-gitian-r3.zip 4b824fde7345e13f69d20d3298c80ee100b2c2a9499ae1e4c6ac73f28f046bb8 qt-win64-5.2.1-gitian-r3.zip 99a04af537760af0babfcf573757b5875ac52f3c6ea80cd5e1fa238b79935b56 32/bitcoin-0.9.99-win32-setup.exe 8ef658a84ccce786ac1703ff8250c5715eb71ec5cdba5e8106453667b443f823 64/bitcoin-0.9.99-win64-setup.exe -
BitcoinPullTester commented at 11:14 AM on May 15, 2014: none
Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/0173fa15c4301cbd3079944023ac7c5c0c37a5a7 for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.
-
wtogami commented at 10:31 AM on May 17, 2014: contributor
Issues
- Bitcoin-Qt.dmg is not deterministic. Something in the build filesystem can change the output.
- Gitian sometimes fails in a perpetual configure loop.
- Both of these issues can be seen with qt-5.2.0 and qt-5.2.1.
Variant 1: Standard base-precise-i386.qcow2 e13f6f8f8ab92b62df2df27c740ed8a14b1c83543ab4e9bf89ff67b80f27471e Bitcoin-Qt.dmg http://nightly.bitcoin.it/.PR4189/Variant1/Bitcoin-Qt.dmg http://nightly.bitcoin.it/.PR4189/Variant1/build.log This is using the standard minimal
base-precise-i386.qcow2created by Gitian.Variant 2: Unified base-precise-i386.qcow2 with pre-installed deps for windows and linux 3278d41cd7558350d34ff142cd661070e0c9cb79e3eb9ff5e229a04e0c1685be Bitcoin-Qt.dmg http://nightly.bitcoin.it/.PR4189/Variant2/Bitcoin-Qt.dmg http://nightly.bitcoin.it/.PR4189/Variant2/build.log All builds with Variant1 or Variant2 base image result in the same hash as other builds with that base image. Variant2 with all dependencies is commonly used for gitian virtualbox on Mac or to speed up building on Linux, and this works fine for Windows and Linux gitian builds. http://nightly.bitcoin.it/.PR4189/base-precise-i386.qcow2 835MB base-precise-i386.qcow2 can reproduce this hash.
Build Deps and Determinism
- The build.log of Variant 1 exhibits this libtoolize and uninitialized value error messages.
+ ./autogen.sh Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 196. Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 196. configure.ac:12: installing `src/build-aux/config.guess'- http://nightly.bitcoin.it/.PR4189/Variant1/build.log-with-libtool Adding libtool to the build filesystem of Variant 1 makes those error messages disappear but the resulting hash is identical to Variant 1. Something else is changing the output.
Intermittent Perpetual configure loop I saw it happen once with qt-5.2.0 and once with qt-5.2.1 out of ~30 build attempts. Sadly I failed to save the build.log from those instances. I do recall seeing something like this between each time configure would repeat itself.
make: Warning: File `Makefile.am' has modification time 0.6 s in the future -
wtogami commented at 5:21 AM on May 18, 2014: contributor
http://nightly.bitcoin.it/.PR4189/base-precise-i386.qcow2 835MB
base-precise-i386.qcow2will allow you to reproduce this issue. - wtogami closed this on May 20, 2014
- DrahtBot locked this on Sep 8, 2021