Your source for static cross- and native- musl-based toolchains.

This is a community website and is not officially endorsed by musl or its authors.

toolchains ( linux, windows, mac, solaris, docker, sources, more... )
xstatic ( distro, kernel, packages, sources )
meta ( config, changelog, matrix )
links ( musl, mingw, risc-v )

Small and reliable pre-built GCC toolchains4 for many architectures.
Cross (i686-hosted) by default. Native for completeness.
Static so they run on supported platforms without dependencies.

This site is curl-friendly for direct links to toolchains!

  $ curl -s musl.cc | grep mips
  https://musl.cc/mips-linux-musl-cross.tgz
  ...

Toolchains are built1 using several modified versions (see below) of musl-cross-make.

For your convenience, Docker images2 are provided and updated regularly:

  $ docker pull muslcc/i686:aarch64-linux-musl

Many thanks to others in the #musl and associated communities for making this site possible.
In particular, Rob Landley, Laurent Bercot (skarnet), and of course Rich Felker (dalias).

Ingredients:

[ Standard: source/config.mak ]
[ MinGW: source/config.mak ]

Toolchains:

Toolchains support the following languages: C, C++, Fortran except where noteda.
They are cryptographically signed with the following key: 0xB1D0B4566FBBDB40

GCC major releases: ( 5, 6, 7, 8, 9, 10 ). **Other toolchains are being rebuilt now after disk failure!**
For non-i686 toolchains, click here. Something else? Contact me.

Error

An error occurred.

Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.

Bugs discovered:

This effort has led to the discovery of several compiler bugs:

Bugs in software found by using these toolchains not shown.

Known issues:

  1. Fortran support is missing from microblaze{,el} cross- and native- toolchains due to an aforementioned bug.
  2. Native SH-2 FDPIC toolchains need to be built with -freorder-blocks-algorithm=simple due to an aforementioned bug.
  3. OpenRISC target: GCC 8 patched forward from gcc-8_2_0-release to 45d0f2 from here (thanks smaeul). GCC 9 includes it.
  4. [meta] Alpine Linux breaks packages between upgrades. Nginx + Lua (for curl support) was broken for a while, sorry.

Other notes:

  1. Hashes and cryptographic signatures3 are provided -- use HTTPS for greater security.
  2. Versions may be bumped up or down without notice if bugs are discovered.
  3. You should pin and reproduce any version of these toolchains yourself -- old binaries might not be archived. Don't trust random third-party binaries :)
  4. Build logs are not provided as toolchains are easily reproduced.
  5. Looking for i686-hosted cross compilers to target Win32? You're in luck: i686/sig and x86_64/sig (built with this).
  6. Native i686- and x86_64- Win32 toolchains. Packaged as .zip for convenience: i686/sig and x86_64/sig (built with this).
  7. If you encounter issues or want to request additional architectures, let me know
You may also be interested in mkroot, a QEMU-based rootfs and kernel builder.

References:

[1]: Toolchains are built using Adélie Linux via these scripts. You can also use this platform-agnostic script.
[2]: Docker images based on the Alpine Linux image for size. Packaged with MacroMμ. x86_64-hosted images no longer updated.
[3]: Validate binaries against my public key.
[4]: Clang/LLVM is on the TODO list. Contributions welcome. Look at ELLCC in the interim.