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

Andreas Müller schnitzeltony at googlemail.com
Tue Feb 7 08:22:22 UTC 2017


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.

[a.mueller at localhost oe-core]$
~/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/bin/qt5/qmake -query
QT_SYSROOT:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux
QT_INSTALL_PREFIX:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr
QT_INSTALL_PREFIX/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr
QT_INSTALL_ARCHDATA:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5
QT_INSTALL_ARCHDATA/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5
QT_INSTALL_DATA:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/qt5
QT_INSTALL_DATA/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/qt5
QT_INSTALL_DOCS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/doc/qt5
QT_INSTALL_DOCS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/doc/qt5
QT_INSTALL_HEADERS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/include/qt5
QT_INSTALL_HEADERS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/include/qt5
QT_INSTALL_LIBS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib
QT_INSTALL_LIBS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib
QT_INSTALL_LIBEXECS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/libexec
QT_INSTALL_LIBEXECS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/libexec
QT_INSTALL_BINS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/bin/qt5
QT_INSTALL_BINS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/bin/qt5
QT_INSTALL_TESTS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/tests
QT_INSTALL_TESTS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/tests
QT_INSTALL_PLUGINS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/plugins
QT_INSTALL_PLUGINS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/plugins
QT_INSTALL_IMPORTS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/imports
QT_INSTALL_IMPORTS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/imports
QT_INSTALL_QML:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/qml
QT_INSTALL_QML/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5/qml
QT_INSTALL_TRANSLATIONS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/qt5/translations
QT_INSTALL_TRANSLATIONS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/qt5/translations
QT_INSTALL_CONFIGURATION:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/etc/qt5
QT_INSTALL_CONFIGURATION/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/etc/qt5
QT_INSTALL_EXAMPLES:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/examples
QT_INSTALL_EXAMPLES/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/examples
QT_INSTALL_DEMOS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/examples
QT_INSTALL_DEMOS/raw:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/examples
QT_HOST_PREFIX:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr
QT_HOST_DATA:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib/qt5
QT_HOST_BINS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/bin/qt5
QT_HOST_LIBS:/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/lib
QMAKE_SPEC:linux-oe-g++
QMAKE_XSPEC:linux-oe-g++
QMAKE_VERSION:3.1
QT_VERSION:5.8.0



More information about the Openembedded-devel mailing list