Bitbake compilation error with imx-gst1.0-plugin_4.4.2

Dear all,

I have a compilation error when I bitbake the package imx-gst1.0-plugin:

../../git/libs/device-2d/imx_2d_device_g2d.c: In function 'imx_g2d_config_input':
| ../../git/libs/device-2d/imx_2d_device_g2d.c:302:23: error: 'G2D_AMPHION_TILED' undeclared (first use in this function); did you mean 'G2D_SUPERTILED'?
| g2d->src.tiling = G2D_AMPHION_TILED;
| ^~~~~~~~~~~~~~~~~
| G2D_SUPERTILED
| ../../git/libs/device-2d/imx_2d_device_g2d.c:302:23: note: each undeclared identifier is reported only once for each function it appears in
| ../../git/libs/device-2d/imx_2d_device_g2d.c: In function 'imx_g2d_blit':
| ../../git/libs/device-2d/imx_2d_device_g2d.c:421:23: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
| src->mem->paddr = paddr;
| ^
| ../../git/libs/device-2d/imx_2d_device_g2d.c:430:23: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
| dst->mem->paddr = paddr;
| ^
| ../../git/libs/device-2d/imx_2d_device_g2d.c:466:26: error: 'G2D_AMPHION_TILED' undeclared (first use in this function); did you mean 'G2D_SUPERTILED'?
| if (g2d->src.tiling == G2D_AMPHION_TILED && src->fd[1] >= 0)
| ^~~~~~~~~~~~~~~~~
| G2D_SUPERTILED
| ../../git/libs/device-2d/imx_2d_device_g2d.c:471:26: error: 'G2D_AMPHION_INTERLACED' undeclared (first use in this function); did you mean 'G2D_AMPHION_TILED'?
| g2d->src.tiling |= G2D_AMPHION_INTERLACED;
| ^~~~~~~~~~~~~~~~~~~~~~
| G2D_AMPHION_TILED

This is my local.conf:

IMAGE_INSTALL_append = " libstdc++ chkconfig glib-networking glibmm \
pkgconfig \
zlib glib-2.0 evtest \
cpufrequtils \
openssh-sftp-server \
imx-vpu \
firmware-imx \
qtbase \
qtmultimedia \
qtmultimedia-plugins \
dbus \
i2c-tools \ 
gstreamer1.0-plugins-imx \
imx-gst1.0-plugin \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0 \
psplash \
u-boot-toradex-fsl-fw-utils \
ntfs-3g-ntfsprogs \
"

Could you please advice ?

Many thanks

Hi

Could you please specify what versions you used for your OE installation. Additionally posting the start of the bitbake output with the build configuration and the git hashes of the used layers.

Max

Dear @max.tx thank you for your reply :

OE installation : community fsl bsp : rocko
Build configuration :

Build Configuration:
BB_VERSION           = "1.36.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal-4.8"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "apalis-imx6"
DISTRO               = "poky"
DISTRO_VERSION       = "2.4.4"
TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU           = "hard"
meta                 
meta-poky            = "HEAD:940da2e688cc6ae3cc3d95842033c3e51bd9fe29"
meta-oe              
meta-multimedia      
meta-filesystems     = "HEAD:eae996301d9c097bcbeb8046f08041dc82bb62f8"
meta-freescale       = "HEAD:61ab34ac6d664a229847b796ec20fd9f7c8ecbf4"
meta-freescale-3rdparty = "HEAD:e71ace9ede9b58f2ed3381a53fdc814f8e963c60"
meta-freescale-distro = "HEAD:51756d1c2058139c8a21f89b86cfd8007b71b7f0"
meta-avt             = "<unknown>:<unknown>"
meta-toradex-nxp     = "rocko:53d4be5b9b8f609ae713e6eea8e935a73f7f7fd6"
meta-toradex-bsp-common = "rocko:b3fe56eec075ccd719b0ec1fde32ad9c37f0cca0"
meta-qt5             = "rocko:d8b531530fa42b59aa0a5b123d87a30d749cbcc4"

Note that meta-avt is a custom layer.

Hi

I just tried. The package builds in our regular angstrom setup.

I see three things to try first:

  • clean the package and retry:
    bitbake imx-gst1.0-plugin imx-gpu-g2d -c cleansstate
    bitbake imx-gst1.0-plugin
  • reorder the layers in conf/bblayers.conf, so that meta-toradex-nxp is before meta-freescale. Then repeat the clean and rebuild step.
  • Delete all buildoutput without deleting sstate. Likely in your poky setup this means deleting build/tmp. (We moved the deploy directory out of tmp, so in the angstrom setup this means deleting build/tmp-glibc and deploy). Then ‘bitbake imx-gst1.0-plugin’ should build mostly from sstate which should go quite fast.

Max

Dear @max.tx,

When I try : bitbake imx-gst1.0-plugin imx-gpu-g2d -c cleansstate, I’ve got the following error:

imx-gpu-g2d was skipped: PREFERRED_PROVIDER_virtual/libg2d set to imx-gpu-viv, not imx-gpu-g2d

Hi

Ok, so then I think you should go to my 2nd proposal.

Max

Hi,

this is my reordered bblayes.conf file :

BBLAYERS = " \
  ${BSPDIR}/sources/poky/meta \
  ${BSPDIR}/sources/poky/meta-poky \
  \
  ${BSPDIR}/sources/meta-openembedded/meta-oe \
  ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
  ${BSPDIR}/sources/meta-openembedded/meta-filesystems \
  \
  ${BSPDIR}/sources/meta-toradex-nxp \
  ${BSPDIR}/sources/meta-toradex-bsp-common \
  \
  ${BSPDIR}/sources/meta-freescale \
  ${BSPDIR}/sources/meta-freescale-3rdparty \
  ${BSPDIR}/sources/meta-freescale-distro \
  \
  ${BSPDIR}/sources/meta-avt \
  \	
  ${BSPDIR}/sources/meta-qt5 \
"

Issue is now :

Multiple versions of imx-gpu-viv are due to be built (/home/vincent/dev/fsl-community-bsp/sources/meta-toradex-nxp/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.8-aarch32.bb /home/vincent/dev/fsl-community-bsp/sources/meta-freescale/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p8.6-hfp.bb). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_imx-gpu-viv to select the correct version or don't depend on multiple versions.

imx-gpu-viv_5.0.11.p8.6-hfp.bb

That -hfp sounds rather dubious. I don’t think our regular build does that. Did you change that or where is that coming from?

Adhering to our order of layers may or may not work:

http://git.toradex.com/cgit/meta-toradex-demos.git/tree/buildconf/bblayers.conf?h=rocko