[oe] [meta-qt5] Qt5 SDK problem when building for Wandboard

Jonathan Liu net147 at gmail.com
Sun May 4 01:47:06 UTC 2014


On 3/05/2014 1:48 AM, Jacob Kroon wrote:
> On Fri, May 2, 2014 at 5:06 PM, Jacob Kroon <jacob.kroon at gmail.com 
> <mailto:jacob.kroon at gmail.com>> wrote:
>
>     On Fri, May 2, 2014 at 10:25 AM, Jonathan Liu <net147 at gmail.com
>     <mailto:net147 at gmail.com>> wrote:
>
>         On 2/05/2014 6:17 PM, Jacob Kroon wrote:
>>         On Fri, May 2, 2014 at 8:34 AM, Jonathan Liu
>>         <net147 at gmail.com <mailto:net147 at gmail.com>> wrote:
>>
>>             On 2/05/2014 4:28 PM, Jacob Kroon wrote:
>>>             Hi Jonathan,
>>>
>>>             On Fri, May 2, 2014 at 3:01 AM, Jonathan Liu
>>>             <net147 at gmail.com <mailto:net147 at gmail.com>> wrote:
>>>
>>>                 On 1/05/2014 6:29 PM, Jacob Kroon wrote:
>>>
>>>                     Hi,
>>>
>>>                     For a while I've been working around a problem
>>>                     with using
>>>                     populate_sdk_qt5.bbclass in my image recipe,
>>>                     I've had to use a
>>>                     packagegroup-qt5-toolchain-target.bbappend to
>>>                     remove the following
>>>                     dependant packages:
>>>
>>>                     qt3d-dev
>>>                     qt3d-mkspecs
>>>                     qt3d-qmlplugins
>>>                     qtlocation-dev
>>>                     qtlocation-mkspecs
>>>                     qtlocation-plugins
>>>                     qtlocation-qmlplugins
>>>
>>>                     I'm building for wandboard-* machines, and if I
>>>                     try to bitbake qt3d or
>>>                     qtlocation, I get the following error:
>>>
>>>                     Project ERROR: Unknown module(s) in QT: opengl
>>>
>>>                     In my distro.conf I'm using:
>>>
>>>                     DISTRO_FEATURES_append = " opengl ptest systemd"
>>>                     DISTRO_FEATURES_remove = "pulseaudio sysvinit x11"
>>>
>>>                     Could anyone hint at what a proper solution
>>>                     would be ?
>>>
>>>                     I'm using master branches.
>>>
>>>                     Build Configuration:
>>>                     BB_VERSION    = "1.23.0"
>>>                     BUILD_SYS     = "x86_64-linux"
>>>                     NATIVELSBSTRING   = "Fedora-20"
>>>                     TARGET_SYS    = "arm-oe-linux-gnueabi"
>>>                     MACHINE     = "wandboard-dual"
>>>                     DISTRO    = "monkey"
>>>                     DISTRO_VERSION    = "0.1"
>>>                     TUNE_FEATURES     = "arm armv7a vfp neon
>>>                     callconvention-hard cortexa9"
>>>                     TARGET_FPU    = "vfp-neon"
>>>                     meta-qt5    =
>>>                     "master:485c277940d26e0c96953d8a649a9c84eed0afb8"
>>>                     meta    =
>>>                     "master:4c2ffce2ae32447a1e39877b9bcbc2cc11ddd2fa"
>>>                     meta-fsl-arm    =
>>>                     "master:27b0ffc33d75f0c37a876849a0db9c0277d5f036"
>>>                     meta-fsl-arm-extra =
>>>                     "master:a7515d4b20e43cfdd8654249fc16ac6b8c5ec3bc"
>>>
>>>                        -- Jacob
>>>
>>>                 Try adding the following to your distro.conf if you
>>>                 are using OpenGL ES 2.0:
>>>                 PACKAGECONFIG_GL_pn-qtbase = "gles2"
>>>
>>>
>>>             I think this is already done by a qtbase_%.bbappend in
>>>             the meta-fsl-arm layer. I do have:
>>>
>>>             [OE jkroon at localhost build]$ bitbake -e qtbase | grep -e
>>>             "^PACKAGECONFIG="
>>>             PACKAGECONFIG=" release udev evdev tools libs openssl
>>>             gles2 jpeg libpng zlib accessibility tslib icu"
>>>
>>>             Could it be that Qt3D and QtLocation requires full
>>>             OpenGL support, and that gles2 is not enough ?
>>>
>>>             -- Jacob
>>             I have built all Qt modules fine with gles2. However,
>>             your PACKAGECONFIG doesn't have "widgets".
>>             I think the QtOpenGL module depends on widgets.
>>
>>         Indeed, adding "widgets" solves the issue, many thanks.
>>         Can we describe this dependency in the recipes somehow ?
>>
>>           -- Jacob
>         "widgets" is added to PACKAGECONFIG by default in meta-qt5.
>         You could submit a patch to add a comment for
>         PACKAGECONFIG[widgets] in qtbase.inc.
>
>
>     Something like this ?
>
>     +# needed for qt3d and qtlocation (otherwise do_configure fails to
>     find 'opengl' module, which in turn requires 'widgets')
>      PACKAGECONFIG[widgets] = "-widgets,-no-widgets"
>
Looks okay, though I haven't verified this myself.

>
>
> Would it not be possible to write the recipe so that it depends on 
> just the mkspec/dev packages that are actually used in the target image ?
>
I can't think of a good way to do that at the moment though there has 
been some minimal discussion about improving the SDK generation:
http://article.gmane.org/gmane.comp.handhelds.openembedded.core/48084
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5429

Regards,
Jonathan




More information about the Openembedded-devel mailing list