A. Precompiled Toolchains: Easy-to-Deploy

August 31, 2024 · View on GitHub

Raspberry Pi Toolchains(raspberry-pi-cross-compilers): This project provides latest automated GCC Cross Compiler & Native (ARM & ARM64) build-scripts and precompiled standalone toolchains for Raspberry Pi.

Copyright (C) 2020 Abhishek Thakur(@abhiTronix) abhi.una12@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

-->

Raspberry Pi Toolchains Logo

Latest CI maintained Precompiled Standalone ARM & ARM64 Toolchains for Raspberry Pi SBCs

CI Builder Pi[0-1] CI Builder Pi[2-3] CI Builder Pi[3+] CI Builder Pi[64] CI Builder Pi[Desktop] CI Docs Deployer

ko-fi

License GitHub release (latest by date) Downloads

 

Table of Contents 📑

 

 

TL'DR 🕵️

What is this project?

This project provides the Latest, CI maintained, Precompiled Raspberry Pi CPU optimized GCC Cross & Native (ARM & ARM64) Compressed Standalone Toolchains, that is fastest to setup and saves you tons of time and helps you to get quickly started with software development on Pi.

Who will benefit from the project?

This project benefits everyone, from Professional Devs to a college research Student, looking for latest Easy-to-Deploy precompiled GCC toolchains for their Hobby Raspberry Pi project(s).

 

 

Latest v3.0+ Release SneekPeak 🍩

  • ☑️ Latest GCC 14.2.0 toolchains available.
  • ☑️ Automated CI maintained GCC standalone ARM & ARM64 toolchains.
  • ☑️ Hardcoded paths free both Cross & Native Raspbian Bookworm OS (Debian 12) toolchains available.
  • ☑️ Separate binaries for each Raspberry Pi variant (including latest Raspberry Pi 5).
  • ☑️ PIGZ-TAR Compressed Binaries available with maximum possible compression.
  • ☑️ Exclusive ARM64 & AARCH64 Binaries for Raspberry Pi 64-Bit kernel OS flavors.
  • ☑️ Open-sourced Toolchains build-scripts are also available.
  • ☑️ Comprehensive Guide for Cross-compile Latest QT for any Raspberry Pi variant/model available
  • ☑️ Latest GDB Debugger v15.1 included in all binaries.

 

 

A. Precompiled Toolchains: Easy-to-Deploy

This project now utilizes powerful Github Actions CI(Continuous Integration) to auto-compile Compressed GCC Cross & Native ARM & ARM64 Toolchain binaries and thereby auto-deploy them to SourceForge repository.

Workflow

 

📥 Toolchain Downloads

Our pre-compiled TAR-PIGZ compressed and OS-targeted GCC Toolchain binaries can easily be downloaded from the project's SourceForge Repository or by clicking the links provided in the following table:

Download Raspberry Pi GCC Toolchains

Note

  • Host OS: on which the toolchain is executed/used.
  • Target OS: for which the toolchain generates code.

Warning

The Stretch (Debian Version 9) 32-bit/64-bit toolchains are no longer supported!

ToolchainsHost OSTarget OSCurrent StatusPrecompiled GCC versions available
Raspberry Pi GCC Cross-Compiler Toolchains (Buster)any x64/x86 Linux machineBuster 32-bit OS (Debian Version 10) onlyStable/Production8.3.0, 10.2.0, 12.2.0, 13.3.0, 14.2.0
Raspberry Pi GCC Cross-Compiler Toolchains (Bullseye)any x64/x86 Linux machineBullseye 32-bit OS (Debian Version 11) onlyStable/Production10.2.0, 12.2.0, 13.3.0, 14.2.0
Raspberry Pi GCC Cross-Compiler Toolchains (Bookworm)any x64/x86 Linux machineBookworm 32-bit OS (Debian Version 12) onlyStable/Production12.2.0, 13.3.0, 14.2.0
Raspberry Pi GCC Native-Compiler Toolchains (Buster)Buster 32-bit OS (Debian Version 10) onlyBuster 32-bit OS (Debian Version 10) onlyStable/Production13.3.0, 14.2.0
Raspberry Pi GCC Native-Compiler Toolchains (Bullseye)Bullseye 32-bit OS (Debian Version 11) onlyBullseye 32-bit OS (Debian Version 11) onlyStable/Production13.3.0, 14.2.0
Raspberry Pi GCC Native-Compiler Toolchains (Bookworm)Bookworm 32-bit OS (Debian Version 12) onlyBookworm 32-bit OS (Debian Version 12) onlyStable/Production13.3.0, 14.2.0
Raspberry Pi GCC 64-Bit Cross-Compiler Toolchains (Buster)any x64/x86 Linux machineBuster 64-bit OS (Debian Version 10) onlyStable/Production8.3.0, 10.2.0, 12.2.0, 13.3.0, 14.2.0
Raspberry Pi GCC 64-Bit Cross-Compiler Toolchains (Bullseye)any x64/x86 Linux machineBullseye 64-bit OS (Debian Version 11) onlyStable/Production10.2.0, 12.2.0, 13.3.0, 14.2.0
Raspberry Pi GCC 64-Bit Cross-Compiler Toolchains (Bookworm)any x64/x86 Linux machineBookworm 64-bit OS (Debian Version 12) onlyStable/Production12.2.0, 13.3.0, 14.2.0
Raspberry Pi GCC 64-Bit Native-Compiler Toolchains (Buster)Buster 64-bit OS (Debian Version 10) onlyBuster 64-bit OS (Debian Version 10) onlyStable/Production13.3.0, 14.2.0
Raspberry Pi GCC 64-Bit Native-Compiler Toolchains (Bullseye)Bullseye 64-bit OS (Debian Version 11) onlyBullseye 64-bit OS (Debian Version 11) onlyStable/Production13.3.0, 14.2.0
Raspberry Pi GCC 64-Bit Native-Compiler Toolchains (Bookworm)Bookworm 64-bit OS (Debian Version 12) onlyBookworm 64-bit OS (Debian Version 12) onlyStable/Production13.3.0, 14.2.0
Exclusive/Experimental Toolchainsx86/x86_64 Pi Desktopx86/x86_64 Pi DesktopBeta/Experimental14.2.0 (x86), 14.2.0 (x86_64)

