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