How to cross compile qtwebengine in embedded machine (linux arm) ?



  • Hi all :

    I use qt 5.4 source code cross compile the qt lib, and install my embedded machine (linux arm).

    Then it's success !

    But, I have an problem !
    How can I install qtwebngine in my embedded machine ?
    Is it use command : "make module-webngine" ?

    If you konw the answer, please tell me, thank you very much !


  • Lifetime Qt Champion

    Hi,

    You should go to the qtwebengine sub-folder then call your cross-compiled qmake there and then make.



  • @SGaist

    Thanks!

    I use the cross-compile and make command, it's success !

    log:
    user@SW10:~/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine$ make
    cd src/ && ( test -e Makefile || /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/bin/qmake /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src/src.pro -spec /home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/mkspecs/devices/linux-imx6-g++ -o Makefile ) && make -f Makefile
    make[1]: Entering directory /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src' make[1]: Nothing to be done forfirst'.
    make[1]: Leaving directory /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src' cd examples/ && ( test -e Makefile || /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/bin/qmake /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/examples/examples.pro -spec /home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/mkspecs/devices/linux-imx6-g++ -o Makefile ) && make -f Makefile make[1]: Entering directory/home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/examples'
    make[1]: Nothing to be done for first'. make[1]: Leaving directory/home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/examples'

    But, after the make command, Ican't find the module about webengine,
    and then I cross compile browser in "browser folder" ( qt-everywhere-opensource-src-5.4.0/qtwebengine/examples/webenginewidgets ),
    it show "Project ERROR: Unknown module(s) in QT: webenginewidgets".

    Do you know how can I make sure the webenginewidgets module is ok ?


  • Lifetime Qt Champion

    Did you call make install ?



  • @SGaist

    Yes, I did.

    But, I did not find about the "webengine" module in my target folder.

    I cross compile, and command "make", "sudo make install".

    Did I lose something ?

    It's log of "make install" :
    user@SW10:~/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine$ sudo make install
    cd src/ && ( test -e Makefile || /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/bin/qmake /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src/src.pro -spec /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/mkspecs/devices/linux-imx6-g++ -o Makefile ) && make -f Makefile install
    make[1]: Entering directory /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src' make[1]: Nothing to be done forinstall'.
    make[1]: Leaving directory /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src' cd examples/ && ( test -e Makefile || /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/bin/qmake /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/examples/examples.pro -spec /home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtbase/mkspecs/devices/linux-imx6-g++ -o Makefile ) && make -f Makefile install make[1]: Entering directory/home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/examples'
    make[1]: Nothing to be done for install'. make[1]: Leaving directory/home/user/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/examples'



  • @SGaist

    Excuse me !

    I found something.

    In my qt root directory, I check the Makefile,
    module-qtwebengine is exist !

    The Makefile content :
    ........
    COMPRESS = gzip -9f
    DISTNAME = qt1.0.0
    DISTDIR = /home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/.obj/qt1.0.0
    SUBTARGETS =
    module-qtbase
    module-qtandroidextras
    module-qtmacextras
    module-qtx11extras
    module-qtsvg
    module-qtxmlpatterns
    module-qtdeclarative
    module-qtquickcontrols
    module-qtmultimedia
    module-qtwinextras
    module-qtactiveqt
    module-qtlocation
    module-qtsensors
    module-qtconnectivity
    module-qtwebsockets
    module-qtwebchannel
    module-qtwebkit
    module-qttools
    module-qtwebkit-examples
    module-qtimageformats
    module-qtgraphicaleffects
    module-qtscript
    module-qtquick1
    module-qtwayland
    module-qtserialport
    module-qtenginio
    module-qtwebengine
    module-qttranslations
    module-qtdoc

    I don't understand, all modules is success install in my target folder.
    Just only module-qtwebengine not.

    if it's exist in root directory "Makefile". What can not install success ?


  • Lifetime Qt Champion

    Are you sure you have the libraries built in the webengine sub-folder



  • @SGaist

    No, there are not libraries in the webengine sub-folder.

    What can I do ?


  • Lifetime Qt Champion

    Do you get any message if you run qmake in the qtwebengine folder ?



  • @SGaist

    No, I don't.

    It's not show any message.

    This link is related message photo :
    https://www.dropbox.com/sh/4glzathk6afe00x/AAAYJQnFNry1kFxOh0QwiFopa?dl=0&preview=268.jpg

    I try to use three different ways with qmake. Usually, I use type 1 to cross compile.



  • It's not show any message in qtwebengone sub-folder with qmake.

    But, when I into "qtwebengine/src", and qmake, it's show :

    "Project WARNING: Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.
    Project WARNING: QtWebEngine is not maintained for this platform/configuration and is therefore disabled."

    Please use the link , see 269.jpg
    https://www.dropbox.com/sh/4glzathk6afe00x/AAAYJQnFNry1kFxOh0QwiFopa?dl=0&preview=269.jpg

    My embedded board is Freescale imx6.
    QtWebEngine isn't support this board ?
    Or I need to setting something ?


  • Lifetime Qt Champion

    Just remembered that currently the ARM build is supported only for Boot2Qt. So it should be doable to build it but you might have to do some fiddling on the checks



  • @SGaist thanks !

    I use this link to modify functions.prf patch.
    https://forum.qt.io/topic/59113/qtwebengine-embedded/5

    Then get new error :
    using python: /usr/bin/python version: 2.7.3 (default, Jun 22 2015, 19:33:41)
    [GCC 4.6.3]
    Using extra options found in /home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src/core/qtwebengine_extras.gypi
    Using extra options found in /home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src/core/qmake_extras.gypi
    Updating projects from gyp files...
    Package libudev was not found in the pkg-config search path.
    Perhaps you should add the directory containing `libudev.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'libudev' found
    gyp: Call to './pkg-config-wrapper "/home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/LTIB/L3.0.35_4.1.0_130816_source/source/ltib/rootfs" "arm" "lib" --cflags libudev' returned exit status 1.
    Project ERROR: -- running gyp_qtwebengine failed --
    make: *** [sub-gyp_run-pro-make_first] Error 3

    After install libudev-dev, I continue make.
    It show the other error:

    In file included from ../../../src/3rdparty/chromium/third_party/protobuf/src/google/protobuf/unknown_field_set.cc:35:0:
    ../../../src/3rdparty/chromium/third_party/protobuf/src/google/protobuf/unknown_field_set.h:41:20: fatal error: assert.h: No such file or directory
    compilation terminated.
    [19/8954] CC obj.host/src/3rdparty/chromium/third_party/libvp...ce/libvpx/build/make/libvpx_obj_int_extract.obj_int_extract.o
    ninja: build stopped: subcommand failed.
    make[3]: *** [invoke_ninja] Error 1
    make[3]: Leaving directory /home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src/core' make[2]: *** [sub-gyp_run-pro-make_first] Error 2 make[2]: Leaving directory/home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src/core'
    make[1]: *** [sub-core-make_first] Error 2
    make[1]: Leaving directory `/home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebengine/src'
    make: *** [sub-src-make_first] Error 2


  • Lifetime Qt Champion

    There might be some clues here



  • @SGaist Thanks !


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.