On Fri, Aug 11, 2017 at 3:11 PM, Matt Hoosier <matt.hoos...@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.bur...@intel.com> 2016-07-14 13:56:22 > Committer: Richard Purdie <richard.pur...@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. -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel