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

WebEngine can't be built with MSVC 14.34 and LLVM 15.0.6

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 5.15.13
    • 5.15.11, 5.15.12
    • WebEngine
    • None
    • Windows 11 build 22000.1098
      LLVM: 15.0.6 x64
      MSVC: 14.34
      NodeJS: 18.13
      Python2: 2.7.18
      Python3: 3.9.12
    • Windows
    • f250f1157 (87-based), 8b2b44128 (87-based), 86d5d85c2 (87-based), d29902afc (87-based), c4e58804c (5.15), ed9d108fc (87-based), f57a146d4 (5.15), 5777776c4 (5.15.13)

    Description

      I'm trying to build with this configuration: 

      -v -commercial -confirm-license -force-debug-info -nomake examples -nomake tests -prefix Q:\build-5.15.11-0-win-x64\qt-5.15.11-win-x64-v143 -I C:\git\PumpkinCache\openssl-1.1.1q-win-x64-v141-33\openssl\include -L C:\git\PumpkinCache\openssl-1.1.1q-win-x64-v141-33\openssl\lib -c++std c++14 -skip qtsensors -skip qtserialport -skip qtserialbus -skip qt3d -skip qtspeech -skip qtcharts -skip datavis3d -skip qtgamepad -skip qtpurchasing -skip qtandroidextras -skip qtx11extras -skip qtwayland -skip qtlocation -skip qtmultimedia -skip qtvirtualkeyboard -skip qtconnectivity -skip qtdoc -skip qtsystems -skip qtscript -skip qtquick3d -skip qtxmlpatterns -skip qtcanvas3d -skip qtdatavis3d -skip qtfeedback -skip qtlottie -skip qtpim -skip qtqa -skip qtrepotools -skip qtwebview -webengine-proprietary-codecs -webengine-webrtc -webengine-kerberos -opengl dynamic -openssl-runtime -platform win32-clang-msvc -no-pch QMAKE_LFLAGS+=/ignore:longsections
      

      I use clang-cl since it's necessary for building all the needed parts of WebEngine.

       

      The error is coming from WebRTC and its outdated abseil-cpp implementation:

      ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp\absl/meta/type_traits.h(493,3): error: static assertion failed due to requirement 'compliant || std::is_trivially_copy_assignable<std::pair<webrtc::TimeDelta, webrtc::TimeDelta>>::value': Not compliant with std::is_trivially_copy_assignable; Standard: false, Implementation: true static_assert(compliant || std::is_trivially_copy_assignable<T>::value, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

       

      ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/call.cc(796,10): error: cannot initialize return object of type 'webrtc::AudioSendStream *' with an lvalue of type 'webrtc::internal::AudioSendStream *' return send_stream; ^~~~~~~~~~~ In file included from ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/webrtc/call/call.cc:11: In file included from ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/webrtc\call/call.h:20: In file included from ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/webrtc\call/audio_receive_stream.h:19: In file included from ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp\absl/types/optional.h:39: In file included from ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp\absl/utility/utility.h:50: In file included from ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp\absl/base/internal/invoke.h:42:
      

       

      The c++std switch is just a try to work around the issue but it doesn't do anything in the WebRTC build.

      This library also complains about a deprecated feature:

      ../../../../../../qt/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp\absl/meta/type_traits.h(293,36): warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins] : std::integral_constant<bool, __has_trivial_destructor(T) &&
      

      Attachments

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

        Activity

          People

            pvarga Peter Varga
            tomikaa87 Tamas Karpati
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes