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

Nicolas Dufresne nicolas at ndufresne.ca
Wed Apr 19 19:41:58 UTC 2023


Le mercredi 19 avril 2023 à 17:25 +0200, Holger Böhnke via gstreamer-devel a
écrit :
> 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:
> 
Its quite likely this depends on how the cross toolchain was built.

Nicolas

> 
> 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