Unable to cross-compile gst-omx
Describe your issue
Expected Behavior
Observed Behavior
Setup
- Operating System: Synology Linux DSM version 6.x and 7.x
- Device: NAS
- GStreamer Version: 1.20.2
- Command line: N/A
Steps to reproduce the bug
Configuration step below. Note that it fails at every arch (armv5, v7, v8, ppc, i686 and x64).
===> Extracting for gst-omx
tar -xJpf /home/spksrc/gstreamer/spksrc/cross/gst-omx/../../distrib/gst-omx-1.20.2.tar.xz -C /home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1
===> Patching for gst-omx
===> Configuring for gst-omx
===> - Configure ARGS: -Dbuildtype=release --cross-file /home/spksrc/gstreamer/spksrc/mk/meson/x86_64.cfg
===> - Install prefix: /usr/local/gst-omx
===> - Install prefix [var]: /usr/local/gst-omx/var
===> - Meson configure
===> - Dependencies = cross/gstreamer cross/gst-plugins-base
===> - Build path = /home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/gst-omx-1.20.2/builddir
===> - Configure ARGS = -Dbuildtype=release --cross-file /home/spksrc/gstreamer/spksrc/mk/meson/x86_64.cfg
===> - Install prefix = /usr/local/gst-omx
cd /home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/gst-omx-1.20.2 && env PARALLEL_MAKE=max PKG_CONFIG=/usr/bin/pkg-config PKG_CONFIG_LIBDIR=/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/install//usr/local/gst-omx/lib/pkgconfig WORK_DIR=/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1 INSTALL_PREFIX=/usr/local/gst-omx TC=syno-x64-6.1 LD="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld" LDSHARED="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -shared" CPP="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-cpp" NM="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-nm" CC="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc" AS="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-as" RANLIB="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib" CXX="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++" AR="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ar" STRIP="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-strip" OBJDUMP="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-objdump" READELF="/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-readelf" CFLAGS="-I/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/install//usr/local/gst-omx/include " CPPFLAGS="-I/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/install//usr/local/gst-omx/include " CXXFLAGS="-I/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/install//usr/local/gst-omx/include " LDFLAGS="-L/home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/lib -L/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/install//usr/local/gst-omx/lib -Wl,--rpath-link,/home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/install//usr/local/gst-omx/lib -Wl,--rpath,/usr/local/gst-omx/lib " meson builddir -Dprefix=/usr/local/gst-omx -Dbuildtype=release --cross-file /home/spksrc/gstreamer/spksrc/mk/meson/x86_64.cfg
The Meson build system
Version: 0.62.1
Source dir: /home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/gst-omx-1.20.2
Build dir: /home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/gst-omx-1.20.2/builddir
Build type: cross build
Project name: gst-omx
Project version: 1.20.2
C compiler for the host machine: /home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc (gcc 4.9.3 "x86_64-pc-linux-gnu-gcc (crosstool-NG 1.20.0) 4.9.3 20150311 (prerelease)")
C linker for the host machine: /home/spksrc/gstreamer/spksrc/toolchain/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc ld.bfd 1.20.0
C compiler for the build machine: cc (gcc 8.3.0 "cc (Debian 8.3.0-6) 8.3.0")
C linker for the build machine: cc ld.bfd 2.31.1
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29)
Run-time dependency gstreamer-1.0 found: YES 1.20.2
Run-time dependency gstreamer-base-1.0 found: YES 1.20.2
Run-time dependency gstreamer-controller-1.0 found: YES 1.20.2
Run-time dependency gstreamer-allocators-1.0 found: YES 1.20.2
Run-time dependency gstreamer-pbutils-1.0 found: YES 1.20.2
Run-time dependency gstreamer-audio-1.0 found: YES 1.20.2
Run-time dependency gstreamer-fft-1.0 found: YES 1.20.2
Run-time dependency gstreamer-tag-1.0 found: YES 1.20.2
Run-time dependency gstreamer-video-1.0 found: YES 1.20.2
Found CMake: NO
Run-time dependency gstreamer-gl-1.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency gstreamer-gl-1.0
Neither a subproject directory nor a gst-plugins-base.wrap file was found.
Subproject gst-plugins-base is buildable: NO (disabling)
Dependency gstreamer-gl-1.0 from subproject gst-plugins-base found: NO (subproject failed to configure)
Run-time dependency x11 found: NO (tried pkgconfig and cmake)
Run-time dependency gstreamer-check-1.0 found: YES 1.20.2
Library m found: YES
Run-time dependency glib-2.0 found: YES 2.66.4
Run-time dependency gio-2.0 found: YES 2.66.4
Run-time dependency gmodule-2.0 found: YES 2.66.4
meson.build:227:2: ERROR: Problem encountered: Unsupported omx target specified. Use the -Dtarget option
A full log can be found at /home/spksrc/gstreamer/spksrc/cross/gst-omx/work-x64-6.1/gst-omx-1.20.2/builddir/meson-logs/meson-log.txt
make[2]: *** [../../mk/spksrc.cross-meson.mk:28: meson_configure_target] Error 1
make[2]: Leaving directory '/home/spksrc/gstreamer/spksrc/cross/gst-omx'
make[1]: *** [../../mk/spksrc.cross-cc.mk:111: build-arch-x64-6.1] Error 1
make[1]: Leaving directory '/home/spksrc/gstreamer/spksrc/cross/gst-omx'
make: *** [../../mk/spksrc.cross-cc.mk:106: arch-x64-6.1] Error 2
How reproducible is the bug?
Really using spksrc SynoCommunity framework. Part of undergoing PR to provide gstreamer package https://github.com/SynoCommunity/spksrc/pull/5298
Solutions you have tried
I'm able to cross-compile every single "standard" gstreamer sources (including gst-plugins-* & rtsp-server) using that exact same recipe. But it fails for omx.