[WIP] [depends] Qt 5.6.1 #8053

pull fanquake wants to merge 2 commits into bitcoin:master from fanquake:depends-qt-5-6-0 changing 4 files +76 −125
  1. fanquake commented at 8:52 am on May 14, 2016: member

    Bump Qt to 5.6.1

    The major changes are: LTS - 5.6 is the new Long Term Support release, the previous being 4.8 Windows 10 is fully supported High-DPI support, details here Improved C++11 support by adding reverse iterators for all our container classes, a key_iterator for QHash and QMap, and a const_iterator for QByteArray.

    Maybe worth noting that 5.6 is the will be the last version before some open source licensing changes take place, more details here.

    Qt 5.6.0 - release post Qt 5.6.1 - release post

    Fixes #7999

    OpenSSL 1.0.2h I had issues compiling with 1.0.1k, and had to remove the no-cms and no-rc2 configure options for 1.0.2h, otherwise the build would fail. I also had to add a make depend step before building.

  2. MarcoFalke added this to the milestone 0.13.0 on May 14, 2016
  3. MarcoFalke added the label GUI on May 14, 2016
  4. MarcoFalke added the label Build system on May 14, 2016
  5. MarcoFalke assigned theuni on May 14, 2016
  6. jonasschnelli commented at 11:11 am on May 14, 2016: contributor
    Nice! Have you tested this already over a gitian build?
  7. jonasschnelli commented at 1:01 pm on May 14, 2016: contributor

    Got gitian compile issues: https://bitcoin.jonasschnelli.ch/pulls/8053/

    0making depend in crypto...
    1make[2]: Entering directory `/home/ubuntu/build/bitcoin/depends/work/build/i686-pc-linux-gnu/openssl/1.0.2h-08249684d6f/crypto'
    2../util/domd: 31: ../util/domd: makedepend: not found
    3mv: cannot stat 'Makefile.new': No such file or directory
    4make[2]: *** [local_depend] Error 127
    5make[2]: Leaving directory `/home/ubuntu/build/bitcoin/depends/work/build/i686-pc-linux-gnu/openssl/1.0.2h-08249684d6f/crypto'
    6make[1]: *** [depend] Error 1
    
  8. theuni commented at 10:01 am on May 20, 2016: member

    Why not stick with 1.0.1k and drop no-cms and no-rc2? IIRC I had no trouble building that way when I tested qt 5.6. I’d really rather not require makedepend.

    Alternatively, we could upstream the qt change to work properly without these. Either way, I don’t think switching to 1.0.2 could be done lightly.

    I assume the patches were dropped because they didn’t apply cleanly? We’ll need to check these. The mingw patch fixes a build-time problem with older gcc (4.6 iirc). Now that we require c++11, I think we can probably drop that.

    The other is much more subtle, and fixes a runtime issue. See bb44d9e7546e6118cd91db5bbe471a3ce2ee7fcd for info there.

  9. fanquake force-pushed on May 21, 2016
  10. fanquake force-pushed on May 21, 2016
  11. arowser commented at 8:43 am on May 25, 2016: contributor
    Can one of the admins verify this patch?
  12. fanquake commented at 9:55 am on May 27, 2016: member

    This is now building successfully on OSX 10.11.5, plugging ./configure --prefix=/depends/x86_64-apple-darwin15.5.0 into configure.

    Still investigating dropping the patches. I’ll have to push a few more minor changes if they can be dropped. @jonasschnelli Can you retest? @theuni Is there any value in bumping our libxcb dependancy?

  13. laanwj commented at 9:17 am on May 30, 2016: member
    I guess we’d have to tackle #7945 as well, to make sure this gets tested.
  14. jonasschnelli commented at 9:21 am on May 30, 2016: contributor

    Still fails:

    0qxcbintegration.h:42:21: fatal error: xcb/xcb.h: No such file or directory
    

    Build logs: https://bitcoin.jonasschnelli.ch/pulls/8053/

  15. fanquake force-pushed on May 30, 2016
  16. laanwj commented at 6:30 am on June 9, 2016: member
    Let’s try to get this in for 0.13, Qt is the single most important dependency to bump from a user perspective.
  17. fanquake commented at 6:54 am on June 9, 2016: member

    I’ll rebase on master and look at removing dbus

    On Thursday, 9 June 2016, Wladimir J. van der Laan notifications@github.com wrote:

    Let’s try to get this in for 0.13, Qt is the single most important dependency to bump from a user perspective.

    — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub #8053 (comment), or mute the thread https://github.com/notifications/unsubscribe/AA0t8v81tM--ZJ97yk6TX_nFJqiLZfhHks5qJ7L8gaJpZM4IejtX .

  18. jonasschnelli commented at 7:04 am on June 9, 2016: contributor

    The bump to Qt5.6 would give users on Linux/Windows “full” HiDPI support which somehow is extremely convenient these days (most new computers/laptops come with a HiDPI capable screen). There are some ugly glitches with Qt5.5 (https://github.com/bitcoin/bitcoin/issues/6472) and I guess more and more users will use HiDPI resolution on Linux/Mac.

    It would be nice if we could bump to Qt5.6 before 0.13, but I agree, it is a little bit late. On the other hand, we still have the rc phase (I don’t expect people reporting Qt5.6 relevant HiDPI issues before the rc phase).

  19. laanwj commented at 8:01 am on June 9, 2016: member
    It’s not too late. The best time to test it is in the rc phase as different people will be testing it on different environments.
  20. theuni commented at 3:20 pm on June 9, 2016: member

    5.6.1 was released yesterday, may as well target that.

    I’m working on build/toolchain stuff atm, I’ll try to take a look at the xcb issue asap.

  21. fanquake renamed this:
    [WIP] [depends] Qt 5.6.0
    [WIP] [depends] Qt 5.6.1
    on Jun 10, 2016
  22. fanquake force-pushed on Jun 10, 2016
  23. fanquake commented at 5:05 am on June 10, 2016: member
    Rebased on master and updated to Qt 5.6.1
  24. fanquake force-pushed on Jun 10, 2016
  25. fanquake commented at 5:38 am on June 10, 2016: member
    The xcb patch no longer applies cleanly, will look at this again later today.
  26. fanquake force-pushed on Jun 13, 2016
  27. [depends] OpenSSL 1.0.1k - update config_opts 03158d9d13
  28. [depends] Qt 5.6.1 9d9cbf0ed6
  29. fanquake force-pushed on Jun 14, 2016
  30. laanwj commented at 6:41 am on June 14, 2016: member

    It complains about the missing patch now…

    0/bin/sh: 1: cannot open /home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-unknown-linux-gnu/qt/5.6.1-697d96c0681/.patches-697d96c0681/fix-xcb-include-order.patch: No such file
    
  31. jonasschnelli commented at 9:31 am on June 16, 2016: contributor
    Using this commit (https://github.com/jonasschnelli/bitcoin/commit/0102b7f0226370290e9a9d8aa88c44df3cbec3d8) let me compile Qt5.6.1 (depends/linux), but I had to manually create the Qt5XcbQpa.pc and the Qt5PlatformSupport.pc. I could not figure out why these two pkgconfig files where not generated. @theuni any ideas?
  32. paveljanik commented at 9:44 am on June 16, 2016: contributor
  33. fanquake commented at 11:55 am on June 16, 2016: member

    QT 5.7 has been released.

    " Starting with Qt 5.7, we will require a C++11 compliant compiler to build and use Qt. This allows us to use many of the new features in Qt itself, and renew our codebase using features such as constexpr, move semantics, range-for and auto. These efforts are well under way and will continue throughout the next versions. "

    Qt Core

    Qt uses poll() instead of select() in it’s event loop allowing for more than 1024 file descriptors Qt now uses std::atomic for it’s atomic classes

  34. laanwj commented at 8:11 am on June 17, 2016: member
    Okay this is getting confusing, is it just me or is Qt now releasing a new version every two weeks?
  35. jonasschnelli commented at 8:13 am on June 17, 2016: contributor
    Indeed. Qt7 has been released yesterday. We might want to go with Qt5.6.1 for 0.13.
  36. laanwj commented at 8:19 am on June 17, 2016: member

    Qt7 has been released yesterday. We might want to go with Qt5.6.1 for 0.13.

    +1. it’s the more stable choice…

  37. theuni commented at 8:46 am on June 17, 2016: member

    Agreed on 5.6.1 for 0.13. I should be able to look at the xcb patch in the next week or so.

    Though it’s worth noting for a future pr: 5.7 improves a few build-related things for us:

    • allows for split native tools build.
    • passes flags (like -D and -B only to the host toolchain)

    (I’m on mobile so those are from memory, may not be 100% accurate. I also haven’t tested that those work as intended.)

    The first should allow us to split up the build into more reasonable chunks (native_qttools and qtlibs).

    The second should allow us to drop the xcb patch in favor of using more detailed flags. It should also allow us to drop the hackish env vars we use.

  38. MarcoFalke removed this from the milestone 0.13.0 on Jun 20, 2016
  39. MarcoFalke commented at 11:55 am on June 20, 2016: member
    Removed 0.13 milestone, as #8210 is merged
  40. laanwj closed this on Jun 20, 2016

  41. fanquake deleted the branch on Jun 22, 2016
  42. MarcoFalke 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 12:12 UTC

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