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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

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

Matthew Thyer

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?





Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University


gstreamer-devel mailing list
[hidden email]