[meta-freescale] [PATCH] gpu-viv-bin-mx6q, mesa: fix virtual/libgl dependencies

Eric Bénard eric at eukrea.com
Thu Jul 18 06:26:32 PDT 2013


Hi Simon,

Le Thu, 18 Jul 2013 15:19:25 +0200,
Simon Braunschmidt <sb at emlix.com> a écrit :

> Fixes [YOCTO #4850]
> 
> findings:
> * meta-fsl-arm/recipes-graphics/mesa/mesa_9.1.3.bbappend is used to
>   delete libGL.* after compilation of mesa
> 
> * ./recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.0.35-4.0.0.bb, via
>   gpu-viv-bin-mx6q.inc, provides its own version of libGL
> 
> * gpu-viv-bin-mx6q does not advertise "virtual/libgl" in "PROVIDES +="
> 
> * but mesa (via mesa.inc) does:
>   PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
> 
> * so the statement in imx-base.inc
>    PREFERRED_PROVIDER_virtual/libgl_mx6 ?= "gpu-viv-bin-mx6q"
>   does not have effect, because mesa is still the only provider
>   of virtual/libgl
> 
> * packages depending on virtual/libgl only get mesa, which will not contain
>   the libGL library
> 
> * in fact, we still use the gl headers from mesa, but the binary blob library
>   from gpu-viv-bin-mx6q (gpu-viv-bin-mx6q does not provide the headers),
>   so a package compiling against GL needs both mesa and gpu-viv-bin-mx6q
> 
> conclusion:
> * so i suggest having gpu-viv-bin-mx6q depend on mesa to draw in the
>   gl header package, advertising "virtual/libgl" for gpu-viv-bin-mx6q
>   via "PROVIDES +=" and not advertising virtual/libgl for mesa via the
>   .bbappend file
> 
> Signed-off-by: Simon Braunschmidt <sb at emlix.com>
> ---
>  .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc          |    4 ++--
>  recipes-graphics/mesa/mesa_9.1.3.bbappend          |    2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
> index b007079..3354854 100644
> --- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
> +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
> @@ -6,8 +6,8 @@ DESCRIPTION = "GPU driver and apps for imx6"
>  SECTION = "libs"
>  LICENSE = "Proprietary"
>  LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3"
> -DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', '', d)}"
> -PROVIDES += "virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
> +DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', '', d)} mesa"
> +PROVIDES += "virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
>  
this may also fix this problem :
| Collected errors:
|  * satisfy_dependencies_for: Cannot satisfy the following
dependencies for packagegroup-core-x11-base: |  *    libgl-mesa (>=
9.0.2) * |  * opkg_install_cmd: Cannot install package
packagegroup-core-x11-base.

Eric



More information about the meta-freescale mailing list