How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?

Matthew Thyer matthew.thyer at adelaide.edu.au
Tue Apr 24 08:09:29 UTC 2018


Greetings gstreamer-devel list,

I'm wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf. I'm doing this in an Ubuntu docker container in an up-to-date Ubuntu 16.04 LTS x86_64 VM to ensure a clean environment.
I see that "config/linux.config" doesn't actually support the hard-float ARMv7 variant and am wondering what would be the correct solution to achieve what I'm after.
The problematic area of "config/linux.config" seems to be lines 39 through 42 which are:
39 if target_arch in [Architecture.ARM, Architecture.ARMv7]:
40     if target_arch == Architecture.ARMv7:
41        arch_flags += ' -march=armv7-a '
42     _host = 'arm-linux-gnueabi'

I think that I need to achieve something like:
arch_flags += ' -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard '
_host = 'arm-linux-gnueabihf'

I guess that Cerbero may need extending to detect the hard-float scenario but have no idea how to do this.
I'm considering just hacking "config/linux.config" to force it to do what I'm after but this is clearly not the "correct" solution.
Can anyone help?

Regards,

---
Matthew Thyer
(08) 8313 9283
4.38 Ingkarni Wardli
Adelaide University

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180424/20be85ac/attachment.html>


More information about the gstreamer-devel mailing list