Tip

To get the location of each Binary of this project on SourceForge, you can also check out this Reference Tree.

 

📒 Toolchain Setup Documentation

These precompiled toolchains setup requires just three easy steps - Downloading, Extracting and Linking:

➡️ WIKI-Documentation (en-English)

 

 

B. Build-Script for Developers: Do It Yourself

This project now provides user-friendly open-sourced bash build-scripts that auto-generates Compressed Cross & Native GCC ARM & ARM64 Toolchain binaries targeting Raspberry Pi 32-bit & 64-bit OSes. If you need additional language supportneed to compile another suitable GCC version toolchains for your Raspberry Pi, then you can use these scripts to manually compile any GCC toolchains by running suitable build-scripts yourself through your system terminal.

➡️ All Build-scripts are here

 

 

C. Cross-Compiling Latest QT Framework for Pi

Now, there's a steps-by-step guide available to cross-compile Latest QT for any Raspberry Pi variant/model available, using the Raspberry Pi Toolchains available with this project:

➡️ Step-by-Step Instruction for Cross-Compiling Latest QT Framework for Raspberry Pi

 

 

D. Supporting this Project

If these binaries helped you big time, please consider supporting it through any size donations. ❤️

Donate

ko-fi

Also please share your thoughts or just drop a 🌟.

 

 

E. Bonus: Additional Toolchains Information

Supported Hardwares

  • All Raspberry Pi hardware/versions/models are currently supported.
  • Any other ARM & ARM64 Device (such as Android, other SBCs, IoT etc.) with similar or compatible Hardware architecture(see Optimization Flags), should also work.

 

Supported Programming Languages

  • C++
  • Fortran
  • C
  • Any other language support can be easily compiled.

 

Optimization Flags Involved

These toolchains are built with these following system-specific LTO (Link Time Optimization) flags, therefore you can easily take advantage of your Raspberry Pi's CPU specific features with these Toolchains while compiling your programs:

Raspberry Pi BoardLink Time Optimization Flags
Raspberry Pi - Zero W/WH/2W & 1 Model A/B/A+/B+-march=armv6 -mfloat-abi=hard -mfpu=vfp
Raspberry Pi - 2/3 Model A/B-march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4
Raspberry Pi - 3 Model A+/B+ & 4 Model 400/B & 5 & Compute 3/3-lite/3+/4 (32-Bit)-march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8
Raspberry Pi - 3 Model A+/B+ & 4 Model B 400/B & 5 & Compute 3/3-lite/3+/4 (64-Bit)-march=armv8-a+fp+simd

Note

Raspberry Pi 5: The latest Raspberry Pi 5 uses a Broadcom BCM2711 SoC with a 2.4GHz 64-bit Quad-core Arm Cortex-A76 processor, that also have armv8-a architecture similar to Raspberry Pi 4, therefore it is also officially supported!

 

 

F. Citation

Here is a Bibtex entry you can use to cite this project in a publication:

@misc{raspberry-pi-cross-compilers,
    Title = {Raspberry Pi Toolchains},
    Author = {Abhishek Thakur},
    howpublished = {\url{https://github.com/abhiTronix/raspberry-pi-cross-compilers}},
    year = {2020}  
  }

 

 

G. License

Copyright © 2020 abhiTronix

This Project source-code and its precompiled binaries are licensed under the GPLv3 license.

 

 

H. Acknowledgments

Thank you,