[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