Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-103773

dev fails to build due to missing Chromium include: error: ‘exchange’ is not a member of ‘std’

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Not Evaluated
    • None
    • 6.4
    • WebEngine
    • None
    • Archlinux, gcc (GCC) 12.1.0
    • Linux/X11

    Description

      Building the current dev branch (qt5.git 178334bd29a8b8167040bc3d6f2b5f6b1c954db2, qtwebengine b9322fd6f743b157c58af832d26f3afb70723c84, src/3rdparty 72d76568fe90b072c0199391b5b5b47c3052e79f) fails with:

      [68/28638] CXX obj/base/third_party/symbolize/symbolize/symbolize.o
      FAILED: obj/base/third_party/symbolize/symbolize/symbolize.o 
      /usr/bin/ccache /usr/lib/ccache/bin/c++ -MMD -MF obj/base/third_party/symbolize/symbolize/symbolize.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -Igen -I../../../../../../qt5/qtwebengine/src/3rdparty/chromium -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-pragmas -Wno-parentheses -Wno-sign-compare -Wno-stringop-overflow -Wno-stringop-overread -Wno-psabi -Wno-multichar -Wno-format-zero-length -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-aligned-new -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../../../qt5/qtwebengine/src/3rdparty/chromium/base/third_party/symbolize/symbolize.cc -o obj/base/third_party/symbolize/symbolize/symbolize.o
      In file included from ../../../../../../qt5/qtwebengine/src/3rdparty/chromium/base/third_party/symbolize/symbolize.cc:64:
      ../../../../../../qt5/qtwebengine/src/3rdparty/chromium/base/third_party/symbolize/symbolize.h: In constructor ‘google::FileDescriptor::FileDescriptor(google::FileDescriptor&&)’:
      ../../../../../../qt5/qtwebengine/src/3rdparty/chromium/base/third_party/symbolize/symbolize.h:123:53: error: ‘exchange’ is not a member of ‘std’
        123 |   FileDescriptor(FileDescriptor&& other) : fd_(std::exchange(other.fd_, -1)) {}
            |                                                     ^~~~~~~~
      ../../../../../../qt5/qtwebengine/src/3rdparty/chromium/base/third_party/symbolize/symbolize.h: In member function ‘google::FileDescriptor& google::FileDescriptor::operator=(google::FileDescriptor&&)’:
      ../../../../../../qt5/qtwebengine/src/3rdparty/chromium/base/third_party/symbolize/symbolize.h:127:18: error: ‘exchange’ is not a member of ‘std’
        127 |       fd_ = std::exchange(rhs.fd_, -1);
            |                  ^~~~~~~~
      [85/28638] CXX obj/base/third_party/double_conversion/double_conversion/string-to-double.o
      ninja: build stopped: subcommand failed.
      

      This seems to be fixed upstream here: IWYU: add utility for std::exchange (I307d520f) · Gerrit Code Review

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            the compiler Florian Bruhin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes