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

Holger Böhnke gstreamer at biz.amarin.de
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 https://github.com/GStreamer/gstreamer.git
# 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/meson.build 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


[build_machine]
system = 'linux'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

[binaries]
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']

[host_machine]
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']

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




More information about the gstreamer-devel mailing list