gst1-plugins-base: pin GStreamer GL to the GLES2/EGL API
authorDaniel Golle <redacted>
Fri, 22 May 2026 19:21:32 +0000 (20:21 +0100)
committerDaniel Golle <redacted>
Mon, 1 Jun 2026 23:32:31 +0000 (00:32 +0100)
commit0b853f68d90a833f36f390cd3854110a177fbb50
tree6761a4428e8fbe03de8f6ac148ec9f1aee1fe0cf
parent6cfb3f910e6698f0960bedcdcd776c68c8d6d949
gst1-plugins-base: pin GStreamer GL to the GLES2/EGL API

The 'gl_api' meson option was left at its 'auto' default, so the
GL plugin probed for desktop OpenGL. OpenWrt's Mesa is built with
-Dglx=disabled and -Dglvnd=disabled on every target, so it ships
no linkable desktop-GL library (no libGL.so, no gl.pc) - desktop
GL is only reachable through EGL. With nothing to satisfy the
probe in the sysroot, meson's cc.find_library('GL') fallback
escaped into the build host's /usr/lib and, on a host that has a
desktop libGL installed, put that foreign library on the link
line, breaking the cross link with:

  mold: fatal: /usr/lib/libGL.so: incompatible file type:
  riscv64 is expected but got x86_64

Pin -Dgl_api=gles2 and -Dgl_platform=egl to match what Mesa
actually provides (libGLESv2 + libEGL). This is correct on every
target, including x86_64: the desktop-GL link path was never
functional on OpenWrt and only ever "succeeded" by picking up a
host library.

Signed-off-by: Daniel Golle <redacted>
multimedia/gst1-plugins-base/Makefile
git clone https://git.99rst.org/PROJECT