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

QtWebEngine 5.13.0 beta 2 fails to build on Linux with clang

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.13.0 Beta4
    • 5.13.0 Beta2, 5.13.0 Beta3
    • WebEngine
    • None
    • Linux/Wayland, Linux/X11, Linux/Other display system

    Description

      When building with clang on Linux, the Chromium build process (copied into Qt) assumes it can access a PGO profile file at chrome/android/profiles/afdo.prof (see qtwebengine-everywhere-src-5.13.0-beta2/src/3rdparty/chromium/build/config/compiler/BUILD.gn around line 2175), but that file isn't included in the qtwebengine tarball.

      Patching out its use allows the build to start, but it still fails to build later in the build process (with clang 8.0.0).

      /usr/bin/clang++ -MMD -MF obj/media/learning/impl/impl/random_tree_trainer.o.d -DIS_LEARNING_IMPL_IMPL -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DOFFICIAL_BUILD -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_STDC_CONSTANT_MACROS -D_STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../../../src/3rdparty/chromium -Igen -Igen -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-attributes -Wno-unknown-pragmas -Wno-unknown-warning-option -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -no-canonical-prefixes -m64 -Wall -Wextra -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidd
      en -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-parentheses-equality -Wno-tautological-compare -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../../../src/3rdparty/chromium/media/learning/impl/random_tree_trainer.cc -o obj/media/learning/impl/impl/random_tree_trainer.o
      In file included from ../../../../src/3rdparty/chromium/media/learning/impl/random_tree_trainer.cc:11:
      ../../../../src/3rdparty/chromium/base/optional.h:348:61: error: no member named 'value' in 'std::is_constructible<media::learning::Value, const base::Optional<media::learning::Value> &>'
                   std::is_constructible<T, const Optional<U>&>::value ||
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

      ../../../../src/3rdparty/chromium/base/optional.h:451:39: note: in instantiation of template class 'base::internal::IsConvertibleFromOptional<media::learning::Value, media::learning::Value>' requested here
                                !internal::IsConvertibleFromOptional<T, U>::value &&
                                           ^
      ../../../../src/3rdparty/chromium/base/optional.h:454:3: note: while substituting prior template arguments into non-type template parameter [with U = media::learning::Value]
       Optional(const Optional<U>& other) : internal::OptionalBase<T>(other) {}
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/type_traits:921:56: note: whi
      le substituting deduced template arguments into function template 'Optional' [with U = media::learning::Value, $1 = (no value)]
           : public _bool_constant<_is_constructible(_Tp, _Args...)>
                                                            ^
      ../../../../src/3rdparty/chromium/base/optional.h:540:16: note: in instantiation of template class 'std::is_construct
      ible<media::learning::Value, const base::Optional<media::learning::Value> &>' requested here
               std::is_constructible<T, U>::value &&
                    ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/type_traits:1049:56: note: while substituting deduced template arguments into function template 'operator=' [with U = const base::Optional<media::learning::Value> &]
           : public _bool_constant<_is_assignable(_Tp, _Up)>
                                                            ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/type_traits:1061:14: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
         : public is_assignable<_Tp&, const _Tp&>
                  ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_uninitialized.h:579:
      33: note: in instantiation of template class 'std::is_copy_assignable<base::Optional<media::learning::Value> >' requested here
           const bool __assignable = is_copy_assignable<_ValueType>::value;
                                     ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_uninitialized.h:645:
      19: note: in instantiation of function template specialization 'std::__uninitialized_default_n<base::Optional<media::learning::Value> *, unsigned long>' requested here
         

      { return std::__uninitialized_default_n(__first, __n); }


                       ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/vector.tcc:596:8: note:
      in instantiation of function template specialization 'std::__uninitialized_default_n_a<base::Optional<media::learning::Value> *, unsigned long, base::Optional<media::learning::Value> >' requested here
                     std::__uninitialized_default_n_a(this->_M_impl._M_finish,
                          ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_vector.h:827:4: note
      : in instantiation of member function 'std::vector<base::Optional<media::learning::Value>, std::allocator<base::Optional<media::learning::Value> > >::_M_default_append' requested here
               _M_default_append(__new_size - size());
               ^
      ../../../../src/3rdparty/chromium/media/learning/impl/random_tree_trainer.cc:190:18: note: in instantiation of member
      function 'std::vector<base::Optional<media::learning::Value>, std::allocator<base::Optional<media::learning::Value>
      > >::resize' requested here

      feature_values.resize(training_data[0].features.size());
                      ^
      In file included from ../../../../src/3rdparty/chromium/media/learning/impl/random_tree_trainer.cc:11:
      ../../../../src/3rdparty/chromium/base/optional.h:360:44: error: no member named 'value' in 'base::internal::IsConvertibleFromOptional<media::learning::Value, media::learning::Value>'
               IsConvertibleFromOptional<T, U>::value ||
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
      ../../../../src/3rdparty/chromium/base/optional.h:552:31: note: in instantiation of template class 'base::internal::IsAssignableFromOptional<media::learning::Value, media::learning::Value>' requested here
       std::enable_if_t<!internal::IsAssignableFromOptional<T, U>::value &&
                                   ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/type_traits:1049:56: note: while substituting deduced template arguments into function template 'operator=' [with U = media::learning::Value]
           : public _bool_constant<_is_assignable(_Tp, _Up)>
                                                            ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/type_traits:1061:14: note: in
      instantiation of template class 'std::is_assignable<base::Optional<media::learning::Value> &, const base::Optional<m
      edia::learning::Value> &>' requested here

         : public is_assignable<_Tp&, const _Tp&>
                  ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/type_traits:1067:14: note: in
      instantiation of template class 'std::__is_copy_assignable_impl<base::Optional<media::learning::Value>, true>' requested here
         : public __is_copy_assignable_impl<_Tp>
                  ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_uninitialized.h:579:
      33: note: in instantiation of template class 'std::is_copy_assignable<base::Optional<media::learning::Value> >' requested here
           const bool __assignable = is_copy_assignable<_ValueType>::value;
                                     ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_uninitialized.h:645:
      19: note: in instantiation of function template specialization 'std::__uninitialized_default_n<base::Optional<media::
      learning::Value> *, unsigned long>' requested here
         

      { return std::__uninitialized_default_n(__first, __n); }


                       ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/vector.tcc:596:8: note:
      in instantiation of function template specialization 'std::__uninitialized_default_n_a<base::Optional<media::learning
      ::Value> *, unsigned long, base::Optional<media::learning::Value> >' requested here
                     std::__uninitialized_default_n_a(this->_M_impl._M_finish,
                          ^
      /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_vector.h:827:4: note
      : in instantiation of member function 'std::vector<base::Optional<media::learning::Value>, std::allocator<base::Optio
      nal<media::learning::Value> > >::_M_default_append' requested here
               _M_default_append(__new_size - size());
               ^
      ../../../../src/3rdparty/chromium/media/learning/impl/random_tree_trainer.cc:190:18: note: in instantiation of member
      function 'std::vector<base::Optional<media::learning::Value>, std::allocator<base::Optional<media::learning::Value>
      > >::resize' requested here
       feature_values.resize(training_data[0].features.size());
                      ^
      2 errors generated.

      Attachments

        For Gerrit Dashboard: QTBUG-75265
        # Subject Branch Project Status CR V

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            bero Bernhard Rosenkränzer
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes