[Qtwebengine] QtWebengine cross-compilation host compiler packages

Ramakanth Kesireddy rama.kesi at gmail.com
Tue May 5 17:51:31 CEST 2020


Hi,

Attached is the configure build log for QtWebengine.

Am using the below configure line using Qt 5.12.8 sources and even tried
with -no-feature-webengine-v8-snapshot-support but qtwebengine module is
not being built.
I installed the multi-lib package on Ubuntu host.

./configure -v -opensource -confirm-license -make libs -release -shared
-sysroot
/home/target/ti-processor-sdk-linux-rt-am335x-evm-05.03.00.07/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi
-device arm-linux-gnueabihf-g++ -device-option
CROSS_COMPILE=/home/target/ti-processor-sdk-linux-rt-am335x-evm-05.03.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-
-reduce-exports -optimize-size -no-gtk -no-use-gold-linker -qt-libjpeg
-qt-zlib -qt-libpng -sql-sqlite -no-xcb -no-cups -no-opengl -no-qml-debug
-skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip
qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad
-skip qtgraphicaleffects -skip qtimageformats -skip qtnetworkauth -skip
qtlocation -skip qtmacextras -skip qtpurchasing -skip qtmultimedia -skip
qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscript
-skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip
qtspeech -skip qttools -skip qtwayland -skip qtwebsockets -skip qtwebview
-skip qtwebchannel -skip qtwinextras -skip qtandroidextras -skip
qtx11extras -skip qtxmlpatterns -nomake tools -nomake tests -nomake
examples -no-compile-examples -no-iconv -dbus -fontconfig -system-freetype
-ssl -qt-pcre -no-pch -recheck-all -DQT_ARCH_ARM

As part of TI sdk 05.03.00.07 with cross compiler tool chain and sysroot,
Qt 5.9.7 along with QtWebengine,QtWebengineCore and QtWebeneginewidgets
modules are built successfully.
So the qtwebengine dependent packages are available in cross-compiler
sysroot as part of TI sdk.

But am not sure if am missing anything in the configure line(like skipped
qtwebview and qtwebchannel modules incase it got any impact) or
PKG_CONFIG_PATH not being set properly.

Please suggest in this regard.

Best Regards,
Ramakanth

On Mon, May 4, 2020 at 3:30 PM Michal Klocek <michal.klocek at qt.io> wrote:

