Skip to content

Distcc (and ccache) in docker and support multiple linux distro !

License

Notifications You must be signed in to change notification settings

bensuperpc/docker-distcc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-distcc

Distcc (and ccache) in docker !

Features

  • Support for multiple systems (Ubuntu, Debian, Arch, Fedora, Alpine)
  • Distcc (and ccache)
  • Easy to use and configure

Requirements

Usage

Run

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/0

Second, 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 build

For 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++"

Build

You can build the image using the following command:

Note: You can replace debian with ubuntu, archlinux or alpine.

make debian

With tests: Note: Currently, the tests doesn't return an error code if the tests failed.

make debian.test

Supported systems (Table)

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

Contributing

If you want to contribute to this project, you can do it by opening a pull request or an issue.

Open source projects used

Sources

Licensing

See the LICENSE document.

About

Distcc (and ccache) in docker and support multiple linux distro !

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published