Hermetic GCC toolchains with Sovereign RPATH. Portable binaries across distributions.
913
Hermetic, portable GCC toolchains with Sovereign RPATH binaries
Self-contained GCC compiler toolchains built from source with embedded library search paths. Binaries produced by these compilers work across Linux distributions without LD_LIBRARY_PATH.
# Pull the latest GCC 15.2.0
docker pull daryltucker/gcc:15.2.0
# Compile a program
docker run --rm -v $(pwd):/work -w /work daryltucker/gcc:15.2.0 \
/opt/toolchains/gcc-15.2.0/*/bin/gcc -o hello hello.c
# Run it (no LD_LIBRARY_PATH needed)
./hello
Every toolchain is built from source with all dependencies self-contained. No host system libraries, no distribution-specific quirks.
Binaries created by these compilers have embedded library search paths. They work on bare systems without environment configuration.
Each image includes:
| Tag | GCC | Glibc | Binutils | Notes |
|---|---|---|---|---|
15.2.0 | 15.2.0 | 2.42 | 2.44 | Latest stable |
14.2.0 | 14.2.0 | 2.40 | 2.43 | |
13.3.0 | 13.3.0 | 2.38 | 2.41 | |
12.4.0 | 12.4.0 | 2.38 | 2.40 | |
10.2.0 | 10.2.0 | 2.38 | 2.40 | |
9.5.0 | 9.5.0 | 2.38 | 2.40 |
| Tag | Architecture | Optimizations |
|---|---|---|
13.3.0-legion_s7 | AMD Zen 3 | -march=znver3 -mtune=znver3 |
12.4.0-rpi5 | ARM Cortex-A76 | Raspberry Pi 5 optimized |
| Tag | Target | Use Case |
|---|---|---|
12.4.0-aarch64 | ARM 64-bit | General aarch64 |
7.2.0-powerpc_ps3_ppu_v7 | PowerPC64 BE | PS3 Linux (PPU) |
9.5.0-powerpc_ps3_spu_v9 | SPU | PS3 bare-metal (SPU) |
docker run --rm -v $(pwd):/work -w /work daryltucker/gcc:15.2.0 \
/opt/toolchains/gcc-15.2.0/*/bin/gcc -O2 -o myapp myapp.c
docker run --rm -v $(pwd):/work -w /work daryltucker/gcc:12.4.0-rpi5 \
/opt/toolchains/gcc-12.4.0_rpi5/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc \
-o hello-rpi hello.c
docker run -it --rm -v $(pwd):/work -w /work daryltucker/gcc:15.2.0 bash
# Inside container:
export PATH=/opt/toolchains/gcc-15.2.0/x86_64-linux-gnu/bin:$PATH
gcc --version
daryltucker/gcc:{HOST_ARCH}-{VERSION}[-{PROFILE}]-{TARGET_ARCH}
Examples:
daryltucker/gcc:15.2.0 ā x86_64 native builddaryltucker/gcc:x86_64-gcc-13.3.0_legion_s7-x86_64 ā Full identitydaryltucker/gcc:12.4.0-rpi5 ā Shortcut for RPi5 cross-compilerShortcuts: The most common host arch (x86_64) omits the host prefix in short tags.
All toolchains follow a hierarchical structure:
/opt/toolchains/
āāā gcc-{VERSION}[_{VARIANT}]/
āāā {TARGET_TUPLE}/
āāā bin/ # Compiler binaries
āāā lib/ # Runtime libraries
āāā lib64/ # 64-bit libraries
āāā sysroot/ # Target headers/libs (cross-compile only)
Find your compiler:
find /opt/toolchains -name "*-gcc" -type f
All binaries produced by these compilers are self-contained:
# Compile a test
docker run --rm -v $(pwd):/work -w /work daryltucker/gcc:15.2.0 \
/opt/toolchains/gcc-15.2.0/*/bin/g++ -o test test.cpp
# Check dynamic linker path (points to toolchain, not system)
readelf -l test | grep interpreter
# Check library paths (RPATH embedded)
readelf -d test | grep RPATH
# Run without LD_LIBRARY_PATH
./test
Expected output:
/opt/toolchains/gcc-15.2.0/.../lib/ld-linux-x86-64.so.2/opt/toolchains/gcc-15.2.0/.../lib64:/opt/.../libThe GCC toolchains are distributed under the GNU GPL. The Docker build system and configuration files are provided as-is.
These images are built for production use with a focus on:
For issues or questions about specific builds, please refer to the build logs embedded in each image at /opt/toolchains/*/logs/.
Last Updated: 2025-12-22
Maintained by: Daryl Tucker
Content type
Image
Digest
sha256:8c2d2e80dā¦
Size
1.1 GB
Last updated
8 months ago
docker pull daryltucker/gcc:x86_64-gcc-15.2.0_jetson_orin_nano_separate-aarch64