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 <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle
2026-05-22 20:21:32 +01:00
parent 6cfb3f910e
commit 0b853f68d9
+3 -1
View File
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-base PKG_NAME:=gst1-plugins-base
PKG_VERSION:=1.26.4 PKG_VERSION:=1.26.4
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-base PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-base
@@ -139,6 +139,8 @@ MESON_ARGS += \
$(call GST_COND_SELECT,encoding) \ $(call GST_COND_SELECT,encoding) \
$(call GST_COND_SELECT,gio) \ $(call GST_COND_SELECT,gio) \
-Dgl=$(if $(CONFIG_PACKAGE_libgst1gl),en,dis)abled \ -Dgl=$(if $(CONFIG_PACKAGE_libgst1gl),en,dis)abled \
-Dgl_api=gles2 \
-Dgl_platform=egl \
$(call GST_COND_SELECT,overlaycomposition) \ $(call GST_COND_SELECT,overlaycomposition) \
$(call GST_COND_SELECT,pbtypes) \ $(call GST_COND_SELECT,pbtypes) \
$(call GST_COND_SELECT,playback) \ $(call GST_COND_SELECT,playback) \