[Qtwebengine] QtWebengine cross-compilation host compiler packages

Ed Chapman ed.chapman121 at gmail.com
Mon May 4 14:47:35 CEST 2020


1) Assuming your synlinks on target has been run and all dependencies 
are there on target so that when brought to Ubuntu the links can be 
resolved.

2) On Ubuntu 16.06 reinstall g++-multilib  pkg-config libnss3-dev    // 
just to make sure

If you are like me and like to keep the latest and greatest python and 
have installed in manually then most likely there is a
soft link in /usr/local/bin/python  and if this directory in in the 
search path before /usr/bin/python, look down at your feet because you 
have most likely shot one foot off already.
What I found worked best for me was to setup /etc/alternatives and put 
all the python versions listed there.. then if i need to rebuild qt, ie 
major upgrade that fixes things.. I simply select the
python3.5 version for that build.. This drove me absolutely crazy until 
I built qtwebengine no problems on Ubuntu 18.04 then all kinds of lights 
when off in my head, as a year or 2 ago it was building on 16.04.

This was painful to learn each of these items.. very painful  .. Sounds 
like you guys are much smarter than I, but maybe this could help someone 
else so I add it to the list because it would have save me a ton of time 
to know this at the outset, but again I am not the smartest guy around.

Br
Ed





On 5/4/20 6:00 AM, Michal Klocek 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 
> <mailto: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
>     andspecify 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
>     <mailto:qtwebengine-bounces at lists.qt-project.org>> on behalf of
>     Ramakanth Kesireddy <rama.kesi at gmail.com <mailto:rama.kesi at gmail.com>>
>     *Sent:* Monday, May 4, 2020 10:44 AM
>     *To:* qtwebengine at lists.qt-project.org
>     <mailto:qtwebengine at lists.qt-project.org>
>     <qtwebengine at lists.qt-project.org
>     <mailto: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
>
>
> _______________________________________________
> QtWebEngine mailing list
> QtWebEngine at lists.qt-project.org
> https://lists.qt-project.org/listinfo/qtwebengine


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qtwebengine/attachments/20200504/4100d70d/attachment-0001.html>


More information about the QtWebEngine mailing list