[OE-core] [PATCH v2 1/2] mesa: Avoid platform probing when building without EGL

Jussi Kukkonen jussi.kukkonen at intel.com
Mon Jul 10 08:14:13 UTC 2017


On 8 July 2017 at 18:34, Andrea Galbusera <gizero at gmail.com> wrote:

> Hi!
>
> On Mon, Jul 3, 2017 at 10:02 PM, Otavio Salvador <otavio at ossystems.com.br>
> wrote:
>
>> The 17.1.2 release has changed the platform setting and when not
>> explicitly disabled it assumes x11 support.
>>
>> Fixes:
>>
>> | checking for x11-xcb xcb xcb-dri2 >= 1.8 xcb-xfixes... no
>> | configure: error: Package requirements (x11-xcb xcb xcb-dri2 >= 1.8
>> xcb-xfixes) were not met:
>> |
>> | No package 'x11-xcb' found
>> | No package 'xcb' found
>> | No package 'xcb-dri2' found
>> | No package 'xcb-xfixes' found
>> |
>> | Consider adjusting the PKG_CONFIG_PATH environment variable if you
>> | installed software in a non-standard prefix.
>> |
>> | Alternatively, you may set the environment variables XCB_DRI2_CFLAGS
>> | and XCB_DRI2_LIBS to avoid the need to call pkg-config.
>> | See the pkg-config man page for more details.
>>
>> The issue has been exposed by meta-freescale BSP. Fix tested with
>> imx6qsabresd machine.
>>
>> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
>> ---
>>
>> Changes in v2:
>> - new patch
>>
>>  meta/recipes-graphics/mesa/mesa.inc | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-graphics/mesa/mesa.inc
>> b/meta/recipes-graphics/mesa/mesa.inc
>> index 41747cffc8..a12ab7ab5b 100644
>> --- a/meta/recipes-graphics/mesa/mesa.inc
>> +++ b/meta/recipes-graphics/mesa/mesa.inc
>> @@ -49,7 +49,7 @@ PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2,
>> --disable-gles1 --disable-
>>  EGL_PLATFORMS  = "drm"
>>  EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'x11', ',x11',
>> '', d)}"
>>  EGL_PLATFORMS .="${@bb.utils.contains('PACKAGECONFIG', 'wayland',
>> ',wayland', '', d)}"
>> -PACKAGECONFIG[egl] = "--enable-egl --with-platforms=${EGL_PLATFORMS},
>> --disable-egl"
>> +PACKAGECONFIG[egl] = "--enable-egl --with-platforms=${EGL_PLATFORMS},
>> --disable-egl --with-platforms=''"
>>
>>  PACKAGECONFIG[etnaviv] = ""
>>  PACKAGECONFIG[imx] = ""
>> --
>> 2.13.2
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>
>
> After merging this patch (as per current poky master), builds for
> MACHINE=raspberrypi3 with meta-raspberrypi fail complaining like this:
>
> | checking for x11 xext xdamage >= 1.1 xfixes x11-xcb xcb xcb-glx >= 1.8.1
> xcb-dri2 >= 1.8 xxf86vm... yes
> | checking for wayland-scanner... no
> | configure: error: Building without the x11 platform as GLX is enabled,
> is not supported
> | NOTE: The following config.log files may provide further information.
> | NOTE: /home/gizero/work/smartliving/distro/repo-master/build-poky/
> tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mesa-
> gl/2_17.1.4-r0/build/config.log
> | ERROR: configure failed
> | WARNING: exit code 1 from a shell command.
> | ERROR: Function failed: do_configure (log file is located at
> /home/gizero/work/smartliving/distro/repo-master/build-poky/
> tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mesa-gl/2_17.
> 1.4-r0/temp/log.do_configure.11176)
>
> I know very little about graphical stacks since I use these systems mostly
> headless. Can anyone have a look into it? BTW, without this only commit,
> the build runs to the end with no other errors.
>

I think --enable-egl and --with-platforms should not be behind a single
packageconfig. Like the upstream commit says "Platform selection does not
depend on EGL".

Possibly something like

---
PLATFORMS ?= "surfaceless \
                            ${@bb.utils.contains('PACKAGECONFIG', 'gbm',
',drm', '', d)} \
                            ${@bb.utils.filter('PACKAGECONFIG', 'x11
wayland', d)} \
"
EXTRA_OECONF = "--with-platforms=${PLATFORMS} ..."
---

This should end up with a reasonable set by default and would allow e.g.
meta-raspberrypi to override the variable if needed (I don't think they
would need to but they could).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170710/775b0531/attachment-0002.html>


More information about the Openembedded-core mailing list