gstreamer-vaapi: missing libva subproject when running meson setup with --wrap-mode=forcefallback
GStreamer v1.22.8 fails to build when trying to build gstreamer-vaapi with --wrap-mode=forcefallback.
This seems to be because the current 1.22 branch of GStreamer has a gstreamer-vaapi subproject that requires a libva subproject as a fallback. The libva subproject has not been implemented yet in the 1.22 release and therefore Meson setup fails.
There does appear to be a libva.wrap file in the main branch at this time but it has not been merged into the v1.22 branch yet.
This has been tested on Debian 11
Steps to reproduce the bug
- Download the GStreamer v1.22.8 tarball
gstreamer-1.22.8.tar.gz
from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tags - Extract the tarball.
- Change to the source directory.
- Run
meson subprojects download
. - Run
meson setup --wrap-mode=forcefallback -Dfreetype2:harfbuzz=disabled -Dvaapi=enabled build
- The following output is displayed:
Executing subproject gstreamer-vaapi
gstreamer-vaapi| Project name: gstreamer-vaapi
gstreamer-vaapi| Project version: 1.22.8
gstreamer-vaapi| C compiler for the host machine: cc (gcc 10.2.1 "cc (Debian 10.2.1-6) 10.2.1 20210110")
gstreamer-vaapi| C linker for the host machine: cc ld.bfd 2.35.2
gstreamer-vaapi| Compiler for C supports link arguments -Wl,-Bsymbolic-functions: YES (cached)
gstreamer-vaapi| Compiler for C supports arguments -fvisibility=hidden: YES (cached)
gstreamer-vaapi| Compiler for C supports arguments -fno-strict-aliasing: YES (cached)
gstreamer-vaapi| Library m found: YES
gstreamer-vaapi| Dependency gstreamer-1.0 found: YES 1.22.8 (overridden)
gstreamer-vaapi| Dependency gstreamer-base-1.0 found: YES 1.22.8 (overridden)
gstreamer-vaapi| Dependency gstreamer-pbutils-1.0 found: YES 1.22.8 (overridden)
gstreamer-vaapi| Dependency gstreamer-allocators-1.0 found: YES 1.22.8 (overridden)
gstreamer-vaapi| Dependency gstreamer-video-1.0 found: YES 1.22.8 (overridden)
gstreamer-vaapi| Dependency gstreamer-codecparsers-1.0 found: YES 1.22.8 (overridden)
gstreamer-vaapi| Dependency gstreamer-gl-1.0 from subproject subprojects/gst-plugins-base found: NO
gstreamer-vaapi| Message: GStreamer debug system is enabled
gstreamer-vaapi| Looking for a fallback subproject for the dependency libva because:
gstreamer-vaapi| Use of fallback dependencies is forced.
subprojects/gstreamer-vaapi/meson.build:82:0: ERROR: Subproject "subprojects/libva" required but not found.
Edited by Kevin Rossouw