[oe] [meta-qt5] [rocko] qtbase fails at do_compile for i.MX7

Denys Dmytriyenko denis at denix.org
Mon Jan 15 19:28:26 UTC 2018


Quoting someone from irc:
"this is an error introduced by meta-fsl"
"honestly, meta-fsl is a mistery for me"


On Sat, Jan 13, 2018 at 08:01:30PM +0330, Isaac Nickaein wrote:
> Hi,
> 
> I've been trying to build the qt5 using meta-qt5 layer for Colibri
> i.MX7 modules.
> I've cloned meta-oe and related layers on rocko branch and also
> meta-qt5. The list of all layers are mentioned down below.
> 
> The compile error I am getting is apparently related to
> mis-configuration of recipes that don't exactly know the i.MX7
> hardware. For instance:
> 
> /opt/yocto/rocko-poky/poky/build-saba/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.9.3+gitAUTOINC+4d8ae444c2-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:146:10:
> fatal error: X11/Xlib.h: No such file or directory
>  #include <X11/Xlib.h>
>           ^~~~~~~~~~~~
> compilation terminated.
> Makefile:621: recipe for target '.obj/qeglstreamconvenience.o' failed
> 
> 
> Apparently something is wrong with Qt 5 configuration which tries to
> use X11 while I have removed it.
> 
> I've tried various settings in my setup but none of them help to
> resolve the issue.
> I think there is a problem either in meta-oe or meta-qt5 that
> mis-configures the qt build.

Actually, the problem is in your mis-understanding of the different 
configuration parameters - see below.


> Here is the conf/local.conf:
> 
> MACHINE = "colibri-imx6"
> DISTRO = "poky"
> 
> PACKAGECONFIG_remove = " x11 wayland wifi 3g bluetooth irda nfc ipv6
> largefile pam pci pcmcia ppp smbfs"

Well, PACKAGECONFIG is a per-recipe variable. Each recipe defines own set of 
those. You cannot just globally tweak them like this from local.conf.


> DISTRO_FEATURES_remove = " x11 wayland wifi 3g bluetooth irda nfc ipv6
> largefile pam pci pcmcia ppp smbfs"
> 
> PACKAGECONFIG_append_pn-qtbase = " gles2 eglfs linuxfb "
> 
> DISTRO_FEATURES_append = " opengles2 egl"

These are not the standard distro features! (*) Adding them here won't do 
anything to qtbase. There is, however, standard "opengl" distro feature, which 
qtbase_git.bb recipe tries to honor. But since you only need "gles2" and not 
full desktop "gl", you can do PACKAGECONFIG_GL_pn-qtbase = "gles2 linuxfb" to 
tweak it. You may still need "opengl" DISTRO_FEATURES, as many recipes require 
it even for "gles2" support.

* theoretically, distros may potentially extend the list and add own features.


Anyway, you can check what the resulting PACKAGECONFIG list looks like for 
qtbase by inspecting the environment:

$ bitbake qtbase -e | grep "^PACKAGECONFIG="



> Here is the bblayers.conf:
> 
> 
> BBLAYERS ?= " \
>   ${BSPDIR}/meta \
>   ${BSPDIR}/meta-poky \
>   ${BSPDIR}/meta-openembedded/meta-oe \
>   ${BSPDIR}/meta-openembedded/meta-python \
>   ${BSPDIR}/meta-openembedded/meta-networking \
>   ${BSPDIR}/meta-openembedded/meta-webserver \
>   ${BSPDIR}/meta-freescale \
>   ${BSPDIR}/meta-freescale-3rdparty \
>   ${BSPDIR}/meta-freescale-distro \
>   ${BSPDIR}/meta-toradex-bsp-common \
>   ${BSPDIR}/meta-toradex-nxp \
>   ${BSPDIR}/meta-swupdate \
>   ${BSPDIR}/meta-qt5 \
> "
> 
> 
> qtbase configuration log:
> https://pastebin.com/GLv04BAZ
> 
> qtbase compile log (with errors):
> https://pastebin.com/JxnRx6nT
> 
> Here is the env variables (outptut of bitbake -e qtbase):
> http://www.pastebin.xyz/p?q=eEIyNW8
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list