Ubuntu 20.04 build errors out for gst-libav after latest commit
The below issue blocks compilation of GStreamer starting today. Most likely caused by !74 (merged).
[4261/6905] Linking target subprojects/FFmpeg/test_avutil_lzo
FAILED: subprojects/FFmpeg/test_avutil_lzo
cc -o subprojects/FFmpeg/test_avutil_lzo subprojects/FFmpeg/test_avutil_lzo.p/libavutil_tests_lzo.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group subprojects/FFmpeg/libavutil-static.a -pthread -lm -lva -lva-drm -lva -lva-x11 -lX11 -lva -latomic -lva -lva-drm -lva -lva-x11 -lX11 -lva -latomic -Wl,--end-group
/usr/bin/ld: subprojects/FFmpeg/test_avutil_lzo.p/libavutil_tests_lzo.c.o: in function `main':
/tmp/gstreamer/builddir/../subprojects/FFmpeg/libavutil/tests/lzo.c:48: undefined reference to `lzo1x_1_compress'
/usr/bin/ld: /tmp/gstreamer/builddir/../subprojects/FFmpeg/libavutil/tests/lzo.c:56: undefined reference to `lzo1x_999_compress'
/usr/bin/ld: /tmp/gstreamer/builddir/../subprojects/FFmpeg/libavutil/tests/lzo.c:52: undefined reference to `lzo1x_1_12_compress'
/usr/bin/ld: /tmp/gstreamer/builddir/../subprojects/FFmpeg/libavutil/tests/lzo.c:54: undefined reference to `lzo1x_1_15_compress'
/usr/bin/ld: /tmp/gstreamer/builddir/../subprojects/FFmpeg/libavutil/tests/lzo.c:50: undefined reference to `lzo1x_1_11_compress'
collect2: error: ld returned 1 exit status
[4310/6905] Generating 'subprojects/FFmpeg/libavcodec-static.a.p/vp9itxfm.o'.
ninja: build stopped: subcommand failed.
export GSTREAMER_VERSION=1.20.4
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git && cd gstreamer && git checkout ${GSTREAMER_VERSION}
cd /src/gstreamer && \
mkdir -p /opt/gstreamer && \
meson --prefix /opt/gstreamer -Dgpl=enabled -Dugly=enabled -Dgst-plugins-ugly:x264=enabled -Dgst-plugins-bad:va=enabled -Dvaapi=enabled -Dvaapi:encoders=true -Dvaapi:drm=true builddir && \
ninja -C builddir && \
meson install -C builddir
Ubuntu 20.04 with libav included.
[4322/6806] Linking target subprojects/FFmpeg/test_avutil_lzo
FAILED: subprojects/FFmpeg/test_avutil_lzo
cc -o subprojects/FFmpeg/test_avutil_lzo subprojects/FFmpeg/test_avutil_lzo.p/libavutil_tests_lzo.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group subprojects/FFmpeg/libavutil-static.a -pthread -lm -latomic -latomic -Wl,--end-group
/usr/bin/ld: subprojects/FFmpeg/test_avutil_lzo.p/libavutil_tests_lzo.c.o: in function `main':
/tmp/gstreamer/builddir2/../subprojects/FFmpeg/libavutil/tests/lzo.c:48: undefined reference to `lzo1x_1_compress'
/usr/bin/ld: /tmp/gstreamer/builddir2/../subprojects/FFmpeg/libavutil/tests/lzo.c:56: undefined reference to `lzo1x_999_compress'
/usr/bin/ld: /tmp/gstreamer/builddir2/../subprojects/FFmpeg/libavutil/tests/lzo.c:52: undefined reference to `lzo1x_1_12_compress'
/usr/bin/ld: /tmp/gstreamer/builddir2/../subprojects/FFmpeg/libavutil/tests/lzo.c:54: undefined reference to `lzo1x_1_15_compress'
/usr/bin/ld: /tmp/gstreamer/builddir2/../subprojects/FFmpeg/libavutil/tests/lzo.c:50: undefined reference to `lzo1x_1_11_compress'
collect2: error: ld returned 1 exit status
[4371/6806] Generating 'subprojects/FFmpeg/libavcodec-static.a.p/vp9itxfm.o'.
ninja: build stopped: subcommand failed.
meson --prefix /opt/gstreamer -Dgpl=enabled -Dugly=enabled -Dgst-plugins-ugly:x264=enabled builddir && \
ninja -C builddir && \
meson install -C builddir
Without the VA-API components.
Example environments:
https://github.com/selkies-project/selkies-gstreamer/blob/gst-1.21/addons/gstreamer/Dockerfile
https://github.com/selkies-project/selkies-gstreamer/blob/master/addons/gstreamer/Dockerfile