[oe] [meta-qt5][PATCH v6] Upgrade to Qt 5.8

Martin Jansa martin.jansa at gmail.com
Fri Jan 27 16:36:42 UTC 2017


On Thu, Jan 26, 2017 at 09:03:38PM +0100, Martin Jansa wrote:
> On Thu, Jan 26, 2017 at 04:54:50PM +0200, Samuli Piippo wrote:
> > The linux-oe-g++ mkspec is changed to use $$(...) operator to obtain
> > the contents of an environment value when qmake is run instead of when
> > Makefile is processed. All OE_QMAKE_xxx variables need to be exported
> > for qmake to find them. configure's setBootstrapVariable function needs
> > to change $$(..) to normal $(...) operator to work with qmake's Makefile.
> > 
> > qt.conf generation for qtbase recipes is not needed, as configure will
> > generate its own version based on configure arguments. Skip running
> > qmake, since configure is now automatically invoked when it's run in
> > qtbase's root folder.
> > 
> > Update PACKAGECONFIGs for qtbase to match current configure options.
> > 
> > The new Qt configuration system [1] can be used with a new variable
> > EXTRA_QMAKEVARS_CONFIGURE, which takes both command line and feature
> > arguments.
> > 
> > Merge the two qtwayland recipes to one that supports all three targets
> > (target, native, nativesdk) without need for additional patch.
> > 
> > Recipes for new Qt modules: QtSCXML, QtNetworkAuth, QtGamepad.
> > Removes qtdeclarative-render2d
> 
> Thanks this resolved the -no-alsa issue, now it failing a bit further
> with:
> 
> |
> /OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtwebkit/5.8.0+gitAUTOINC+74ac5b0f34-r0/git/Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.l:2779:26:
> error: 'yylex_destroy' was not declared in this scope
> 
> which might be caused by flex upgrade as I'm seeing similar issues in
> other recipes and Khem reported the same here:
> http://lists.openembedded.org/pipermail/openembedded-core/2017-January/131555.html
> and Patrick here:
> http://lists.openembedded.org/pipermail/openembedded-core/2017-January/131326.html
> 
> Hopefully there will be upgrade to flex-2.6.3 to test this completely.

After reverting flex-2.6.2 upgrade I was able to build most of the qt
recipes for qemux86 (the complete bitbake world build is still running
on jenkins slaves will send report e-mail someday next week).

The only exception is qtwebengine which fails like this:
| [12/10222] LINK character_data_generator
| FAILED: character_data_generator
| g++ -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -pthread -Wl,-z,noexecstack -fPIC -Wl,--disable-new-dtags -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--no-as-needed -lpthread -Wl,--as-needed -o character_data_generator -Wl,--start-group obj.host/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/character_data_generator.CharacterPropertyDataGenerator.o obj.host/src/3rdparty/chromium/third_party/icu/libicuuc.a -Wl,--end-group
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.utrie2_builder.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.utrie2.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.utrie.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.cmemory.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.ucol_swp.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.udataswp.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.uinvchar.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.ustring.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.utf_impl.o' is incompatible with i386:x86-64 output
| /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.cstring.o' is incompatible with i386:x86-64 output
| obj.host/src/3rdparty/chromium/third_party/icu/source/common/icuuc.cstring.o: In function `T_CString_int64ToString_56':
| cstring.c:(.text.T_CString_int64ToString_56+0x76): undefined reference to `__umoddi3'
| cstring.c:(.text.T_CString_int64ToString_56+0xa1): undefined reference to `__udivdi3'
| collect2: error: ld returned 1 exit status
| ERROR: oe_runmake failed

So either disable character_data_generator for make sure that the build won't mix target's i386 and host's x86-64 objects.

> > [1] https://www.mail-archive.com/development@qt-project.org/msg25257.html
> > 
> > Change-Id: Ib37c4d7323e8b45aa2b171e8427b6ec15aaee213
> > Signed-off-by: Samuli Piippo <samuli.piippo at qt.io>



-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20170127/e927bd7e/attachment-0002.sig>


More information about the Openembedded-devel mailing list