cross-compiling gstream for armhf gives Error: selected FPU does not support instruction -- `vmul.f32 q8,q0,q2'

Holger Böhnke gstreamer at
Wed Apr 19 15:25:34 UTC 2023

Hi Jonas,

thanks for your quick response. I tried with armv7hf, which, while it 
did no harm, unfortunately did not fix the problem. But your suggestion 
triggered another idea and with an explicit -mfpu=neon at least the 
compile went trough.

Interesting however that the cross-compile works for you. Maybe I still 
miss a step? Or my build env is somewhat outdated, because for legacy 
reasons the target system is debian 10 and we build everything in a deb 
10 docker container. What I did:

git clone
# cp cross file amdhf.txt into gstreamer dir
cd gstreamer
meson setup builddir --cross-file amdhf.txt
meson compile -C builddir

After cloning I had to patch 
subprojects/gst-plugins-bad/sys/nvcodec/ and add a dependency 
to threads: dependency('threads'). I happily provide a patch to the 
gstreamer project for that.

Anyway, the build seems to work and I now have to test on the device. 
For the records I attached the new cross-compile file (amdhf.txt).

Thanks again for your help

regards Holger

system = 'linux'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

c = ['arm-linux-gnueabihf-gcc']
cpp = ['arm-linux-gnueabihf-g++']
ar = ['arm-linux-gnueabihf-ar']
pkgconfig = 'pkg-config'
strip = ['arm-linux-gnueabihf-strip']
cmake = ['false']
#pkgconfig = ['arm-linux-gnueabihf-pkg-config']

system = 'linux'
cpu_family = 'arm'
cpu = 'armv7hf'
endian = 'little'

[built-in options]
c_args = ['-mfpu=neon']
cpp_args = ['-mfpu=neon']
c_link_args = ['-L/sysroot/lib', '-Wl,-rpath-link=/sysroot/lib']
cpp_link_args = ['-L/sysroot/lib', '-Wl,-rpath-link=/sysroot/lib']

pkg_config_libdir = ['/sysroot/lib/pkgconfig:/sysroot/usr/share/pkgconfig']
sys_root = '/sysroot/'

More information about the gstreamer-devel mailing list