[oe] [meta-qt5] Minimum required Yocto version for 5.9 branch?

Matt Hoosier matt.hoosier at gmail.com
Fri Aug 11 22:16:44 UTC 2017


On Fri, Aug 11, 2017 at 3:11 PM, Matt Hoosier <matt.hoosier at gmail.com>
wrote:

> Hi,
>
> I observe that qtbase-native from jansa/master-5.9 fails on releases
> versions of Yocto prior to 2.2 with a message like:
>
> | + /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/work/x86_64-linux/qtbase-native/5.9.1+gitAUTOINC+160533328c-r0/build/bin/qmake
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/work/x86_64-linux/qtbase-native/5.9.1+gitAUTOINC+160533328c-r0/git
>> -- -opensource -confirm-license -sysroot /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux -no-gcc-sysroot
>> -system-zlib -no-libjpeg -no-libpng -no-gif -no-accessibility -no-cups
>> -no-gui -no-qml-debug -no-sql-mysql -no-sql-sqlite -no-opengl -no-openssl
>> -no-xcb -no-icu -verbose -release -prefix /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr -hostprefix
>> /home/hoosier/projects/consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr
>> -bindir /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/bin/qt5 -hostbindir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/bin/qt5 -libdir
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib -hostlibdir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/lib -headerdir
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/include/qt5 -archdatadir
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib/qt5 -datadir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/share/qt5
>> -hostdatadir /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib/qt5 -docdir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/share/doc/qt5
>> -sysconfdir /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/etc/qt5 -no-glib -no-iconv -silent -nomake
>> examples -nomake tests -no-rpath -platform linux-oe-g++
>> | Command line: -opensource -confirm-license -sysroot
>> /home/hoosier/projects/consumer/tools/yocto/build/tmp/sysroots/x86_64-linux
>> -no-gcc-sysroot -system-zlib -no-libjpeg -no-libpng -no-gif
>> -no-accessibility -no-cups -no-gui -no-qml-debug -no-sql-mysql
>> -no-sql-sqlite -no-opengl -no-openssl -no-xcb -no-icu -verbose -release
>> -prefix /home/hoosier/projects/consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr
>> -hostprefix /home/hoosier/projects/consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr
>> -bindir /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/bin/qt5 -hostbindir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/bin/qt5 -libdir
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib -hostlibdir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/lib -headerdir
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/include/qt5 -archdatadir
>> /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib/qt5 -datadir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/share/qt5
>> -hostdatadir /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib/qt5 -docdir /home/hoosier/projects/
>> consumer/tools/yocto/build/tmp/sysroots/x86_64-linux/usr/share/doc/qt5
>> -sysconfdir /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/etc/qt5 -no-glib -no-iconv -silent -nomake
>> examples -nomake tests -no-rpath -platform linux-oe-g++
>> | Cannot read /home/hoosier/projects/consumer/tools/yocto/build/
>> tmp/sysroots/x86_64-linux/usr/lib/qt5/mkspecs/linux-oe-g++/qmake.conf:
>> No such file or directory
>
>
> Does anybody know what might be going on with this error?
>
>

After a bit of digging, I find that the following commit in poky is the one
that's required to let the 5.9 branch of meta-qt5 build correctly with
Yocto <= 2.1:

Author: Ross Burton <ross.burton at intel.com>  2016-07-14 13:56:22
> Committer: Richard Purdie <richard.purdie at linuxfoundation.org>
>  2016-07-19 02:56:50
> Parent: faa726824dfb5bc0141919bb16c0d0069a3da69e (bitbake:
> lib/bb/build.py: decode the command as UTF-8)
> Branches: remotes/origin/morty, remotes/origin/pyro
> Follows: 2.2_M1
> Precedes: 2.2_M2
>     bitbake: build: don't use $B as the default cwd for functions
>
>     When bitbake executes a shell or Python function it can cd/chdir()
> into a
>     directory before executing the task. If no directory is specified then
> the
>     default of $B is used.  However $B is an OpenEmbedded variable and
> BitBake
>     shouldn't be aware of it.
>
>     To solve this change the semantics slightly so that if no directory is
>     specified, the current working directory isn't changed.  There's also
> a sanity
>     check that emits a warning if a Python task does os.chdir() without
> restoring
>     the old path, and the previous working directory is restored.
>
>     This does change semantics: whereas before a function in OE would have
> $B as the
>     working directory unless specified, now the working directory is the
> top of the
>     build tree.  Any breakage this causes can be solved by either adding
>     do_some_task[dirs] = "${B}" or by using absolute paths in the task.



More information about the Openembedded-devel mailing list