Unsolved 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 !
-
Hi,
You should go to the qtwebengine sub-folder then call your cross-compiled qmake there and then make.
-
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 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/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 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/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 ?
-
Did you call
make install
? -
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 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/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 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/examples' -
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-qtdocI 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 ?
-
Are you sure you have the libraries built in the webengine sub-folder
-
-
Do you get any message if you run qmake in the qtwebengine folder ?
-
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.jpgI 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.jpgMy embedded board is Freescale imx6.
QtWebEngine isn't support this board ?
Or I need to setting something ? -
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/5Then 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 3After 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 -
There might be some clues here
-
@SGaist Thanks !