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

Andreas Müller schnitzeltony at googlemail.com
Tue Feb 7 09:02:32 UTC 2017


On Tue, Feb 7, 2017 at 9:22 AM, Andreas Müller
<schnitzeltony at googlemail.com> wrote:
> On Fri, Jan 27, 2017 at 5:36 PM, Martin Jansa <martin.jansa at gmail.com> wrote:
>> 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>
>>
> Gave it a first try: Seems qmake is broken again: It reports native
> paths only - that breaks a lot - see when I have time to take care.
>
Just checked on other machine: This is same behaviour as in 5.7.0. So
the build breaks somewhere else.

Andreas



More information about the Openembedded-devel mailing list