build: Qt 5.15.x #19716

pull fanquake wants to merge 29 commits into bitcoin:master from fanquake:qt_5_15_x changing 36 files +341 −315
  1. fanquake commented at 7:44 AM on August 14, 2020: member

    Opening this for visibility. Apart from it probably being time to use a newer version of Qt for releases, an update is required so that we are using a version which has a C++17 mode.

    There's a lot of commits here, because I've made some changes (like rebasing our patches), that aren't strictly necessary. There are also some changes, like bumping the minimum required macOS version, that will likely happen separate, as part of the C++17 migration. So this change will end up being a bit smaller.

    The biggest change here is that Qt no longer has internal xcb libs, so we need to build the requirements ourselves. This also means some additional build-time tools, such as yacc (from bison) are also required; to build xkbcommon.

    I've tested this on Ubuntu; although it'd be great if more people could test with their particular brand of Linux desktop.

    <img width="568" alt="Linux Qt" src="https://user-images.githubusercontent.com/863730/90225425-ee469680-de43-11ea-8c12-849421c4497f.png">

    Cross-compiled Windows and macOS builds compile and run, but the GUI currently looks a bit broken on both. i.e macOS seems to look a bit like an older version of Windows:

    <img width="1040" alt="Screen Shot 2020-08-11 at 8 47 00 pm" src="https://user-images.githubusercontent.com/863730/90225973-d91e3780-de44-11ea-9bc8-5895cb0287e4.png">

    I haven't had enough time to fully investigate (also why there's some WIP commits), so if anyone wants to dig in and see what Qt has changed since 5.9.x feel free.

  2. fanquake added the label GUI on Aug 14, 2020
  3. fanquake added the label Build system on Aug 14, 2020
  4. MarcoFalke added this to the milestone 0.22.0 on Aug 14, 2020
  5. MarcoFalke commented at 7:52 AM on August 14, 2020: member

    Added 0.22 milestone based on the assumption that none of this is required to build with a qt5.15 system package? (Only depends changes here?)

  6. fanquake commented at 7:59 AM on August 14, 2020: member

    the assumption that none of this is required to build with a qt5.15 system package?

    As far as I'm aware people have already been building with Qt 5.15, and that has been working after #19097.

  7. jonasschnelli commented at 8:23 AM on August 14, 2020: contributor

    Thanks! It's currently failing on gitian: https://bitcoin.jonasschnelli.ch/gitian/builds/231/build_osx.log

  8. hebasto commented at 12:35 PM on August 14, 2020: member

    @fanquake

    Cross-compiled Windows and macOS builds compile and run, but the GUI currently looks a bit broken on both. i.e macOS seems to look a bit like an older version of Windows:

    I found this https://github.com/hebasto/bitcoin/commit/528360ade9bb3f4902b632f6f755cf63b3397412 useful for diagnostics such issues. Feel free to integrate :)

  9. promag commented at 11:18 PM on August 16, 2020: member

    Nice work! I already used Qt 5.15 on macos and I don't think it looked like that. Will check this soon™

  10. fanquake cross-referenced this on Aug 18, 2020 from issue build: improve sed robustness by not using sed by fanquake
  11. vasild commented at 12:43 PM on August 19, 2020: contributor

    There are a bunch of compilation warnings on master and on this PR with Qt 5.15.0 like:

    src/qt/transactionview.cpp:587:13: warning: 'QDateTime' is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
                QDateTime(dateTo->date()).addDays(1));
                ^
    

    Here is a fix:

    <details> <summary>Fix -Wdeprecated-declarations warnings with Qt 5.15</summary>

    diff --git i/src/qt/sendcoinsdialog.cpp w/src/qt/sendcoinsdialog.cpp
    index 97fb88d71..786af1a73 100644
    --- i/src/qt/sendcoinsdialog.cpp
    +++ w/src/qt/sendcoinsdialog.cpp
    @@ -168,14 +168,14 @@ void SendCoinsDialog::setModel(WalletModel *_model)
             // fee section
             for (const int n : confTargets) {
                 ui->confTargetSelector->addItem(tr("%1 (%2 blocks)").arg(GUIUtil::formatNiceTimeOffset(n*Params().GetConsensus().nPowTargetSpacing)).arg(n));
             }
             connect(ui->confTargetSelector, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SendCoinsDialog::updateSmartFeeLabel);
             connect(ui->confTargetSelector, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SendCoinsDialog::coinControlUpdateLabels);
    -        connect(ui->groupFee, static_cast<void (QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), this, &SendCoinsDialog::updateFeeSectionControls);
    -        connect(ui->groupFee, static_cast<void (QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), this, &SendCoinsDialog::coinControlUpdateLabels);
    +        connect(ui->groupFee, &QButtonGroup::idClicked, this, &SendCoinsDialog::updateFeeSectionControls);
    +        connect(ui->groupFee, &QButtonGroup::idClicked, this, &SendCoinsDialog::coinControlUpdateLabels);
             connect(ui->customFee, &BitcoinAmountField::valueChanged, this, &SendCoinsDialog::coinControlUpdateLabels);
             connect(ui->optInRBF, &QCheckBox::stateChanged, this, &SendCoinsDialog::updateSmartFeeLabel);
             connect(ui->optInRBF, &QCheckBox::stateChanged, this, &SendCoinsDialog::coinControlUpdateLabels);
             CAmount requiredFee = model->wallet().getRequiredFee(1000);
             ui->customFee->SetMinValue(requiredFee);
             if (ui->customFee->value() < requiredFee) {
    diff --git i/src/qt/transactionview.cpp w/src/qt/transactionview.cpp
    index 54ecfc38e..5f638f559 100644
    --- i/src/qt/transactionview.cpp
    +++ w/src/qt/transactionview.cpp
    @@ -234,13 +234,13 @@ void TransactionView::setModel(WalletModel *_model)
     
             columnResizingFixer = new GUIUtil::TableViewLastColumnResizingFixer(transactionView, AMOUNT_MINIMUM_COLUMN_WIDTH, MINIMUM_COLUMN_WIDTH, this);
     
             if (_model->getOptionsModel())
             {
                 // Add third party transaction URLs to context menu
    -            QStringList listUrls = _model->getOptionsModel()->getThirdPartyTxUrls().split("|", QString::SkipEmptyParts);
    +            QStringList listUrls = _model->getOptionsModel()->getThirdPartyTxUrls().split("|", Qt::SkipEmptyParts);
                 for (int i = 0; i < listUrls.size(); ++i)
                 {
                     QString url = listUrls[i].trimmed();
                     QString host = QUrl(url, QUrl::StrictMode).host();
                     if (!host.isEmpty())
                     {
    @@ -272,36 +272,36 @@ void TransactionView::chooseDate(int idx)
             transactionProxyModel->setDateRange(
                     TransactionFilterProxy::MIN_DATE,
                     TransactionFilterProxy::MAX_DATE);
             break;
         case Today:
             transactionProxyModel->setDateRange(
    -                QDateTime(current),
    +                current.startOfDay(),
                     TransactionFilterProxy::MAX_DATE);
             break;
         case ThisWeek: {
             // Find last Monday
             QDate startOfWeek = current.addDays(-(current.dayOfWeek()-1));
             transactionProxyModel->setDateRange(
    -                QDateTime(startOfWeek),
    +                startOfWeek.startOfDay(),
                     TransactionFilterProxy::MAX_DATE);
     
             } break;
         case ThisMonth:
             transactionProxyModel->setDateRange(
    -                QDateTime(QDate(current.year(), current.month(), 1)),
    +                QDate(current.year(), current.month(), 1).startOfDay(),
                     TransactionFilterProxy::MAX_DATE);
             break;
         case LastMonth:
             transactionProxyModel->setDateRange(
    -                QDateTime(QDate(current.year(), current.month(), 1).addMonths(-1)),
    -                QDateTime(QDate(current.year(), current.month(), 1)));
    +                QDate(current.year(), current.month(), 1).addMonths(-1).startOfDay(),
    +                QDate(current.year(), current.month(), 1).startOfDay());
             break;
         case ThisYear:
             transactionProxyModel->setDateRange(
    -                QDateTime(QDate(current.year(), 1, 1)),
    +                QDate(current.year(), 1, 1).startOfDay(),
                     TransactionFilterProxy::MAX_DATE);
             break;
         case Range:
             dateRangeWidget->setVisible(true);
             dateRangeChanged();
             break;
    @@ -580,14 +580,14 @@ QWidget *TransactionView::createDateRangeWidget()
     
     void TransactionView::dateRangeChanged()
     {
         if(!transactionProxyModel)
             return;
         transactionProxyModel->setDateRange(
    -            QDateTime(dateFrom->date()),
    -            QDateTime(dateTo->date()).addDays(1));
    +            dateFrom->date().startOfDay(),
    +            dateTo->date().startOfDay().addDays(1));
     }
     
     void TransactionView::focusTransaction(const QModelIndex &idx)
     {
         if(!transactionProxyModel)
             return;
    

    </details>

    qt_5.15_fix_deprecation_warnings.diff.txt

  12. fanquake commented at 12:45 PM on August 19, 2020: member

    @vasild Thanks. See https://github.com/bitcoin-core/gui/pull/46 which should take care of all of them.

  13. DrahtBot cross-referenced this on Aug 20, 2020 from issue depends: Split libpng out of Qt by luke-jr
  14. DrahtBot commented at 8:32 PM on August 20, 2020: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #20641 (depends: Use Qt top-level build facilities by hebasto)
    • #18298 (build: Fix Qt processing of configure script for depends with DEBUG=1 by hebasto)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  15. DrahtBot cross-referenced this on Aug 20, 2020 from issue build: Add Qt version checking by hebasto
  16. DrahtBot cross-referenced this on Aug 21, 2020 from issue build: Fix Qt processing of configure script for depends with DEBUG=1 by hebasto
  17. DrahtBot cross-referenced this on Aug 22, 2020 from issue build, qt: Add SVG support, and replace bitcoin PNG image with SVG one by hebasto
  18. DrahtBot cross-referenced this on Aug 24, 2020 from issue build: lrelease requires xml if not cross-building by hebasto
  19. fanquake force-pushed on Aug 24, 2020
  20. fanquake commented at 12:15 PM on August 24, 2020: member

    I've fixed up a bunch of things here. Rebased for #19689. Dropped the [WIP] qt commits and merged the relevant changes in to the qt 5.15.x commit. Modified the libxcb_util_image fix to be a patch file rather than using sed. Added a commit that should be enough to get the CI running. Fixed the docs for the dependency changes.

    Note that Qt 5.15.1 has been tagged (no downloads yet), so once that's up I'll swap over.

    Also dumped some output using @hebasto's patch. Turns out the macOS UI looks like Windows because the Windows style is being used.. Unclear why this is happening. Will investigate. Debug output:

    2020-08-24T11:22:47.398810Z [main] Bitcoin Core version v0.20.99.0-1971aead8-dirty (release build)
    2020-08-24T11:22:47.398842Z [main] Qt 5.15.0 (static), plugin=cocoa (static)
    2020-08-24T11:22:47.398936Z [main] Static Plugin: {"IID":"org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3","MetaData":{"Keys":["cocoa"]},"archreq":0,"className":"QCocoaIntegrationPlugin","debug":false,"version":331520}
    2020-08-24T11:22:47.398959Z [main] Style=windows / QWindowsStyle
    2020-08-24T11:22:47.398973Z [main] System: macOS 10.15, x86_64-little_endian-lp64
    2020-08-24T11:22:47.398987Z [main] Screen: Color LCD 1680x1050, pixel ratio=2.0
    2020-08-24T11:22:47.398997Z [main] Screen: LG HDR 4K 2560x1440, pixel ratio=2.0
    2020-08-24T11:22:47.958407Z [main] GUI: Populating font family aliases took 512 ms. Replace uses of missing font family ".AppleSystemUIFont,13,-1,5,50,0,0,0,0,0" with one that exists to avoid this cost. 
    2020-08-24T11:22:48.816413Z [main] GUI: initializeResult : Initialization result:  true
    2020-08-24T11:22:48.821713Z [main] GUI: Platform customization: "macosx"
    
  21. hebasto cross-referenced this on Aug 24, 2020 from issue util: Log static plugins meta data and used style by hebasto
  22. DrahtBot cross-referenced this on Aug 25, 2020 from issue Replace boost::filesystem with std::filesystem by kiminuo
  23. in ci/test/00_setup_env.sh:68 in 1e17e1038c outdated
      64 | @@ -65,7 +65,7 @@ export BASE_OUTDIR=${BASE_OUTDIR:-$BASE_SCRATCH_DIR/out/$HOST}
      65 |  export BASE_BUILD_DIR=${BASE_BUILD_DIR:-$BASE_SCRATCH_DIR/build}
      66 |  export PREVIOUS_RELEASES_DIR=${PREVIOUS_RELEASES_DIR:-$BASE_ROOT_DIR/releases/$HOST}
      67 |  export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
      68 | -export DOCKER_PACKAGES=${DOCKER_PACKAGES:-build-essential libtool autotools-dev automake pkg-config bsdmainutils curl ca-certificates ccache python3 rsync git procps}
      69 | +export DOCKER_PACKAGES=${DOCKER_PACKAGES:-build-essential bison libtool autotools-dev automake pkg-config bsdmainutils curl ca-certificates ccache python3 rsync git procps}
    


    hebasto commented at 8:53 AM on August 25, 2020:

    1e17e1038cfcc8b0769917a8d9107eac27889601

    To fix this error in CentOS build

    Building libxkbcommon...
    make[1]: Entering directory `/home/travis/build/hebasto/bitcoin/depends/work/build/i686-pc-linux-gnu/libxkbcommon/0.8.4-b76cb6131e8'
      YACC     src/xkbcomp/parser.c
    ./build-aux/ylwrap: line 176: yacc: command not found
    

    this change is required

    --- a/ci/test/00_setup_env_i686_centos.sh
    +++ b/ci/test/00_setup_env_i686_centos.sh
    @@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
     export HOST=i686-pc-linux-gnu
     export CONTAINER_NAME=ci_i686_centos_7
     export DOCKER_NAME_TAG=centos:7
    -export DOCKER_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python3 python36-zmq which patch lbzip2 dash"
    +export DOCKER_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python3 python36-zmq which patch lbzip2 dash bison"
     export GOAL="install"
     export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports --with-boost-process"
     export CONFIG_SHELL="/bin/dash"
    
  24. hebasto commented at 8:59 AM on August 25, 2020: member

    It seems the CentOS build is a subject of https://bugreports.qt.io/browse/QTBUG-85669

  25. in depends/packages/qt.mk:30 in 1e17e1038c outdated
      23 | @@ -24,13 +24,14 @@ define $(package)_set_vars
      24 |  $(package)_config_opts_release = -release
      25 |  $(package)_config_opts_debug = -debug
      26 |  $(package)_config_opts += -bindir $(build_prefix)/bin
      27 | -$(package)_config_opts += -c++std c++11
      28 | +$(package)_config_opts += -c++std c++17
    


    hebasto commented at 9:10 AM on August 25, 2020:

    Qt configure reports an error on Xenial build:

    ERROR: Feature 'c++1z' was enabled, but the pre-condition 'features.c++17' failed.
    

    fanquake commented at 10:49 AM on August 25, 2020:

    Ubuntu 16.04 is not listed as supported by Qt 5.15.x. Regardless, if Qts build system cant detect that your compiler supports C++17 it's not going to build in C++17 mode. Looking at the GCC on Xenial, it's 5.3.1, which only has support for some C++17 features.

    If you post the actual precondition that failed (it'll be earlier in the log) we could take a look at it.


    hebasto commented at 10:52 AM on August 25, 2020:

    If you post the actual precondition that failed (it'll be earlier in the log) we could take a look at it.

    https://travis-ci.org/github/hebasto/bitcoin/jobs/720916965#L4634


    hebasto commented at 10:54 AM on August 25, 2020:
    Checking for C++17 support... 
    + cd /home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/config.tests/cxx17 && /home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" -early "CONFIG += cross_compile" /home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/config.tests/cxx17
    + cd /home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/config.tests/cxx17 && MAKEFLAGS= /usr/bin/make
    > make[1]: Entering directory '/home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/config.tests/cxx17'
    > g++ -c -m64 -pipe -pipe -O2 -I/home/travis/build/hebasto/bitcoin/depends/x86_64-pc-linux-gnu/include -O2 -std=gnu++1z -w -fPIC  -I. -I/home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/mkspecs/linux-g++-64 -o main.o main.cpp
    > main.cpp:8:19: fatal error: variant: No such file or directory
    > compilation terminated.
    > Makefile:171: recipe for target 'main.o' failed
    > make[1]: *** [main.o] Error 1
    > make[1]: Leaving directory '/home/travis/build/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/qt/5.15.0-e4e26f06c7b/qtbase/config.tests/cxx17'
    test config.qtbase.tests.cxx17 FAILE
    

    fanquake commented at 12:03 PM on August 25, 2020:

    fatal error: variant: No such file or directory

    The problem is that the compiler doesn't support C++17. GCC didn't introduce support for std::variant (in libstdc++) until the 7.1 release. Xenial ships with 5.3.1. So when Qts build system tests for C++17 support by checking it can compile something using std::variant, it's failing as expected.

  26. MarcoFalke commented at 9:29 AM on August 25, 2020: member

    This is currently assigned to the 0.22 milestone, by which time both centos:7 and xenial are no longer supported. So no need to test on them right now.

  27. hebasto commented at 9:36 AM on August 25, 2020: member

    This is currently assigned to the 0.22 milestone, by which time both centos:7 and xenial are no longer supported. So no need to test on them right now.

    So let's remove them from CI jobs in this PR.

  28. hebasto commented at 10:09 AM on August 25, 2020: member

    macOS 10.12 build error (on Travis):

    Project ERROR: Cannot run target compiler 'x86_64-apple-darwin16-clang++'. Output:
    ===================
    ===================
    Maybe you forgot to setup the environment?
    
  29. hebasto commented at 10:40 AM on August 25, 2020: member
  30. hebasto commented at 10:49 AM on August 25, 2020: member

    It would be nice to add a doc commit with the minimum MinGW version requirement:

  31. hebasto commented at 11:20 AM on August 25, 2020: member

    Windows build on Travis is a subject of https://forum.qt.io/topic/113250/building-qt-fails-with-missing-dxgil_3-h

    Could be fixed by bumping Ubuntu version up to 20.04:

    --- a/ci/test/00_setup_env_win64.sh
    +++ b/ci/test/00_setup_env_win64.sh
    @@ -7,7 +7,7 @@
     export LC_ALL=C.UTF-8
     
     export CONTAINER_NAME=ci_win64
    -export DOCKER_NAME_TAG=ubuntu:18.04  # Check that bionic can cross-compile to win64 (bionic is used in the gitian build as well)
    +export DOCKER_NAME_TAG=ubuntu:20.04
     export HOST=x86_64-w64-mingw32
     export PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
     export RUN_FUNCTIONAL_TESTS=false
    
  32. MarcoFalke commented at 12:02 PM on August 25, 2020: member

    So let's remove them from CI jobs in this PR.

    They won't get removed. #19504 is the first pull that goes into 0.22 and that simply bumps them: https://github.com/bitcoin/bitcoin/pull/19504/files#r455507731

  33. hebasto commented at 12:29 PM on August 25, 2020: member

    From the Qt source it follows that this change is required:

    --- a/build-aux/m4/bitcoin_qt.m4
    +++ b/build-aux/m4/bitcoin_qt.m4
    @@ -309,8 +309,8 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
           PKG_CHECK_MODULES([QTFB], [Qt5FbSupport], [QT_LIBS="-lQt5FbSupport $QT_LIBS"])
           PKG_CHECK_MODULES([QTFONTDATABASE], [Qt5FontDatabaseSupport], [QT_LIBS="-lQt5FontDatabaseSupport $QT_LIBS"])
           PKG_CHECK_MODULES([QTTHEME], [Qt5ThemeSupport], [QT_LIBS="-lQt5ThemeSupport $QT_LIBS"])
    -      PKG_CHECK_MODULES([QTSERVICE], [Qt5ServiceSupport], [QT_LIBS="-lQt5ServiceSupport $QT_LIBS"])
           if test "x$TARGET_OS" = xlinux; then
    +        PKG_CHECK_MODULES([QTSERVICE], [Qt5ServiceSupport], [QT_LIBS="-lQt5ServiceSupport $QT_LIBS"])
             PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
           elif test "x$TARGET_OS" = xdarwin; then
             PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport], [QT_LIBS="-lQt5ClipboardSupport $QT_LIBS"])
    

    At least, it fixes the Windows build on Travis :)

  34. fanquake referenced this in commit 2562d5d238 on Aug 27, 2020
  35. fanquake force-pushed on Aug 27, 2020
  36. fanquake commented at 10:41 AM on August 27, 2020: member

    Rebased after #19761. Fixed-up QTSERVICE, thanks @hebasto. Dropped the freetype back-compat patch. See commit message for reasoning. Turned off some additional Qt features, like the markdown reader and SQL item models. We also don't use GSS but no-gss doesn't seem to work.

    Some more TODO: Figure out how much more of our patching / hacking we can drop. I'm also planning on splitting anything C++17-bump related into a separate PR, so it's clear what will be going in before this PR is merged, and what isn't required testing wise. i.e building this assumes the use of a C++17 capable compiler.

  37. hebasto commented at 12:10 PM on August 27, 2020: member

    Tested 3f4fe21d3fa04cc8f284dccae03a5e4a27dba9e4, still having:

    In file included from rhi/qrhi.cpp:49:0:
    rhi/qrhid3d11_p_p.h:57:10: fatal error: dxgi1_3.h: No such file or directory
     #include <dxgi1_3.h>
              ^~~~~~~~~~~
    compilation terminated.
    

    See #19716 (comment)

    Project ERROR: Cannot run target compiler 'x86_64-apple-darwin16-clang++'. Output:
    ===================
    ===================
    Maybe you forgot to setup the environment?
    
  38. fanquake cross-referenced this on Aug 27, 2020 from issue build, doc: Make explicit dependency of system zlib for building depends by hebasto
  39. hebasto commented at 7:48 PM on August 27, 2020: member

    I've managed to fix Windows build with the following patch:

    --- a/qtbase/src/gui/gui.pro
    +++ b/qtbase/src/gui/gui.pro
    @@ -49,7 +49,6 @@
     include(itemmodels/itemmodels.pri)
     include(vulkan/vulkan.pri)
     include(platform/platform.pri)
    -include(rhi/rhi.pri)
     
     QMAKE_LIBS += $$QMAKE_LIBS_GUI
     
    

    It opts out a new RHI functionality, and, as a side effect, reduces compile time.

    Branch: https://github.com/hebasto/bitcoin/commits/pr19716-0827-win Travis: https://travis-ci.org/github/hebasto/bitcoin/builds/721800296

  40. fanquake commented at 12:39 AM on August 28, 2020: member

    I've managed to fix Windows build

    Is this fixing a problem other than dxgi1_3.h: No such file or directory mentioned above? In that case the problem, and the solution is pretty clear. The CI is using a version of the mingw headers that are too old to build Qt. This will be fixed when we use a newer version of Ubuntu for builds.

    I'm also not sure that disabling RHI is the right approach, as it seems that's what Qt is going to be using for all it's graphics and rendering from Qt 6 on-wards. Also, the blog post you linked says " For Qt 5.15 LTS RHI is an opt-in functionality", so is a patch actually required to disable it? Shouldn't there be (a combination of) configure flags that will opt you in/out of the functionality?

  41. sidhujag referenced this in commit a012bea252 on Aug 28, 2020
  42. hebasto commented at 7:08 AM on August 28, 2020: member

    Is this fixing a problem other than dxgi1_3.h: No such file or directory mentioned above?

    Not sure what do you mean exactly.

    In that case the problem, and the solution is pretty clear. The CI is using a version of the mingw headers that are too old to build Qt. This will be fixed when we use a newer version of Ubuntu for builds.

    Sure, #19716 (comment)

    I'm also not sure that disabling RHI is the right approach, as it seems that's what Qt is going to be using for all it's graphics and rendering from Qt 6 on-wards. Also, the blog post you linked says " For Qt 5.15 LTS RHI is an opt-in functionality", so is a patch actually required to disable it? Shouldn't there be (a combination of) configure flags that will opt you in/out of the functionality?

    I have not found any configure options or features to disable RHI. By the time we switch to Qt 6 we will use a newer version of Ubuntu for builds for sure :)

  43. hebasto commented at 7:28 AM on August 28, 2020: member

    IIUC, RHI is used for rendering in Qt Quick framework, not in Qt Widgets.

  44. MarcoFalke commented at 11:14 AM on August 28, 2020: member

    There will probably be fewer warning by bumping the qt version, so you might be able to remove the Temporary workaround for [#16368](/github-metadata-backup-bitcoin-bitcoin/16368/)

  45. hebasto cross-referenced this on Aug 28, 2020 from issue Embed monospaced font by hebasto
  46. fanquake force-pushed on Aug 31, 2020
  47. fanquake commented at 3:16 AM on August 31, 2020: member

    Rebased, and updated the win64 CI now that #18921 has been merged.

  48. hebasto commented at 4:29 PM on September 2, 2020: member
    Project ERROR: Cannot run target compiler 'x86_64-apple-darwin16-clang++'. Output:
    ===================
    ===================
    Maybe you forgot to setup the environment?
    

    @fanquake This problem could be solved with https://github.com/hebasto/bitcoin/commit/cc5752f6788ee8408f98ce19c91a7fe0771d5d20

    But another problem with SDK arises:

    > Unknown error resolving current platform SDK version.
    
  49. DrahtBot cross-referenced this on Sep 4, 2020 from issue build: document and cleanup Qt hacks by fanquake
  50. fanquake force-pushed on Sep 15, 2020
  51. fanquake commented at 8:47 AM on September 15, 2020: member

    Rebased on top of #19867. This now also builds Qt 5.15.1.

    @fanquake This problem could be solved with hebasto@cc5752f @hebasto I think the correct solution here is actually to update our sed commands that perform a similar replacement.

  52. DrahtBot cross-referenced this on Sep 19, 2020 from issue build: patch qt libpng to fix powerpc build by fanquake
  53. hebasto cross-referenced this on Sep 25, 2020 from issue refactor: Fix deprecation warnings when building against Qt 5.15 by hebasto
  54. fanquake cross-referenced this on Nov 9, 2020 from issue Depends: Update FreeType package (CVE-2020-15999) by mammix2
  55. fanquake cross-referenced this on Nov 18, 2020 from issue build: set minimum supported macOS to 10.14 by fanquake
  56. fanquake force-pushed on Nov 23, 2020
  57. fanquake commented at 8:44 AM on November 23, 2020: member

    Rebased on master. Updated some dependencies. Updated to Qt 5.15.2. I'll continue splitting a few more changes off here.

  58. DrahtBot cross-referenced this on Nov 23, 2020 from issue depends: Patch qt_intersect_spans to avoid non-deterministic behavior in LLVM 8 by achow101
  59. DrahtBot cross-referenced this on Nov 23, 2020 from issue util: use stronger-guarantee rename method by vasild
  60. laanwj referenced this in commit 555b5d1bf9 on Nov 23, 2020
  61. DrahtBot cross-referenced this on Nov 24, 2020 from issue build: use C++17 in depends by fanquake
  62. fanquake force-pushed on Nov 24, 2020
  63. jonasschnelli marked this as ready for review on Nov 25, 2020
  64. jonasschnelli marked this as a draft on Nov 25, 2020
  65. jonasschnelli cross-referenced this on Nov 25, 2020 from issue Add macOS ARM build (universal or additional binaries) by jonasschnelli
  66. jonasschnelli commented at 8:42 PM on November 25, 2020: contributor

    I think this might be helpful for the macOS11 visual glitches https://github.com/bitcoin-core/gui/issues/136. But maybe its still too early,.. see https://bugreports.qt.io/browse/QTBUG-85546.

  67. fanquake force-pushed on Nov 26, 2020
  68. DrahtBot cross-referenced this on Nov 26, 2020 from issue build: Drop unneeded macOS framework dependencies by hebasto
  69. DrahtBot cross-referenced this on Nov 26, 2020 from issue Add depends qt fix for ARM macs by jonasschnelli
  70. DrahtBot cross-referenced this on Nov 28, 2020 from issue depends: Do not force Precompiled Headers (PCH) for building Qt on Linux by hebasto
  71. hebasto commented at 6:05 PM on November 30, 2020: member

    3975ec0a5f5a298b93e7e39397b44602105ad4b7

    On CentOS 8:

    $ make -C depends qt
    ...
    Building libxkbcommon...
    make[1]: Entering directory '/home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9'
      YACC     src/xkbcomp/parser.c
    yacc: e - line 219 of "/home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9/src/xkbcomp/parser.y", syntax error
    %destructor { FreeStmt((ParseCommon *) $$); }
    ^
    make[1]: *** [Makefile:1705: src/xkbcomp/parser.c] Error 1
    make[1]: Leaving directory '/home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9'
    make: *** [funcs.mk:267: /home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9/./.stamp_built] Error 2
    make: Leaving directory '/home/hebasto/bitcoin/depends'
    
  72. hebasto cross-referenced this on Dec 14, 2020 from issue depends: Drop workaround for a fixed bug in Qt build system by hebasto
  73. jonasschnelli referenced this in commit 6af8a6232b on Dec 16, 2020
  74. sidhujag referenced this in commit 84a25b80a1 on Dec 17, 2020
  75. BlockMechanic commented at 11:02 AM on January 2, 2021: contributor

    3975ec0

    On CentOS 8:

    $ make -C depends qt
    ...
    Building libxkbcommon...
    make[1]: Entering directory '/home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9'
      YACC     src/xkbcomp/parser.c
    yacc: e - line 219 of "/home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9/src/xkbcomp/parser.y", syntax error
    %destructor { FreeStmt((ParseCommon *) $$); }
    ^
    make[1]: *** [Makefile:1705: src/xkbcomp/parser.c] Error 1
    make[1]: Leaving directory '/home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9'
    make: *** [funcs.mk:267: /home/hebasto/bitcoin/depends/work/build/x86_64-pc-linux-gnu/libxkbcommon/0.8.4-fd57d1b36f9/./.stamp_built] Error 2
    make: Leaving directory '/home/hebasto/bitcoin/depends'
    

    Same issue on ubuntu 18.04

  76. BlockMechanic commented at 11:26 AM on January 2, 2021: contributor

    @hebasto The issue with with libxkbcommon is fixed by installing bison rather than byacc, some reading :- https://stackoverflow.com/questions/50794051/ubuntu-byacc-btyacc-syntax-error.

  77. fanquake force-pushed on Jan 5, 2021
  78. fanquake marked this as ready for review on Jan 5, 2021
  79. fanquake commented at 4:38 AM on January 5, 2021: member

    The issue with with libxkbcommon is fixed by installing bison rather than byacc

    The CI changes to install bison have now been merged into the "qt 5.15.2" commit, rather than being in a separate WIP commit. Also added bb38e8a30de2278b4bd9dae6f80cc097892dd5c8 to stop using -optimized-tools in release mode. We can split off more commits if need be.

    While this still has at least one outstanding issue, which is fixing the macOS cross-compile, I'm going to take it out of draft. If anyone wants to help debug why the macOS theming (when built using locally using depends) isn't correct, that'd be handy. It also needs more testing across OSs, particularly Linux.

  80. DrahtBot cross-referenced this on Jan 5, 2021 from issue docs: consolidate typo & url fixing by fanquake
  81. DrahtBot cross-referenced this on Jan 5, 2021 from issue Use std::filesystem. Remove Boost Filesystem & System by fanquake
  82. DrahtBot cross-referenced this on Jan 5, 2021 from issue depends: Use Qt top-level build facilities by hebasto
  83. fanquake force-pushed on Jan 5, 2021
  84. fanquake force-pushed on Jan 5, 2021
  85. fanquake commented at 8:24 AM on January 5, 2021: member

    I've now fixed the macOS cross-compilation issue and added a commit that disables some SDK version checking, as that would try and invoke xcrun, which isn't available when cross-compiling. I've also added a commit (262e02995912a9caa4026105d9ce6237965e8600) which might help debug the theme issues.

  86. fanquake force-pushed on Jan 5, 2021
  87. DrahtBot added the label Needs rebase on Jan 5, 2021
  88. fanquake force-pushed on Jan 5, 2021
  89. DrahtBot removed the label Needs rebase on Jan 5, 2021
  90. jarolrod commented at 9:06 PM on January 13, 2021: member

    Any consensus surrounding Qt dropping LTS for Qt 5.15? See: https://www.theregister.com/2021/01/05/qt_lts_goes_commercial_only/

  91. fanquake added this to the "Blockers" column in a project

  92. laanwj commented at 1:27 PM on January 25, 2021: member

    Any consensus surrounding Qt dropping LTS for Qt 5.15?

    I don't think that's too relevant here. It means that upstream won't do any updates on top of 5.15. But we generally don't track minor versions of Qt so for us it makes no difference. The next Qt bump after this is likely to be 6.x.

  93. laanwj commented at 3:52 PM on January 25, 2021: member

    I'm confused by this Win64 CI error:

    make[4]: Leaving directory '/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-w64-mingw32/src'
    Running tests: allocator_tests from test/allocator_tests.cpp
    wine: fixed a temporary directory error, please try running the same command again
    make[3]: *** [Makefile:16848: test/addrman_tests.cpp.test] Error 1
    make[3]: *** Waiting for unfinished jobs....
    wine: fixed a temporary directory error, please try running the same command again
    make[3]: *** [Makefile:16848: test/allocator_tests.cpp.test] Error 1
    wine: created the configuration directory '/root/.wine'
    wine: chdir to /tmp/wine-4SkHOY/server-32-27828a : No such file or directory
    wine: chdir to /tmp/wine-2CwwWn/server-32-27828a : No such file or directory
    make[3]: *** [Makefile:16848: test/amount_tests.cpp.test] Error 1
    make[3]: *** [Makefile:16848: test/arith_uint256_tests.cpp.test] Error 1
    make[3]: Leaving directory '/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-w64-mingw32/src'
    make[2]: *** [Makefile:15367: check-am] Error 2
    make[2]: Leaving directory '/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-w64-mingw32/src'
    make[1]: *** [Makefile:15052: check-recursive] Error 1
    make[1]: Leaving directory '/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-w64-mingw32/src'
    make: *** [Makefile:813: check-recursive] Error 1
    

    Already tried restarting it, to no avail.

  94. MarcoFalke commented at 3:56 PM on January 25, 2021: member

    Looks like an upstream bug. Locally I could fix it by running the command twice, IIRC

  95. MarcoFalke added the label Needs gitian build on Jan 25, 2021
  96. MarcoFalke added the label Needs Guix build on Jan 25, 2021
  97. in ci/test/00_setup_env_win64.sh:10 in 5cdd5e775e outdated
       6 | @@ -7,7 +7,7 @@
       7 |  export LC_ALL=C.UTF-8
       8 |  
       9 |  export CONTAINER_NAME=ci_win64
      10 | -export DOCKER_NAME_TAG=ubuntu:18.04  # Check that bionic can cross-compile to win64 (bionic is used in the gitian build as well)
      11 | +export DOCKER_NAME_TAG=ubuntu:20.04
    


    MarcoFalke commented at 4:37 PM on January 25, 2021:

    I don't like this change, but without it the ci fails: https://cirrus-ci.com/task/6121023374360576?command=ci#L5504

    compiling .rcc/release/qrc_qmake_webgradients.cpp
    In file included from rhi/qrhi.cpp:49:0:
    rhi/qrhid3d11_p_p.h:57:10: fatal error: dxgi1_3.h: No such file or directory
     #include <dxgi1_3.h>
              ^~~~~~~~~~~
    compilation terminated.
    Makefile.Release:71663: recipe for target '.obj/release/qrhi.o' failed
    make[3]: *** [.obj/release/qrhi.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    In file included from rhi/qrhid3d11.cpp:37:0:
    rhi/qrhid3d11_p_p.h:57:10: fatal error: dxgi1_3.h: No such file or directory
     #include <dxgi1_3.h>
              ^~~~~~~~~~~
    compilation terminated.
    Makefile.Release:72684: recipe for target '.obj/release/qrhid3d11.o' failed
    make[3]: *** [.obj/release/qrhid3d11.o] Error 1
    make[3]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-102170435c3/qtbase/src/gui'
    Makefile:45: recipe for target 'release' failed
    make[2]: *** [release] Error 2
    make[2]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-102170435c3/qtbase/src/gui'
    Makefile:423: recipe for target 'sub-gui' failed
    make[1]: *** [sub-gui] Error 2
    make[1]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-102170435c3/qtbase/src'
    funcs.mk:273: recipe for target '/tmp/cirrus-ci-build/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-102170435c3/./.stamp_built' failed
    make: *** [/tmp/cirrus-ci-build/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-102170435c3/./.stamp_built] Error 2
    make: Leaving directory '/tmp/cirrus-ci-build/depends'
    Exit status: 2
    

    MarcoFalke commented at 4:38 PM on January 25, 2021:

    Do the gitian builds pass? If yes, why do they and the ci doesn't?


    fanquake commented at 1:01 AM on January 26, 2021:

    I don't like this change, but without it the ci fails:

    A newer version of mingw-w64 & headers is required to build this version of Qt, so we (essentially) have to use a newer version of Ubuntu in the CI & gitian (I'll add those changes, but will PR them separate in advance). This was also discussed above.


    MarcoFalke commented at 7:03 AM on January 26, 2021:

    Note to myself: (gitian doesn't pass either) #19716 (comment)

  98. DrahtBot commented at 3:42 AM on January 26, 2021: contributor

    <!--a722867cd34abeea1fadc8d60700f111-->

    Gitian builds

    File commit d0852f39a7a3bfbb36437ef20bf94c263cad632a<br>(master) commit 06ddcb1d3dc2627d5262ab22423d2e55e6cd6f95<br>(master and this pull)
    bitcoin-core-linux-22-res.yml 71a83cb9ff92de39...
    bitcoin-core-osx-22-res.yml c24e9746c660fd94...
    bitcoin-core-win-22-res.yml 23c52e66375b8552...
    *-aarch64-linux-gnu-debug.tar.gz 8d57e596b614cac3...
    *-aarch64-linux-gnu.tar.gz 59b3cbe158e31ed6...
    *-arm-linux-gnueabihf-debug.tar.gz c740fceba55b6744...
    *-arm-linux-gnueabihf.tar.gz d048a0e64edaa8bf...
    *-osx-unsigned.dmg 6edea68f072311e4...
    *-osx64.tar.gz d0e07a4123befe5b...
    *-riscv64-linux-gnu-debug.tar.gz 943970e956f65e15...
    *-riscv64-linux-gnu.tar.gz 15cae22d0f1b0cfb...
    *-win64-debug.zip 52f70a8aa6154c7e...
    *-win64-setup-unsigned.exe c25576ac4a20cf8a...
    *-win64.zip 45b4446c73a75b64...
    *-x86_64-linux-gnu-debug.tar.gz 2456b5b723e0dc71...
    *-x86_64-linux-gnu.tar.gz d60a9f2be554d1cf...
    *.tar.gz ef37b0e6911cbe01...
    linux-build.log 5ed6be7e2d31d3b3... 78f6c8f9e04aefaa...
    osx-build.log e606ca23b7750ec0... 5a281933faea8783...
    win-build.log 63a601ac834b5ca7... 16be22c88ea95e56...
    linux-build.log.diff 3243d042b2935296...
    osx-build.log.diff ac0522a525ab3188...
    win-build.log.diff d4d0421cd1f55af3...
  99. DrahtBot removed the label Needs gitian build on Jan 26, 2021
  100. MarcoFalke commented at 7:02 AM on January 26, 2021: member
    make[1]: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-apple-darwin18'
    + make -j1 -C src check-security
    make: Entering directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-apple-darwin18/src'
    Checking binary security...
    make: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-apple-darwin18/src'
    + make -j1 -C src check-symbols
    make: Entering directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-apple-darwin18/src'
    Checking macOS dynamic libraries...
    Security is not in ALLOWED_LIBRARIES!
    Metal is not in ALLOWED_LIBRARIES!
    QuartzCore is not in ALLOWED_LIBRARIES!
    IOSurface is not in ALLOWED_LIBRARIES!
    ColorSync is not in ALLOWED_LIBRARIES!
    CoreVideo is not in ALLOWED_LIBRARIES!
    qt/bitcoin-qt: failed DYNAMIC_LIBRARIES
    Makefile:14994: recipe for target 'check-symbols' failed
    make: *** [check-symbols] Error 1
    make: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-apple-darwin18/src'
    
    compiling rhi/qrhi.cpp
    In file included from rhi/qrhi.cpp:49:0:
    rhi/qrhid3d11_p_p.h:57:10: fatal error: dxgi1_3.h: No such file or directory
     #include <dxgi1_3.h>
              ^~~~~~~~~~~
    compilation terminated.
    Makefile.Release:71663: recipe for target '.obj/release/qrhi.o' failed
    make[3]: *** [.obj/release/qrhi.o] Error 1
    make[3]: Leaving directory '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-b4b0c80531f/qtbase/src/gui'
    Makefile:45: recipe for target 'release' failed
    make[2]: *** [release] Error 2
    make[2]: Leaving directory '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-b4b0c80531f/qtbase/src/gui'
    Makefile:423: recipe for target 'sub-gui' failed
    make[1]: *** [sub-gui] Error 2
    make[1]: Leaving directory '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-b4b0c80531f/qtbase/src'
    funcs.mk:273: recipe for target '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-b4b0c80531f/./.stamp_built' failed
    make: *** [/home/ubuntu/build/bitcoin/depends/work/build/x86_64-w64-mingw32/qt/5.15.2-b4b0c80531f/./.stamp_built] Error 2
    make: Leaving directory '/home/ubuntu/build/bitcoin/depends'
    
    Building libxkbcommon...
    make[1]: Entering directory '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-linux-gnu/libxkbcommon/0.8.4-68d09a7117d'
      YACC     src/xkbcomp/parser.c
    ./build-aux/ylwrap: line 176: yacc: command not found
    Makefile:1705: recipe for target 'src/xkbcomp/parser.c' failed
    make[1]: *** [src/xkbcomp/parser.c] Error 127
    make[1]: Leaving directory '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-linux-gnu/libxkbcommon/0.8.4-68d09a7117d'
    funcs.mk:273: recipe for target '/home/ubuntu/build/bitcoin/depends/work/build/x86_64-linux-gnu/libxkbcommon/0.8.4-68d09a7117d/./.stamp_built' failed
    make: *** [/home/ubuntu/build/bitcoin/depends/work/build/x86_64-linux-gnu/libxkbcommon/0.8.4-68d09a7117d/./.stamp_built] Error 2
    make: Leaving directory '/home/ubuntu/build/bitcoin/depends'
    
  101. jonasschnelli referenced this in commit 7595183543 on Jan 28, 2021
  102. sidhujag referenced this in commit 7310454603 on Jan 28, 2021
  103. fanquake cross-referenced this on Jan 30, 2021 from issue gitian: Bump descriptors to Focal for 22.0 by fanquake
  104. laanwj removed this from the "Blockers" column in a project

  105. MarcoFalke referenced this in commit ca85449f22 on Feb 8, 2021
  106. DrahtBot added the label Needs rebase on Feb 8, 2021
  107. DrahtBot commented at 11:55 AM on February 8, 2021: contributor

    <!--cf906140f33d8803c4a75a2196329ecb-->

    🐙 This pull request conflicts with the target branch and needs rebase.

    <sub>Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".</sub>

  108. sidhujag referenced this in commit f2c9a6f37e on Feb 8, 2021
  109. fanquake force-pushed on Feb 9, 2021
  110. fanquake removed the label Needs rebase on Feb 9, 2021
  111. fanquake added the label Needs gitian build on Feb 9, 2021
  112. DrahtBot added the label Needs rebase on Feb 9, 2021
  113. fanquake removed the label Needs rebase on Feb 9, 2021
  114. bitcoin deleted a comment on Feb 9, 2021
  115. DrahtBot commented at 9:11 AM on February 9, 2021: contributor

    Win64 [unit tests, no gui tests, no boost::process, no functional tests] [bionic]:

    In file included from rhi/qrhi.cpp:49:0:
    rhi/qrhid3d11_p_p.h:57:10: fatal error: dxgi1_3.h: No such file or directory
     #include <dxgi1_3.h>
              ^~~~~~~~~~~
    compilation terminated.
    
  116. fanquake force-pushed on Feb 9, 2021
  117. fanquake force-pushed on Feb 9, 2021
  118. build: remove qt libpng powerpc patch 9f6ece4890
  119. build: xproto 7.0.31 1ecaffcc2a
  120. build: libXau 1.0.9 eecb1eb911
  121. build: xcb_proto 1.14 45eda952b3
  122. build: expat 2.2.10 c1fb969655
  123. build: freetype 2.10.4
    Co-authored-by: mammix2 <mammix2@hotmail.com>
    f27f581801
  124. build: libxcb 1.14
    Minimum required libxcb to build qt 5.15.x is 1.11.
    
    https://codereview.qt.nokia.com/c/qt/qtbase/+/253905
    
    Some plugins have been re-enabled as they are required by Qt.
    9c157a4ca4
  125. build: add xkbcommon 0.8.4
    Currently 0.8.4 because at 0.9.0 they switch from autotools to meson..
    
    This also requires yacc (bison) to be available at build time.
    5e699b1bb0
  126. build: add libxcb_util 0.4.0 08d98b4dee
  127. build: add libxcb_util_render 0.3.9 ef4bfd7194
  128. build: add libxcb_util_keysyms 0.4.0 f83f196357
  129. build: add libxcb_util_image 0.4.0 9bc4c056f1
  130. build: patch around broken pkg-config in libxcb_util_image 3557e7376a
  131. build: add libxcb_util_wm 0.4.1
    Required for xcb_icccm.
    d2a8432fec
  132. build: qt 5.15.2 eb612c1f86
  133. depends: remove fix_configure_mac.patch from qt
    Fixed upstream in Qt 5.11.0RC1
    
    https://bugreports.qt.io/browse/QTBUG-67286
    7907064f23
  134. depends: remove fix_riscv64_arch.patch from qt
    Was fixed upstream in 6a39e49a6cdeb28a04a3657bb6a22f848d5dfa9d
    2aadc37c67
  135. depends: remove fix_rcc_determinism.patch from qt
    Fixed upstream in https://bugreports.qt.io/browse/QTBUG-62511
    95081b3470
  136. depends: remove xkb-default.patch from qt
    This was removed upstream in d5abf545971da717014d316127045fc19edbcd65
    dc7b699804
  137. build: update fix_pkg_config.patch for qt 5.15 fbd60d9922
  138. build: update fix_no_printer.patch for qt 5.15 2ec8eade4f
  139. build: remove fix_android_qmake_conf.patch from qt build
    This may need to be reinstated in some capacity, but I haven't looked
    through the changes here, and have no ability to test them.
    f27def14c1
  140. build: update no-xlib.patch for qt 5.15 0367ed51f7
  141. build: update fix_android_jni_static.patch for qt 5.15 0b349047d7
  142. build: remove freetype_back_compat.patch for qt 5.15
    By the time we ship a release with Qt 5.15, we'll certainly no-longer be
    supporting Ubuntu 14.04 and Ubuntu 16.04 ships with FreeType 2.6.1,
    which is new enough that using the symbol is no-longer an issue.
    
    The renaming of FT_Get_X11_Font_Format() happened in FreeType 2.6
    b54e861ea6
  143. build: no-longer disable dark mode on macOS
    We should no-longer have to disable darkmode, as Qt should
    properly support it, and we are using a new enough SDK.
    2e6fa254ac
  144. build: remove fix_mingw_cross_compile.patch for qt 5.15 505098f128
  145. build: only pass -optimized-tools to qt in debug mode
    Qt's configure tells us that "-optimized-tools is not useful in -release
    mode.", so don't use it there.
    34b69c487a
  146. build: disable qt SDK version checking
    This tries to invoke xcrun, which is not available when cross-compiling.
    Given we are in control of the SDK versions being used, removing this
    check has minimal-no effect.
    364250b68a
  147. fanquake force-pushed on Feb 10, 2021
  148. DrahtBot commented at 9:43 PM on February 12, 2021: contributor

    <!--a722867cd34abeea1fadc8d60700f111-->

    Gitian builds

    File commit b69eab9025678654acd0dda1861152c239f07699<br>(master) commit a85341f3ada7ce08bae3af32851474217e07fbc2<br>(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz c5fa5486923407ad... 237b175a3d490908...
    *-aarch64-linux-gnu.tar.gz 70fb6e1a9d4ba982... df4e10be78d1818a...
    *-arm-linux-gnueabihf-debug.tar.gz 8a9ff7cbb07d3610... f59262ebcd41f36b...
    *-arm-linux-gnueabihf.tar.gz ec50c9918479cf6e... c68bd696e2f0b050...
    *-osx-unsigned.dmg 91af0e1832b97596... 1a5ccc8d441d98a8...
    *-osx64.tar.gz c8442bc118faf6b9... 5a7461590034f51b...
    *-powerpc64-linux-gnu-debug.tar.gz c0ab553964e4b990... 88481a1519e85c1e...
    *-powerpc64-linux-gnu.tar.gz 04df9adf29c38cc1... 69baba10885ff4db...
    *-powerpc64le-linux-gnu-debug.tar.gz 36fc8fc54968e48d... 327e2cb66d9c9f32...
    *-powerpc64le-linux-gnu.tar.gz fe832434b2b216f9... 2d341bed8323371d...
    *-riscv64-linux-gnu-debug.tar.gz 154bc3714a3e9a62... a1bb4c40011470f8...
    *-riscv64-linux-gnu.tar.gz e94bdad7e34c344c... f435b0d94bce2669...
    *-win64-debug.zip 7c302a10100fef9e...
    *-win64-setup-unsigned.exe 7721a0e923f9a6a8...
    *-win64.zip 9e86debd85c34b51...
    *-x86_64-linux-gnu-debug.tar.gz 055a65b474d29d93... 332070633bc5ab80...
    *-x86_64-linux-gnu.tar.gz 61c01306b0f3d965... b6da26666d0e713c...
    *.tar.gz 95d10633aa05a3f1... 895c79f389973f68...
    bitcoin-core-linux-22-res.yml c6e22aacac425c60... 16d159a458e1758c...
    bitcoin-core-osx-22-res.yml 0895d3848e391422... 396500ef35da3f71...
    bitcoin-core-win-22-res.yml 9529c497b7d2a1ba...
    linux-build.log f815452191141dcd... 23657c74f8bc680a...
    osx-build.log 18ff763035a0d62e... bec8b364d365ae66...
    win-build.log 542fa9b97e1cd10c... da2eab4c7aecafcb...
    bitcoin-core-linux-22-res.yml.diff 14d09a2fc0f18105...
    bitcoin-core-osx-22-res.yml.diff 51f08b318e5c7068...
    linux-build.log.diff d02392065ba1ed4b...
    osx-build.log.diff 3ee7cc51b8e4f011...
    win-build.log.diff e2fcec2f7ecda2a1...
  149. DrahtBot removed the label Needs gitian build on Feb 12, 2021
  150. MarcoFalke commented at 7:40 AM on February 13, 2021: member
    make[1]: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-w64-mingw32'
    + make -j1 -C src check-security
    make: Entering directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-w64-mingw32/src'
    Checking binary security...
    make: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-w64-mingw32/src'
    + make -j1 -C src check-symbols
    make: Entering directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-w64-mingw32/src'
    Checking Windows dynamic libraries...
    NETAPI32.dll is not in ALLOWED_LIBRARIES!
    ole32.dll is not in ALLOWED_LIBRARIES!
    qt/bitcoin-qt.exe: failed DYNAMIC_LIBRARIES
    make: *** [Makefile:16867: check-symbols] Error 1
    make: Leaving directory '/home/ubuntu/build/bitcoin/distsrc-x86_64-w64-mingw32/src'
    
  151. laanwj referenced this in commit 7fca189a2a on Feb 22, 2021
  152. DrahtBot commented at 8:52 AM on March 3, 2021: contributor

    <!--cf906140f33d8803c4a75a2196329ecb-->

    🐙 This pull request conflicts with the target branch and needs rebase.

    <sub>Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".</sub>

  153. DrahtBot added the label Needs rebase on Mar 3, 2021
  154. fanquake commented at 9:39 AM on March 3, 2021: member

    Going to propose some smaller, simpler changes. New PR as they are substantially different from what is here.

  155. fanquake closed this on Mar 3, 2021

  156. MarcoFalke removed the label Needs Guix build on Mar 3, 2021
  157. MarcoFalke removed the label Needs rebase on Mar 3, 2021
  158. hebasto cross-referenced this on Mar 4, 2021 from issue build, qt: Improve Qt static plugins/libs check code by hebasto
  159. fanquake cross-referenced this on Mar 6, 2021 from issue depends: Qt 5.12.10 by fanquake
  160. laanwj referenced this in commit e828fc8f52 on Mar 11, 2021
  161. PastaPastaPasta referenced this in commit ead70ab6bc on Jun 27, 2021
  162. PastaPastaPasta referenced this in commit 315944200a on Jun 28, 2021
  163. PastaPastaPasta referenced this in commit f926ca7a02 on Jun 29, 2021
  164. PastaPastaPasta referenced this in commit 060c575fee on Jul 1, 2021
  165. PastaPastaPasta referenced this in commit 9403294d90 on Jul 1, 2021
  166. PastaPastaPasta referenced this in commit 6b23c26640 on Jul 15, 2021
  167. PastaPastaPasta referenced this in commit 0fba9a3ecd on Jul 16, 2021
  168. UdjinM6 referenced this in commit 43ee2ef541 on Oct 23, 2021
  169. UdjinM6 referenced this in commit 1bfb6b9543 on Oct 23, 2021
  170. UdjinM6 referenced this in commit 76528449b5 on Oct 23, 2021
  171. MarcoFalke cross-referenced this on Nov 12, 2021 from issue build: Qt 5.15.2 by fanquake
  172. UdjinM6 referenced this in commit 6c797b13e8 on Dec 4, 2021
  173. barton2526 cross-referenced this on Apr 5, 2022 from issue build: Qt 5.15.2 by barton2526
  174. barton2526 cross-referenced this on Apr 8, 2022 from issue build: Qt 5.15.2 by barton2526
  175. gades referenced this in commit 7d2463e39f on Apr 20, 2022
  176. bitcoin locked this on Aug 16, 2022
  177. fanquake deleted the branch on Nov 9, 2022

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-05-20 06:54 UTC