> Hi
>
> This error log does not show what exactly are you compiling, moreover
> error message is for your cross compiler and not for system one, meaning
> installing anything for system one might have no effect (depending how
> cross cross compilation toolchain was done) .
>
>  If 32-bit compilation does not work, v8 snapshot support should be
> automatically disabled by one of configure test.
> Please open bug report and attach full build log.
>
> I am sorry I mistyped feature parameter (there is no extra 'no')
> -no-feature-webengine-v8-snapshot-support  , so it should be also in
> 5.12.8, it disables v8 snapshots, which will result in extra startup time
> when initialization of javascript programs.
>
> Br
>
> Michal
>
>
>
>
> ------------------------------
> *From:* Ramakanth Kesireddy <rama.kesi at gmail.com>
> *Sent:* Monday, May 4, 2020 11:33 AM
> *To:* Michal Klocek <michal.klocek at qt.io>
> *Cc:* qtwebengine at lists.qt-project.org <qtwebengine at lists.qt-project.org>
> *Subject:* Re: [Qtwebengine] QtWebengine cross-compilation host compiler
> packages
>
> Hi,
>
> Below is the error thrown while building Qt 5.12.8 sources:
>
>
> /home/target/ti-processor-sdk-linux-rt-am335x-evm-05.03.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/7.2.1/../../../../arm-linux-gnueabihf/bin/ld:
> cannot find crti.o: No such file or directory
> collect2: error: ld returned 1 exit status
> Makefile.core_module:84: recipe for target
> '../../lib/libQt5WebEngineCore.so.5.12.8' failed
> make[4]: *** [../../lib/libQt5WebEngineCore.so.5.12.8] Error 1
> make[4]: Leaving directory
> '/home/target/qt-everywhere-src-5.12.8/qtwebengine/src/core'
> Makefile:124: recipe for target 'sub-core_module-pro-make_first' failed
> make[3]: *** [sub-core_module-pro-make_first] Error 2
> make[3]: Leaving directory
> '/home/target/qt-everywhere-src-5.12.8/qtwebengine/src/core'
> Makefile:79: recipe for target 'sub-core-make_first' failed
> make[2]: *** [sub-core-make_first] Error 2
> make[2]: Leaving directory
> '/home/target/qt-everywhere-src-5.12.8/qtwebengine/src'
> Makefile:48: recipe for target 'sub-src-make_first' failed
> make[1]: *** [sub-src-make_first] Error 2
> make[1]: Leaving directory
> '/home/target/qt-everywhere-src-5.12.8/qtwebengine'
> Makefile:153: recipe for target 'module-qtwebengine-make_first' failed
> make: *** [module-qtwebengine-make_first] Error 2
>
> The cross compiled crt1.o is found
> in /home/target/ti-processor-sdk-linux-rt-am335x-evm-05.03.00.07/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib/crt1.o.
>
> Host 32 bit binaries for the missing crt1.0 are found like below:
> target at ubuntu:~/qt-everywhere-src-5.12.8$ find /usr/ -name crti*
> /usr/libx32/crti.o
> /usr/lib32/crti.o
> /usr/lib/x86_64-linux-gnu/crti.o
>
>  Can we disable build of v8 snapshot with
> -no-feature-nowebengine-v8-snapshot-support in Qt 5.12.8 sources and not
> possible in Qt 5.15 sources?
> So v8 snapshot doesnot requires host 32 bit binaries to cross-compile for
> the target device?
>
> Also is it mandatory to have opengl es2 configured for Qt to make use of
> QtWebEngine widgets in rendering hmtl content since there is no hardware
> accelerated rendering for the device?
>
> Best Regards,
> Ramakanth
>
>
> On Mon, 4 May, 2020, 14:47 Michal Klocek, <michal.klocek at qt.io> wrote:
>
> Hi
>
> I do not think we check for any specific libs for 32-bit compiler when
> building v8 snapshot during 64bit cross build, therefore we do not have
> a list or required libs. Please open bug report and specify qt version
> and compile error.
>
> Please note you can always disable build of v8 snapshot with
> -no-feature-nowebengine-v8-snapshot-support
>
> Br
>
> Michal
> ------------------------------
> *From:* QtWebEngine <qtwebengine-bounces at lists.qt-project.org> on behalf
> of Ramakanth Kesireddy <rama.kesi at gmail.com>
> *Sent:* Monday, May 4, 2020 10:44 AM
> *To:* qtwebengine at lists.qt-project.org <qtwebengine at lists.qt-project.org>
> *Subject:* [Qtwebengine] QtWebengine cross-compilation host compiler
> packages
>
> Hi,
>
> In the https://wiki.qt.io/QtWebEngine/How_to_Try, it mentions  in case
> you have the 64-bit Linux host, you need to install an adidtional 32-bit
> multilib packages (at least: linux-libc-dev:i386, linux-headers-xxx:i386).
>
> Am trying to cross-compile QtWebengine on 64 bit Ubuntu 16.04 host. Though
> I installed multi lib package and the above mentioned packages, it seems
> like I didnot install the necessary files to compile 32 bit for
> cross-compilation as it needs the host compiler that matches the target for
> building the v8 snapshot and it throws errors while cross-compilation.
>
> Here is the configure line:
>
> /configure -v -opensource -confirm-license -make libs -release -shared
> -sysroot
> /home/target/ti-processor-sdk-linux-rt-am335x-evm-05.03.00.07/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi
> -no-gcc-sysroot -device arm-linux-gnueabihf-g++ -device-option
> CROSS_COMPILE=/home/target/ti-processor-sdk-linux-rt-am335x-evm-05.03.00.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-
> -reduce-exports -optimize-size -no-gtk -force-pkg-config
> -no-use-gold-linker -qt-libjpeg -qt-zlib -qt-libpng -sql-sqlite -no-xcb
> -no-cups -no-opengl -no-qml-debug -skip qt3d -skip qtactiveqt -skip
> qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip
> qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip
> qtimageformats -skip qtnetworkauth -skip qtlocation -skip qtmacextras -skip
> qtpurchasing -skip qtmultimedia -skip qtquickcontrols -skip
> qtquickcontrols2 -skip qtremoteobjects -skip qtscript -skip qtscxml -skip
> qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttools
> -skip qtwayland -skip qtwebsockets -skip qtwebview -skip qtwebchannel -skip
> qtwinextras -skip qtandroidextras -skip qtx11extras -skip qtxmlpatterns
> -nomake tools -nomake tests -nomake examples -no-compile-examples -no-iconv
> -dbus -fontconfig -system-freetype -ssl -qt-pcre -no-pch -recheck-all
> -DQT_ARCH_ARM
>
> Could you please let me know the packages to be installed for preparing
> the 32 bit Ubuntu host compiler or anything am missing though sysroot is
> set?
>
> Best Regards,
> Ramakanth
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qtwebengine/attachments/20200505/d723160a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: webengine_config_log
Type: application/octet-stream
Size: 77496 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/qtwebengine/attachments/20200505/d723160a/attachment-0001.obj>


More information about the QtWebEngine mailing list