[oe] [meta-qt5] qtbase-native/qmake broken for 5.10?

Andreas Müller schnitzeltony at gmail.com
Wed Feb 21 13:59:30 UTC 2018


On Tue, Feb 20, 2018 at 10:54 AM, Andreas Müller
<schnitzeltony at gmail.com> wrote:
> Hi,
>
> giving Qt 5.10.0 a build I ran into the following issue detected by
> meta-qt5-extra/sddm build failure:
>
> Running native 'qmake -query' outputs
>
> | qmake -query
> | Empty filename passed to function
> | QT_SYSROOT:/home/superandy/tmp/oe-core-glibc/work/x86_64-linux/qtbase-native/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot-native
> | ...
>
> ask for a certain property e.g QT_INSTALL_IMPORTS (this is what sddm
> does during build):
>
> | qmake -query QT_INSTALL_IMPORTS
> | Empty filename passed to function
> | /home/superandy/tmp/oe-core-glibc/work/x86_64-linux/qtbase-native/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot-native/home/superandy/tmp/oe-core-glibc/work/x86_64-linux/qtbase-native/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot-native/usr/lib/qt5/imports
>
> First line always reports 'Empty filename passed to function' which is
> not exactly useful when expecting a path.
>
> I've searched the web without success for this so I decided to start
> debugging. Due to standard optimization most interesting variables are
> optimized out :(
>
> So before I rebuild qtbase-native without optimization and debug again
> I thought there might be someone here knowing something helpful
> regarding this issue.
>
> Thanks in advance
>
Fixed for sddm:
sddm is a bit special: It asks qmake from within cmake for paths.
Debugging showed that environment OE_QMAKE_QTCONF_PATH was missing.
Exporting this in sddm recipe did the job.

See qtbase source:

QSettings *QLibraryInfoPrivate::findConfiguration()
{
#ifdef QT_BUILD_QMAKE
    QByteArray config = getenv("OE_QMAKE_QTCONF_PATH");
    QString qtconfig = QFile::decodeName(config);
    if(!QFile::exists(qtconfig))    <<<<<-- This caused "Empty
filename passed to function"
...

Seems qmake-native 5.9 behaved differently here...

Thinking this more over I wonder if there might be another common
place for exporting OE_QMAKE_QTCONF_PATH. How about
qmake5_paths.bbclass?

Andreas



More information about the Openembedded-devel mailing list