[depends] Qt 5.7.1 #9469

pull fanquake wants to merge 4 commits into bitcoin:master from fanquake:depends-0-14-0-qt changing 8 files +39 −66
  1. fanquake commented at 1:28 PM on January 4, 2017: member

    This updates the depends system to use Qt 5.7.1. One improvement includes:

    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.
    

    See #8237 for some more discussion. However it's worth noting that build-related improvements likely won't make it into 0.14.0.

    We can drop the configure-xcoderun patch, as it's been fixed in src. The other patches have been updated to apply cleanly.

    -c++11 and -no-nis have been removed as they are now invalid options.

    There is currently an lrelease/translations related issue, and one other on linux.

    compiling ../shared/qmakeevaluator.cpp
    compiling ../shared/qmakebuiltins.cpp
    compiling ../shared/profileevaluator.cpp
    linking ../../../bin/lrelease
    make[1]: Leaving directory `/home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-unknown-linux-gnu/qt/5.7.1-b0275a68b64/qttools/src/linguist/lrelease'
    make[1]: Entering directory `/home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-unknown-linux-gnu/qt/5.7.1-b0275a68b64/qttranslations'
    cd translations/ && ( test -e Makefile || /home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-unknown-linux-gnu/qt/5.7.1-b0275a68b64/qtbase/bin/qmake /home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-unknown-linux-gnu/qt/5.7.1-b0275a68b64/qttranslations/translations/translations.pro -o Makefile ) && make -f Makefile 
    make[2]: Entering directory `/home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-unknown-linux-gnu/qt/5.7.1-b0275a68b64/qttranslations/translations'
    make[2]: *** No rule to make target `/home/travis/build/bitcoin/bitcoin/depends/x86_64-unknown-linux-gnu/native/bin/lrelease', needed by `assistant_cs.qm'.  Stop.
    

    cc @theuni Closes #8237

  2. fanquake added the label Build system on Jan 4, 2017
  3. fanquake added the label GUI on Jan 4, 2017
  4. fanquake added this to the milestone 0.14.0 on Jan 4, 2017
  5. fanquake requested review from theuni on Jan 4, 2017
  6. in depends/patches/qt/fix_qt_pkgconfig.patch:None in e664a93ab8 outdated
       0 | @@ -1,6 +1,6 @@
       1 | ---- old/qtbase/mkspecs/features/qt_module.prf 2016-03-17 02:06:42.705930685 +0000
       2 | -+++ new/qtbase/mkspecs/features/qt_module.prf 2016-03-17 02:06:42.705930685 +0000
       3 | -@@ -244,7 +244,7 @@
       4 | +--- old/qtbase/mkspecs/features/qt_module.prf
    


    paveljanik commented at 11:00 AM on January 8, 2017:

    Why so many diff-only related changes here?


    laanwj commented at 11:11 AM on January 10, 2017:

    The code stayed the same but the lines moved.


    paveljanik commented at 11:13 AM on January 10, 2017:

    We already clarified this with @fanquake. He re-did the diffs to apply cleanly.

  7. theuni commented at 3:11 AM on January 10, 2017: member

    @fanquake Thanks, having a look.

  8. theuni commented at 9:21 PM on January 10, 2017: member

    @fanquake Seems the xcoderun issue still exists. Did you see something upstream that looked like a fix?

    I remember fixing up some of those issues in my unfinished branch, which was an attempt to split up the monolithic build into smaller chunks: https://github.com/theuni/bitcoin/commit/b00b202690322917df6927997b569587af31c438. It's obviously not worth trying to do all that now, but it may be helpful to pick some of the changes out.

    IIRC the lrelease problem was caused by something assuming that lrelease was already built, forcing it to build earlier should do the trick.

  9. jtimon commented at 11:03 PM on January 11, 2017: contributor

    Concept ACK

  10. fanquake commented at 11:33 PM on January 11, 2017: member

    @theuni I thought it only affected the 5.6 branch https://codereview.qt-project.org/#/c/164673. Homebrew also dropped their patch for the same issue when moving to 5.7.1, see this commit.

  11. theuni commented at 11:49 PM on January 11, 2017: member

    @fanquake That's a different issue. Our problem is that it assumes that builds for osx are done on osx. Our patch fixes the cross build.

  12. fanquake force-pushed on Jan 11, 2017
  13. theuni commented at 11:33 PM on January 13, 2017: member

    @fanquake My apologies, you were right about that patch. I had something different in mind (a sed we do in the .mk).

    Mind putting that back the way you had it, then grabbing the top two commits here: https://github.com/theuni/bitcoin/tree/qt-5.7new ?

    I think that may be enough to get this working.

  14. theuni commented at 11:41 PM on January 13, 2017: member

    @fanquake Also, rather than dropping the "-c++11" option, let's change it to "-c++std c++11". Otherwise, it'll pick up c++14/c++17 and potentially end up with a confused abi.

  15. [depends] Qt 5.7.1 02fcb2944d
  16. depends: use new variable layout for qt sdk 2b32dea503
  17. fanquake force-pushed on Jan 14, 2017
  18. fanquake commented at 3:12 AM on January 14, 2017: member

    Rebased, so this is now on top of the other depends changes. Updated to use -c++std c++11 instead of just dropping -c++11. Re-dropped the xcrun configure patch. Pull in two commits from @theuni.

  19. fanquake renamed this:
    [WIP][depends] Qt 5.7.1
    [depends] Qt 5.7.1
    on Jan 14, 2017
  20. fanquake force-pushed on Jan 14, 2017
  21. fanquake commented at 6:11 AM on January 14, 2017: member

    After discussion with theuni on IRC, have just pushed a fix for the c++ issue with the OSX build.

    If this works, make sure to split out the config.site.in change into a separate commit, as it could be backported.

    cfields: fanquake only reason i mention is that i had a theory at one point that it was the cause of the 10.7 back-compat breakage. Since it's responsible for intoducing c++03 abi objects into the 0.13 build.
    

    https://github.com/bitcoin/bitcoin/blob/master/configure.ac#L62

  22. depends: fix qt translations build
    Their buildsystem insists on using the installed ltranslate, but gets confused
    about how to find it. Since we manually control the build order, just drop the
    dependency.
    c37ea4d403
  23. [depends] Remove OBJCXX define from config.site.in bb077fa5d0
  24. fanquake force-pushed on Jan 14, 2017
  25. MarcoFalke commented at 10:14 AM on January 14, 2017: member

    Concept ACK.

  26. laanwj commented at 5:43 AM on January 15, 2017: member

    utACK bb077fa, looks good to me, good to see this is passing now.

  27. laanwj merged this on Jan 15, 2017
  28. laanwj closed this on Jan 15, 2017

  29. laanwj referenced this in commit 01c4576a39 on Jan 15, 2017
  30. fanquake deleted the branch on Jan 15, 2017
  31. MarcoFalke commented at 12:55 PM on January 15, 2017: member

    If this works, make sure to split out the config.site.in change into a separate commit, as it could be backported.

    Tagging for backport

  32. MarcoFalke added the label Needs backport on Jan 15, 2017
  33. MarcoFalke added this to the milestone 0.13.3 on Jan 15, 2017
  34. MarcoFalke removed this from the milestone 0.14.0 on Jan 15, 2017
  35. fanquake removed review request from theuni on Jan 16, 2017
  36. sickpig referenced this in commit 4d90675c20 on Feb 28, 2017
  37. codablock referenced this in commit 5288b5d42d on Jan 19, 2018
  38. codablock referenced this in commit 3d4a4c8bc0 on Jan 20, 2018
  39. codablock referenced this in commit 87229e06c2 on Jan 21, 2018
  40. fanquake removed the label Needs backport on Mar 7, 2018
  41. CryptoCentric referenced this in commit 0363e9ff3f on Feb 27, 2019
  42. CryptoCentric referenced this in commit e11d1ae195 on Feb 27, 2019
  43. 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: 2026-04-17 00:15 UTC

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