Distcc (and ccache) in docker !
- Support for multiple systems (Ubuntu, Debian, Arch, Fedora, Alpine)
- Distcc (and ccache)
- Easy to use and configure
First, you need to run the container. You can use the following command:
Note: You can replace debian-11 with ubuntu-20.04, archlinux-rolling, fedora-34 or alpine-3.14 ect...
docker run -d -p 3632:3632 -p 3633:3633 bensuperpc/distcc:debian-11 --allow 0.0.0.0/0Second, you need to configure your environment to use the container. You can use the following command:
Note: You need to replace X with the number of cores you want to use, and if you want, localhost with the IP of the container.
export DISTCC_HOSTS='localhost/X localhost:3632/X'For Cmake, you can use the following command:
Note: We use Ninja as a generator for build speed but you can use Make or other generators.
cmake -DCMAKE_C_COMPILER_LAUNCHER="ccache;distcc" -DCMAKE_CXX_COMPILER_LAUNCHER="ccache;distcc" -S . -B build -G Ninja && cmake --build buildFor Make, you can use the following command:
Note: You can replace X with the number of cores you want to use.
make -jX CC="distcc gcc" CXX="distcc g++"You can build the image using the following command:
Note: You can replace debian with ubuntu, archlinux or alpine.
make debianWith tests: Note: Currently, the tests doesn't return an error code if the tests failed.
make debian.test| System | Version | Image |
|---|---|---|
| Debian | 11 | bensuperpc/distcc:debian-11 |
| Debian | 10 | bensuperpc/distcc:debian-10 |
| Debian | 9 | bensuperpc/distcc:debian-9 |
| Ubuntu | 22.04 | bensuperpc/distcc:ubuntu-22.04 |
| Ubuntu | 20.04 | bensuperpc/distcc:ubuntu-20.04 |
| Ubuntu | 18.04 | bensuperpc/distcc:ubuntu-18.04 |
| Archlinux | base-devel | bensuperpc/distcc:archlinux-base-devel |
| Alpine | 3.17 | bensuperpc/distcc:alpine-3.17 |
| Alpine | 3.16 | bensuperpc/distcc:alpine-3.16 |
| Alpine | 3.15 | Not supported |
| Fedora | 37 | bensuperpc/distcc:fedora-37 |
| Fedora | 36 | bensuperpc/distcc:fedora-36 |
| Fedora | 35 | bensuperpc/distcc:fedora-35 |
| Manjaro | rolling | bensuperpc/distcc:manjarolinux-latest |
| CentOS | 8 | Not supported |
If you want to contribute to this project, you can do it by opening a pull request or an issue.
See the LICENSE document.