[Qtwebengine] QtWebengine cross-compilation host compiler packages

Ramakanth Kesireddy rama.kesi at gmail.com
Wed May 6 04:56:42 CEST 2020


Hi All,

Thanks a lot for the help. It helped to install QtWebengine( on the target
without removing v8 snapshot feature support.

Looks like issue with configure line where -no-gcc-sysroot had been
mentioned before.

A quick couple of questions:

Can anyone let me know if the dependent skia graphics library is also built
along with QtWebengine(including QtWebEngineCore and QtWebengineWidgets)
sources?

Since there is no opengl es2 on target, Can we make use of QtWebengine
widgets to render html content without opengl( As
https://doc.qt.io/qt-5/qtwebengine-overview.html mentions the Qt WebEngine
Widgets module uses the Qt Quick scene graph to compose the elements of a
web page into one view) or is it mandatory to have opengl to use
QtWebEngine module as I need to port from QtWebkitwidgets to
QtWebengineWidgets to setHtml?

Best Regards,
Ramakanth



On Tue, May 5, 2020 at 9:21 PM Ramakanth Kesireddy <rama.kesi at gmail.com>
wrote:

> 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/20200506/e3b0a19e/attachment-0001.html>


More information about the QtWebEngine mailing list