[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
  1. jonasschnelli commented at 6:50 pm on June 16, 2016: contributor
    Based on (#8053) credits to @fanquake. Includes osx toolchain bump from @theuni (#8184).
  2. jonasschnelli added the label Build system on Jun 16, 2016
  3. jonasschnelli force-pushed on Jun 16, 2016
  4. jonasschnelli commented at 6:52 pm on June 16, 2016: contributor
    If you compile OSX binaries over depends, you now need the MacOSX10.11.tar.gz SDK.
  5. sipa commented at 6:53 pm on June 16, 2016: member
    What advantages does 5.6.1 have over 5.5.0?
  6. 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.

  7. jonasschnelli force-pushed on Jun 16, 2016
  8. jonasschnelli force-pushed on Jun 17, 2016
  9. jonasschnelli force-pushed on Jun 17, 2016
  10. depends: bump OSX toolchain
    clang: 3.7.1
    cctools: 877.8
    ld64: 253.9
    f25209a3e1
  11. [depends] OpenSSL 1.0.1k - update config_opts f6eb4e2b62
  12. jonasschnelli force-pushed on Jun 17, 2016
  13. jonasschnelli force-pushed on Jun 17, 2016
  14. laanwj commented at 8:05 am on June 17, 2016: member
    As 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.
  15. laanwj added this to the milestone 0.13.0 on Jun 17, 2016
  16. laanwj commented at 8:12 am on June 17, 2016: member
    Why does this need the OSX toolchain bump?
  17. jonasschnelli commented at 8:15 am on June 17, 2016: contributor
    I 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,
  18. laanwj commented at 8:16 am on June 17, 2016: member
    Ah sorry yes I missed the atomic thing. Makes sense.
  19. 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!

  20. jonasschnelli force-pushed on Jun 17, 2016
  21. Fix bitcoin_qt.m4 and fix-xcb-include-order.patch 6194d9a501
  22. jonasschnelli force-pushed on Jun 17, 2016
  23. 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 to libdbus dynamic anyways? And we disable the static library (https://github.com/bitcoin/bitcoin/blob/master/depends/packages/dbus.mk#L9).
  24. 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+.
  25. fanquake commented at 3:16 pm on June 17, 2016: member
    One 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.
  26. jonasschnelli commented at 6:46 pm on June 17, 2016: contributor

    Compiles 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-a225cfb1575f5550c4ba2b912127a730R71

  27. jonasschnelli commented at 6:49 pm on June 17, 2016: contributor
    Travis fails because of a missing file (MacOSX10.11.sdk.tar.gz) on bitcoincore.org. Must be placed there by @theuni.
  28. laanwj commented at 7:20 am on June 18, 2016: member

    Travis 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

  29. theuni commented at 7:54 am on June 18, 2016: member
    I uploaded this before I left, #8184 should show it being found.
  30. theuni commented at 8:06 am on June 18, 2016: member

    Looks 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…

  31. theuni commented at 8:59 am on June 18, 2016: member
    Iirc 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.
  32. Use runtime linking of QT libdbus, use custom/temp. SDK URL 59d063d076
  33. jonasschnelli commented at 1:35 pm on June 18, 2016: contributor
  34. laanwj commented at 2:40 pm on June 18, 2016: member

    Woohoo, 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.

  35. laanwj commented at 7:58 am on June 20, 2016: member

    Did anyone test the OSX executables?

    If so, and there were no issues, I think this is ready for merge.

  36. Only pass -lQt5PlatformSupport if >=Qt5.6 2759597bc8
  37. laanwj merged this on Jun 20, 2016
  38. laanwj closed this on Jun 20, 2016

  39. laanwj referenced this in commit 12a541e8da on Jun 20, 2016
  40. in 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?
  41. theuni commented at 3:14 am on June 23, 2016: member

    I’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.

  42. laanwj commented at 2:39 pm on June 23, 2016: member

    I think this probably introduced a few bugs

    If anything the windows gitian executables seem to be working fine.

  43. MarcoFalke commented at 4:37 pm on July 8, 2016: member

    I think this probably introduced a few bugs @theuni Did you find any bugs?

  44. 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.
  45. MarcoFalke commented at 9:43 am on July 10, 2016: member
    Good to hear. Thanks for having a look.
  46. codablock referenced this in commit 394e5525db on Sep 16, 2017
  47. codablock referenced this in commit 4be686ba7d on Sep 19, 2017
  48. zkbot referenced this in commit 33f7145fb2 on Nov 29, 2017
  49. zkbot referenced this in commit b2399c1951 on Nov 30, 2017
  50. zkbot referenced this in commit d3ca2706a8 on Nov 30, 2017
  51. zkbot referenced this in commit 02c4467cb5 on Nov 30, 2017
  52. codablock referenced this in commit b6dab50ca3 on Dec 27, 2017
  53. codablock referenced this in commit 68757db683 on Dec 28, 2017
  54. andvgal referenced this in commit 99d3b6f3d7 on Jan 6, 2019
  55. laanwj referenced this in commit 983c84844c on Jul 8, 2019
  56. sidhujag referenced this in commit ed68cfbf17 on Jul 9, 2019
  57. fanquake referenced this in commit 2ecb7e1556 on Dec 1, 2019
  58. sidhujag referenced this in commit bff238f819 on Dec 1, 2019
  59. zkbot referenced this in commit a96942e809 on Dec 11, 2019
  60. monstrobishi referenced this in commit 3bab55bbcb on Sep 6, 2020
  61. sidhujag referenced this in commit 528732538c on Nov 10, 2020
  62. 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: 2024-12-19 09:12 UTC

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