[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