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

QTWebkit cannot be build on QT-5.15 via yocto

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.15
    • Fix Version/s: 5.15.0 Beta4
    • Component/s: Build tools: moc
    • Labels:
      None
    • Platform/s:
      Linux/Yocto
    • Commits:
      dd2fd47dc0acdf90f73a639149aa59269a72f9cb (yocto/meta-qt5/5.15)

      Description

      I would like to integrate the QTwebkit to QT5.15 via Yocto project, unfortunately, I got build error till now.
      QTwebkit has been build successfully on QT-5.13.

      1. On QT-5.15, I've move the QT webkit sha1 as below:
        https://codereview.qt-project.org/c/yocto/meta-qt5/+/296402
      2. On meta-qt5 5.15 branch, there is another build issue has been fixed as below:
        diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb
        index ffed74b9..c4f7eb4b 100644
          • a/recipes-qt/qt5/qtdeclarative_git.bb
            +++ b/recipes-qt/qt5/qtdeclarative_git.bb
            @@ -31,6 +31,6 @@ do_install_append_class-nativesdk() {
            rm -rf ${D}${OE_QMAKE_PATH_QML}
            }

      -SRCREV = "8dfcc71953cd36370bcf19f537445e3766f39635"
      +SRCREV = "1a2ab822fa24733f83d6720d2af8498ecbd5cbda"

      Howerver, during webkit link, there is a problem as below

      | /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/../../libexec/riscv64-oe-linux/gcc/riscv64-oe-linux/9.3.0/ld: Source/WebKit/CMakeFiles/WebKitWidgets.dir/WebKitWidgets_autogen/mocs_compilation.cpp.o: in function `QByteArray::reserve(int)': | /usr/include/QtCore/qbytearray.h:525: undefined reference to `QWebFullScreenVideoHandler::qt_metacast(char const*)' | /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/../../libexec/riscv64-oe-linux/gcc/riscv64-oe-linux/9.3.0/ld: /usr/include/QtCore/qbytearray.h:530: undefined reference to `QWebFullScreenVideoHandler::qt_metacall(QMetaObject::Call, int, void**)' | /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/../../libexec/riscv64-oe-linux/gcc/riscv64-oe-linux/9.3.0/ld: Source/WebKit/CMakeFiles/WebKitWidgets.dir/WebKitWidgets_autogen/mocs_compilation.cpp.o: in function `.LANCHOR0': | mocs_compilation.cpp:(.data.rel.ro+0x0): undefined reference to `QWebFullScreenVideoHandler::staticMetaObject' | /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/../../libexec/riscv64-oe-linux/gcc/riscv64-oe-linux/9.3.0/ld: Source/WebKit/CMakeFiles/WebKitWidgets.dir/qt/WidgetSupport/DefaultFullScreenVideoHandler.cpp.o: in function `WebKit::DefaultFullScreenVideoHandler::DefaultFullScreenVideoHandler()': | /usr/src/debug/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/git/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.cpp:40: undefined reference to `vtable for QWebFullScreenVideoHandler'
      

      There is a autogen file in below path:
      /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/build/Source/WebKit/qt/Api/moc_qwebfullscreenvideohandler.cpp_parameters

      In this file, it mentioned there is a autogen file

      /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/build/Source/WebKit/qt/Api/moc_qwebfullscreenvideohandler.cpp
      /home/bsquare/work/sifive/build/tmp-glibc/work/riscv64-oe-linux/qtwebkit/5.15.0+gitAUTOINC+ab1bd15209-r0/git/Source/WebKit/qt/Api/qwebfullscreenvideohandler.h
      

       
      But these 2 files didn't created automatically.
      I doubt this is the root cause for QTwebit build failed.

      Chenxi

        Attachments

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

          Activity

            People

            Assignee:
            ogoffart Olivier Goffart (Woboq GmbH)
            Reporter:
            parheliamm Mao Chenxi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes