[Qt] Bump to Qt5.6.1 #8210
pull jonasschnelli wants to merge 5 commits into bitcoin:master from jonasschnelli:2016/06/qt_561 changing 10 files +134 −71-
jonasschnelli commented at 6:50 pm on June 16, 2016: contributor
-
jonasschnelli added the label Build system on Jun 16, 2016
-
jonasschnelli force-pushed on Jun 16, 2016
-
jonasschnelli commented at 6:52 pm on June 16, 2016: contributorIf you compile OSX binaries over depends, you now need the MacOSX10.11.tar.gz SDK.
-
sipa commented at 6:53 pm on June 16, 2016: memberWhat advantages does 5.6.1 have over 5.5.0?
-
jonasschnelli commented at 6:58 pm on June 16, 2016: contributor
The release notes for Qt5.6 are here: https://blog.qt.io/blog/2016/03/16/qt-5-6-released/
The reason why I’d like to see this go in before 0.13 is the missing HiDPI support for linux and windows in 5.5 (https://github.com/bitcoin/bitcoin/issues/6472).
I know, most devs don’t care about HiDPI, but almost every laptops and screens sold today support HiDPI.
-
jonasschnelli force-pushed on Jun 16, 2016
-
jonasschnelli force-pushed on Jun 17, 2016
-
jonasschnelli force-pushed on Jun 17, 2016
-
depends: bump OSX toolchain
clang: 3.7.1 cctools: 877.8 ld64: 253.9
-
[depends] OpenSSL 1.0.1k - update config_opts f6eb4e2b62
-
jonasschnelli force-pushed on Jun 17, 2016
-
jonasschnelli force-pushed on Jun 17, 2016
-
laanwj commented at 8:05 am on June 17, 2016: memberAs I remember there are quite a few upstream issues solved in 5.6.1, from HiDPI to crashes and window manager integration. We definitely need to upgrade Qt before 0.13.
-
laanwj added this to the milestone 0.13.0 on Jun 17, 2016
-
laanwj commented at 8:12 am on June 17, 2016: memberWhy does this need the OSX toolchain bump?
-
jonasschnelli commented at 8:15 am on June 17, 2016: contributorI ran into Qt compile issues (c++11 atomic issues) with MaxOSX10.9 clang compiler. Haven’t tracked it down and I think a toolchain bump to 10.11 is necessary for #7770 anyways and does not affect the minimum required platform,
-
laanwj commented at 8:16 am on June 17, 2016: memberAh sorry yes I missed the atomic thing. Makes sense.
-
jonasschnelli commented at 9:29 am on June 17, 2016: contributor
There are some issues which I could not already solve
Linux
Somehow it links against libdbus-1.so now and will be rejected by
symbol-check.py
:0qt/bitcoin-qt: NEEDED library libdbus-1.so.3 is not allowed
https://bitcoin.jonasschnelli.ch/pulls/8210/build-linux.log
MinGW
It doesn’t find
-lqwindows
anymore:0checking for static Qt plugins: -lqwindows... no 1configure: WARNING: Could not resolve: -lqwindows; bitcoin-qt frontend will not be built
https://bitcoin.jonasschnelli.ch/pulls/8210/build-win.log
OSX
Works!
-
jonasschnelli force-pushed on Jun 17, 2016
-
Fix bitcoin_qt.m4 and fix-xcb-include-order.patch 6194d9a501
-
jonasschnelli force-pushed on Jun 17, 2016
-
in contrib/devtools/symbol-check.py: in 6194d9a501 outdated
67@@ -68,6 +68,7 @@ 68 b'libxcb.so.1', # part of X11 69 b'libfontconfig.so.1', # font support 70 b'libfreetype.so.6', # font parsing 71+b'libdbus-1.so.3', # inter process communication (notification system)
jonasschnelli commented at 2:06 pm on June 17, 2016:@theuni: Is this a problem? I guess Qt links tolibdbus
dynamic anyways? And we disable the static library (https://github.com/bitcoin/bitcoin/blob/master/depends/packages/dbus.mk#L9).in build-aux/m4/bitcoin_qt.m4: in 6194d9a501 outdated
341@@ -342,6 +342,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[ 342 elif test x$TARGET_OS = xdarwin; then 343 PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"]) 344 fi 345+ else 346+ QT_LIBS="-lQt5PlatformSupport $QT_LIBS"
jonasschnelli commented at 2:07 pm on June 17, 2016:IMO this is necessary in non-pkgconfig mode (MinGW). @theuni: thoughts?
theuni commented at 9:27 am on June 18, 2016:I believe this hasn’t been necessary in the past because qt assumed more about win builds than other environments. If that’s the case, and it’s needed now, we’ll need to make sure we only check for this for 5.6+.fanquake commented at 3:16 pm on June 17, 2016: memberOne TODO you could add here is dropping dbus from the qt build. Thanks for picking this up and putting it on top of the toolchain bump. Ill test this, and if it’s merged for 0.13, I can rebase #8053 and turn it into testing a QT5.7 update, and the potential enhancements surrounding that.jonasschnelli commented at 6:46 pm on June 17, 2016: contributorCompiles now on all three gitian platform: https://bitcoin.jonasschnelli.ch/pulls/8210/
The remaining question: dynamic link against
libdbus-1
https://github.com/bitcoin/bitcoin/pull/8210/files#diff-a225cfb1575f5550c4ba2b912127a730R71jonasschnelli commented at 6:49 pm on June 17, 2016: contributorTravis fails because of a missing file (MacOSX10.11.sdk.tar.gz) on bitcoincore.org. Must be placed there by @theuni.laanwj commented at 7:20 am on June 18, 2016: memberTravis fails because of a missing file (MacOSX10.11.sdk.tar.gz) on bitcoincore.org. Must be placed there by @theuni.
Can we temporarily use a different host?
I wouldn’t mind using mine, until we find a permenant solution: https://download.visucore.com/bitcoin/MacOSX10.11.sdk.tar.gz
theuni commented at 8:06 am on June 18, 2016: memberLooks like we might need to whitelist a new range at bitcoincore.org for the generic build image. The download fails with “access denied”. I can fix next week if there’s no workaround in place yet.
…stupid SDK restrictions…
theuni commented at 8:59 am on June 18, 2016: memberIirc there’s a –runtime-dbus (or so) introduced in 5.6 or 5.7 that makes the desired behavior explicit. That, combined with deleting the dbus dependency (and even the package itself) should fix the NEEDED problem.Use runtime linking of QT libdbus, use custom/temp. SDK URL 59d063d076jonasschnelli commented at 1:35 pm on June 18, 2016: contributor- Travis is now happy (temporary set the SDK path to https://bitcoin.jonasschnelli.ch)
- libdbus is now loaded at runtime, so the symbols-check is back to the old state
- All three gitian platforms built successfully https://bitcoin.jonasschnelli.ch/pulls/8210/
laanwj commented at 2:40 pm on June 18, 2016: memberWoohoo, green!
Going to test this.
- Gitian build was succesful for all platforms
- Checked the bitcoin-qt executable for Linux - at first glance everything seems to work as it should, no glitches (on Ubuntu 16.04)
- Checked the bitcoin-qt.exe for Windows in wine - everything seems ok (on Ubuntu 16.04)
bitcoin-qt dependencies:
0 0x0000000000000001 (NEEDED) Shared library: [libX11-xcb.so.1] 1 0x0000000000000001 (NEEDED) Shared library: [libX11.so.6] 2 0x0000000000000001 (NEEDED) Shared library: [libxcb.so.1] 3 0x0000000000000001 (NEEDED) Shared library: [libfontconfig.so.1] 4 0x0000000000000001 (NEEDED) Shared library: [libfreetype.so.6] 5 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 6 0x0000000000000001 (NEEDED) Shared library: [libdl.so.2] 7 0x0000000000000001 (NEEDED) Shared library: [libanl.so.1] 8 0x0000000000000001 (NEEDED) Shared library: [librt.so.1] 9 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 10 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] 11 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 12 0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
All looks good to me. Will check determinism.
- Built -linux a few times (with and without caching), SHA256 hashes were the same
0a8c0e04e79a80688ee457ba9fb592bfa3ac450f91298c205f467ed045f47d605 bitcoin-0.12.99-aarch64-linux-gnu-debug.tar.gz 13b4a0cda93b96d0fbd5826547294852d75ad30145d3cf32d7766b742dfcecb69 bitcoin-0.12.99-aarch64-linux-gnu.tar.gz 26106ccae1078b2408b024716e75fa2b6223d2ad2a596ab6279547268f5207c6e bitcoin-0.12.99-arm-linux-gnueabihf-debug.tar.gz 36441caa0321f61956a18b866b36c405d9d50caa32b4d7f0b47a23fac9c45f809 bitcoin-0.12.99-arm-linux-gnueabihf.tar.gz 4c55acea4c15951f8661a0b964b4aefc9328769eda5b5be0b94f70a8a8ef3d743 bitcoin-0.12.99-i686-pc-linux-gnu-debug.tar.gz 5d1baabbf672ee88e42cf0e824faae57f5a3e822ed35e777d75dff89792713c1c bitcoin-0.12.99-i686-pc-linux-gnu.tar.gz 67b85677612e3ab49b968241494f0dd427c5c3c14414de2df540632718888f63a bitcoin-0.12.99-x86_64-linux-gnu-debug.tar.gz 7a6c705f20528b59367ffbf0a0c8a71cb79ec2bce16927f06bc8a689a65c10160 bitcoin-0.12.99-x86_64-linux-gnu.tar.gz 82edc23a93db42965128e47d795b4e2399e43e1c52c96a6eab6efb0f5b90fa8c6 src/bitcoin-0.12.99.tar.gz
- Build -win a few times (with and without caching), SHA256 hashes were the same
06567082d336e8574fd7c3d8803e38dafd96621040feab9c6c6493caddb31d825 bitcoin-0.12.99-win-unsigned.tar.gz 10288f0c3903a69b3fdddff430a4c9db9e24c94d58b2cab9dca83bba14aceb142 bitcoin-0.12.99-win32-debug.zip 2523e7ac77abdb748663e3872cc29dc5268a43951c05025e48f09144690dff683 bitcoin-0.12.99-win32-setup-unsigned.exe 3837cdd402fed3cecedd482c6b076c982d9081c980843d99d6360c1454146fa41 bitcoin-0.12.99-win32.zip 4a031b966c0ca991152510646b84d1ce71b43fff1a550a246f4d163e42c4c32e1 bitcoin-0.12.99-win64-debug.zip 575664851d83c17f8c24cce2c742eb9f2d3343e2dcdd480dfb6a4eea114c6cc69 bitcoin-0.12.99-win64-setup-unsigned.exe 63e01672dc96e6a119151cf2e630afddf0779a9ca141c390be9c8dd64ad218fd9 bitcoin-0.12.99-win64.zip 72edc23a93db42965128e47d795b4e2399e43e1c52c96a6eab6efb0f5b90fa8c6 src/bitcoin-0.12.99.tar.gz
- Build -osx a few times (with and without caching), SHA256 hashes were the same
0ca7ba025d4d5c8d17a64e825903280281bc2fcb89da0536e0be2c786561088fb bitcoin-0.12.99-osx64.tar.gz 12edc23a93db42965128e47d795b4e2399e43e1c52c96a6eab6efb0f5b90fa8c6 src/bitcoin-0.12.99.tar.gz
These were different every run:
098408b1779122527b8d6bcd541178b439379630865644602527de16d7535e41d bitcoin-0.12.99-osx-unsigned.dmg 18a7a83e2172d0ea5767dfd54af7d180cc2072601f45406bc6012456bb935c6bb bitcoin-0.12.99-osx-unsigned.tar.gz
I’m fairly sure that this was already the case though. These are two intermediate files and only the -signed end product will be deterministic.
laanwj commented at 7:58 am on June 20, 2016: memberDid anyone test the OSX executables?
If so, and there were no issues, I think this is ready for merge.
Only pass -lQt5PlatformSupport if >=Qt5.6 2759597bc8laanwj merged this on Jun 20, 2016laanwj closed this on Jun 20, 2016
laanwj referenced this in commit 12a541e8da on Jun 20, 2016in build-aux/m4/bitcoin_qt.m4: in 2759597bc8
341@@ -342,6 +342,10 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[ 342 elif test x$TARGET_OS = xdarwin; then 343 PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"]) 344 fi 345+ else 346+ if ${PKG_CONFIG} --exists "Qt5Core >= 5.6" 2>/dev/null; then
theuni commented at 3:09 am on June 23, 2016:This seems to be using pkg-config in the if(!pkgconfig) case?theuni commented at 3:14 am on June 23, 2016: memberI’m not sure that I understand the pkg-config changes here. We don’t use pkg-config for win because I don’t believe it’s reliable there. From what I can tell, this seems to confirm that suspicion.
I think this probably introduced a few bugs, but I won’t be able to work on this for ~1.5 more weeks. I’ve made a note to verify these changes before release.
Other than the windows stuff, this looks good. Thanks @jonasschnelli and @fanquake for working on it.
laanwj commented at 2:39 pm on June 23, 2016: memberI think this probably introduced a few bugs
If anything the windows gitian executables seem to be working fine.
MarcoFalke commented at 4:37 pm on July 8, 2016: memberI think this probably introduced a few bugs @theuni Did you find any bugs?
theuni commented at 5:36 pm on July 8, 2016: member@MarcoFalke The pkg-config issue was fixed with 0c928cb13cc9146bb2c0f39d1d3b6e1e660a375d. I just tested to see if the xcb issue was reintroduced, and it wasn’t. So it looks like we’re all good here.MarcoFalke commented at 9:43 am on July 10, 2016: memberGood to hear. Thanks for having a look.codablock referenced this in commit 394e5525db on Sep 16, 2017codablock referenced this in commit 4be686ba7d on Sep 19, 2017zkbot referenced this in commit 33f7145fb2 on Nov 29, 2017zkbot referenced this in commit b2399c1951 on Nov 30, 2017zkbot referenced this in commit d3ca2706a8 on Nov 30, 2017zkbot referenced this in commit 02c4467cb5 on Nov 30, 2017codablock referenced this in commit b6dab50ca3 on Dec 27, 2017codablock referenced this in commit 68757db683 on Dec 28, 2017andvgal referenced this in commit 99d3b6f3d7 on Jan 6, 2019laanwj referenced this in commit 983c84844c on Jul 8, 2019sidhujag referenced this in commit ed68cfbf17 on Jul 9, 2019fanquake referenced this in commit 2ecb7e1556 on Dec 1, 2019sidhujag referenced this in commit bff238f819 on Dec 1, 2019zkbot referenced this in commit a96942e809 on Dec 11, 2019monstrobishi referenced this in commit 3bab55bbcb on Sep 6, 2020sidhujag referenced this in commit 528732538c on Nov 10, 2020DrahtBot 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: 2024-12-19 09:12 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me