distributed builds for C, C++ and Objective C

Related tags

distcc
Overview

distcc -- a free distributed C/C++ compiler system

Build Status

by Martin Pool

Current Documents: https://distcc.github.io/ Formally http://distcc.org/

"pump" functionality added by Fergus Henderson, Nils Klarlund, Manos Renieris, and Craig Silverstein (Google Inc.)

distcc is a program to distribute compilation of C or C++ code across several machines on a network. distcc should always generate the same results as a local compile, is simple to install and use, and is often two or more times faster than a local compile.

Unlike other distributed build systems, distcc does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed. Machines can be running different operating systems, as long as they have compatible binary formats or cross-compilers.

By default, distcc sends the complete preprocessed source code across the network for each job, so all it requires of the volunteer machines is that they be running the distccd daemon, and that they have an appropriate compiler installed.

The distcc "pump" functionality, added in distcc 3.0, improves on distcc by distributing not only compilation but also preprocessing to distcc servers. This requires that the server and client have the same system headers (the client takes responsibility for transmitting application-specific headers). Given that, distcc in pump mode yields the same results that distcc would in non-pump mode, but faster, since the preprocessor no longer runs locally. For more details on the pump functionality, see README.pump.

distcc is not itself a compiler, but rather a front-end to the GNU C/C++ compiler (gcc), or another compiler of your choice. All the regular gcc options and features work as normal.

distcc is designed to be used with GNU make's parallel-build feature (-j). Shipping files across the network takes time, but few cycles on the client machine. Any files that can be built remotely are essentially "for free" in terms of client CPU. This is even more true in "pump" mode, where the client does not even have to take time to preprocess the source files. distcc has been successfully used in environments with hundreds of distcc servers, supporting dozens of simultaneous compiles.

distcc is now reasonably stable and can successfully compile the Linux kernel, rsync, KDE, GNOME (via GARNOME), Samba and Ethereal. distcc is nearly linearly scalable for small numbers of machines: for a typical case, three machines are 2.6 times faster than one.

Licence

distcc is distributed under the GNU General Public Licence v2.

Resources

Issues
  • include_server python(3) ready

    include_server python(3) ready

    Any review, testing, approval, or disapproval would be appreciated.

    opened by paranormal 32
  • distcc-mon-gnome displays multiple rows for same host/slot

    distcc-mon-gnome displays multiple rows for same host/slot

    Answering the following questions is a big help:
    
    1. What version of distcc are you using (e.g. "2.7.1")?  You can run
    "distcc --version" to see.  If you got distcc from a distribution package
    rather than building from source, please say which one.
    
    distcc 3.0 i686-pc-linux-gnu
      (protocols 1, 2 and 3) (default port 3632)
      built Dec 18 2008 21:34:13
    
    Built from source using Gentoo package sys-devel/distcc-3.0-r4.
    
    2. What platform are you running on (e.g. "Red Hat 8.0", "HP-UX 11.11")? 
    What compilare are you using ("gcc 3.3")?  Run "uname -a" and "cc
    --version" to see.
    
    Linux tidal 2.6.23-gentoo-r9 #2 SMP Tue Aug 26 20:20:08 PDT 2008 i686
    Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz GenuineIntel GNU/Linux
    
    gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.1)
    
    3. What were you trying to do (e.g. "install distcc", "build Mozilla")?
    
    Compile almost anything with distcc.
    
    4. What went wrong?  Did you get an error message, did it hang, did it
    build a program that didn't work, did it not distribute compilation to
    machines that ought to get it?
    
    distcc-mon-gnome displays multiple rows for the same host/slot combination.
    This appears to occur only for remote hosts. See attached screenshot.
    
    5. If you have an example of a compiler invocation that failed, quote it,
    in full e.g.:
       distcc gcc -DHAVE_CONFIG_H -D_GNU_SOURCE -I./src \
    "-DSYSCONFDIR=\"/etc/\"" -I./lzo -g -O2 -W -Wall -W \ -Wimplicit -Wshadow
    -Wpointer-arith -Wcast-align \ -Wwrite-strings -Waggregate-return
    -Wstrict-prototypes \ -Wmissing-prototypes -Wnested-externs -o src/clirpc.o
    \ -c src/clirpc.c
    
    Compiling works fine.
    
    6. What error logging do you get?  Turn on client and server error logging.
     On the client, set these environment variables, and try to reproduce the
    problem: =export DISTCC_VERBOSE=1 DISTCC_LOG=/tmp/distcc.log=.  Start the
    server with the --verbose option. If the problem is intermittent, leave
    logging enabled and then pull out the lines from the log file when the
    problem recurs.
    
    No error messages.
    
    7. If you got an error message on stderr, quote that error exactly. Find
    the lines in the log files pertaining to the compile, and include all of
    them in your report, by looking at the process ID in square brackets. If
    you can't work that out, quote the last few hundred lines leading up to the
    failure. 
    
    No error messages.
    
    

    Original issue reported on code.google.com by [email protected] on 25 Jan 2009 at 7:37

    Attachments:

    auto-migrated 
    opened by GoogleCodeExporter 27
  • Zeroconf fails if avahi supports IPv6

    Zeroconf fails if avahi supports IPv6

    I am running distcc 3.0 i686-pc-linux-gnu on a gentoo system with GCC
    4.1.2.  On any compile, or running 'distcc --show-hosts' I get an "ERROR:
    invalid tcp port specification in "<ipv6 address here>""
    
    Because of this, distcc fails to work with zeroconf on my network (or any
    network where zeroconf reports IPv6 adresses).
    
    The best solution is to either fix the address parsing so that zeroconf's
    IPv6 addresses parse correctly, or to force avahi to give only IPv4 addresses.
    

    Original issue reported on code.google.com by [email protected] on 13 Jan 2009 at 9:54

    Priority-Medium Type-Defect Usability auto-migrated 
    opened by GoogleCodeExporter 19
  • Building Kernel >=5.2.0 fails to distribute out but 5.1.x builds fine

    Building Kernel >=5.2.0 fails to distribute out but 5.1.x builds fine

    Has anyone else noticed that compiling linux kernel 5.1.16 works fine with distcc but >=5.2.0 fails to distribute jobs? I'm thinking there is something in the upstream code that isn't honoring the old definitions?

    Example trying to compile 5.2.0:

    ...
    distcc[22629] (dcc_readx) ERROR: unexpected eof on fd5
    distcc[22629] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE"
    distcc[22629] (dcc_r_result_header) ERROR: server provided no answer. Is the server configured to allow access from your IP address? Is the server performing authentication and your client isn't? Does the server have the compiler installed? Is the server configured to access the compiler?
    distcc[22629] Warning: failed to distribute scripts/mod/devicetable-offsets.c to 10.1.1.102/5, running locally instead
    distcc[22635] (dcc_readx) ERROR: unexpected eof on fd5
    distcc[22635] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE"
    distcc[22635] (dcc_r_result_header) ERROR: server provided no answer. Is the server configured to allow access from your IP address? Is the server performing authentication and your client isn't? Does the server have the compiler installed? Is the server configured to access the compiler?
    distcc[22635] Warning: failed to distribute scripts/mod/empty.c to 10.1.1.102/5, running locally instead
    ...
    

    Whatever is causing this breakage, it has not been backported to the 4.19-lts series. I can build 4.19.61 with distcc working just fine. I found an older discussion on lkml about similar but the date of this being 8+ months ago doesn't seem right.

    My systems are running Arch Linux.

    • distcc 3.3.2
    • compiler 9.1.0
    opened by graysky2 19
  • Handle 64-bit time_t on OpenBSD

    Handle 64-bit time_t on OpenBSD

    On OpenBSD, time_t is defined as a 64-bit type. So adjust the format string accordingly and make sure this gets casted correctly for other systems too.

    opened by jasperla 17
  • does distcc support android 10/11 compiling?

    does distcc support android 10/11 compiling?

    i noticed that distcc can warp C/C++ compile tools to make compile faster.

    in android 10 , it switches the compile tool to clang/clang++ and use ninjia to call them via -c:-S:-E and -o options.

    i did some tests use distcc to compile failed, but i can not send the log from internel net .

    i tried so many days, i want to know does this can work from the begining

    opened by modoojunko 16
  • Tag 3.2rc1

    Tag 3.2rc1

    distcc 3.2rc1 was released on Google Code in 2011, but the latest tag in this github repository is version 3.1 from 2008. Can you please tag 3.2rc1 here in this repository, and upload the corresponding tarball here using the github releases service? Thanks.

    Usability bug 
    opened by ryandesign 16
  • distcc --show-hosts fails when using Avahi with IPv6 support and +zeroconf for distcc.

    distcc --show-hosts fails when using Avahi with IPv6 support and +zeroconf for distcc.

    Answering the following questions is a big help:
    
    1. distcc 3.0 i686-pc-linux-gnu
      (protocols 1, 2 and 3) (default port 3632)
      built Mar 11 2009 14:16:41
    Copyright (C) 2002, 2003, 2004 by Martin Pool.
    Includes miniLZO (C) 1996-2002 by Markus Franz Xaver Johannes Oberhumer.
    Portions Copyright (C) 2007-2008 Google.
    
    distcc comes with ABSOLUTELY NO WARRANTY.  distcc is free software, and
    you may use, modify and redistribute it under the terms of the GNU 
    General Public License version 2 or later.
    
    Built with Zeroconf support.
    
    
    2. Linux localhost.localdomain 2.6.25-gentoo-r9 #2 SMP Fri Nov 14 09:35:46
    GMT 2008 i686 Intel(R) Xeon(TM) CPU 2.40GHz GenuineIntel GNU/Linux
    
    gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.1)
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    3. Compile any software package. Also  distcc --show-hosts
    
    4. Error Message unable to parse the host file.
    cat .distcc/zeroconf/hosts
    10.0.0.179:3632/16
    10.0.0.135:3632/8
    fe80::2c0:9fff:fe3d:1737:3632/16
    2001:470:1f09:22e:214:22ff:fe2d:1d7f:3632/8
    
    5. distcc --show-hosts
    distcc[29525] (dcc_parse_tcp_host) ERROR: invalid tcp port specification in
    ":2c0:9fff:fe3d:1737:3632/16
    2001:470:1f09:22e:214:22ff:fe2d:1d7f:3632/8
    "
    distcc[29525] (dcc_zeroconf_add_hosts) CRITICAL! failed to parse host file.
    
    distcc[29525] (dcc_show_hosts) CRITICAL! Failed to get host list
    
    6. See 5, the IPv6 address is missing the beginning of its address should
    have fe80.
    
    7. See 5.
    

    Original issue reported on code.google.com by [email protected] on 12 Mar 2009 at 11:07

    auto-migrated 
    opened by GoogleCodeExporter 15
  • Build failure on vanilla Ubuntu 8.10

    Build failure on vanilla Ubuntu 8.10

    
    Attempting to build distcc from source.  
    
    distcc 3.1
    Ubuntu 8.10
    
    $ tar xjvf distcc-3.1.tar.bz2
    $ cd distcc-3.1
    
    Tried the simple
      ./configure && make && sudo make install
    
    Warning are treated as errors so multiple failure.  You can hack the make
    file to turn this off but other errors occur 
    
    gcc -DHAVE_CONFIG_H -D_GNU_SOURCE -DSYSCONFDIR="\"/usr/local/etc\""
    -DPKGDATADIR="\"/usr/local/share/distcc\"" -Isrc -I"./src" -I"./lzo"
    -I"./popt" -Werror -g -O2 -MD -W -Wall -Wimplicit -Wshadow -Wpointer-arith
    -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes
    -Wmissing-prototypes -Wnested-externs -Wmissing-declarations
    -Wuninitialized -pthread -o src/emaillog.o -c src/emaillog.c
    cc1: warnings being treated as errors
    src/emaillog.c: In function ‘dcc_add_file_to_log_email’:
    src/emaillog.c:92: error: ignoring return value of ‘write’, declared with
    attribute warn_unused_result
    src/emaillog.c:93: error: ignoring return value of ‘write’, declared with
    attribute warn_unused_result
    src/emaillog.c:94: error: ignoring return value of ‘write’, declared with
    attribute warn_unused_result
    src/emaillog.c:98: error: ignoring return value of ‘write’, declared with
    attribute warn_unused_result
    
    ... etc.
    
    
    Regenerating configure results in a similar set of errors but starting in a
    different file.
    
    $ sh autogen.sh
    $ ./configure
    $ make
    
    cc1: warnings being treated as errors
    src/trace.c: In function ‘rs_logger_file’:
    src/trace.c:330: error: ignoring return value of ‘write’, declared with
    attribute warn_unused_result
    make: *** [src/trace.o] Error 1
    
    
    

    Original issue reported on code.google.com by [email protected] on 3 Dec 2008 at 11:31

    Type-Defect auto-migrated 
    opened by GoogleCodeExporter 14
  • 3.0 on OSX: ValueError: Expected absolute path, but got '(framework'.

    3.0 on OSX: ValueError: Expected absolute path, but got '(framework'.

    Hi all,
    
    {{{
    [email protected] ~ $ uname -a
    Darwin montero.gostai.ensta.fr 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep  3 
    11:29:43 PDT 2008; root:xnu-
    1228.7.58~1/RELEASE_I386 i386
    [email protected] ~ $ g++ --version
    i686-apple-darwin9-g++-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5484)
    Copyright (C) 2005 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    [email protected] ~ $ which g++
    /usr/bin/g++
    }}}
    
    I'm using distcc as provided by the macports.
    
    I'm experiencing a bizarre error that I don't really understand.  I don't know 
    what I can do to provide more accurate 
    information, sorry.
    
    {{{
    $ cat contract.cc
    #include <iostream>
    $ DISTCC_LOG=/tmp/distcc.log DISTCC_VERBOSE=1 pump distcc g++ -c contract.cc -o 
    /tmp/foo.o
    __________Using distcc-pump from /opt/local/bin
    __________Using        4 distcc servers, of which only        3 support(s) pump 
    mode
    WARNING include server: Preprocessing locally. Include server internal error: 
    '<type 'exceptions.ValueError'>: ("Expected 
    absolute path, but got '(framework'.",)' for translation unit 'unknown 
    translation unit' ------- Include server stack trace -----
    ------
    Traceback (most recent call last):
      File "/opt/local/lib/python2.5/site-packages/include_server/include_server.py", line 379, in handle
        include_analyzer.client_root_keeper))
      File "/opt/local/lib/python2.5/site-packages/include_server/include_analyzer.py", line 254, in DoCompilationCommand
        self.timer))
      File "/opt/local/lib/python2.5/site-packages/include_server/parse_command.py", line 435, in ParseCommandArgs
        compiler_defaults.SetSystemDirsDefaults(compiler, parse_state.language, timer)
      File "/opt/local/lib/python2.5/site-packages/include_server/compiler_defaults.py", line 353, in SetSystemDirsDefaults
        self.system_links)
      File "/opt/local/lib/python2.5/site-packages/include_server/compiler_defaults.py", line 104, in 
    _MakeLinkFromMirrorToRealLocation
        raise ValueError("Expected absolute path, but got '%s'." % system_dir)
    ValueError: Expected absolute path, but got '(framework'.
    ----------------------------------------------
    }}}
    
    Thanks for the good work!
    
    
    

    Original issue reported on code.google.com by [email protected] on 15 Dec 2008 at 9:31

    Attachments:

    auto-migrated 
    opened by GoogleCodeExporter 13
  • prefork: use available cores more efficiently

    prefork: use available cores more efficiently

    Observed behavior

    When compiling a big C project (Linux kernel) with distcc compilation nodes never use 100% of CPU time, instead a system is 25 -- 40% idle (despite --jobs is set to 3x the number of cores).

    Analysis

    Linux kernel consists of many relatively small C sources and header files. Compiling a single source file typically takes a fraction of a second (although there are quite a number of "heavier" sources). dcc_preforked_child exits after 50 requests. Thus a typical lifetime of a worker process is just a few seconds. However dcc_create_kids sleeps for a second after every fork. Also dcc_preforked_child sleeps for yet another second. Which is >= 25% of a typical child lifetime. As a result distccd is unable to use available CPU time (system load is always <= 75% during the compilation).

    Fix

    Removed sleep from dcc_preforking_parent and dcc_create_kids. Also made dcc_preforked_child process compilation jobs for at least 60 seconds.

    Result

    Kernel compilation time (two 6-core nodes) reduced almost 2x: before: 20 minutes, after: 12 minutes

    Closes: #420

    opened by asheplyakov 0
  • distccd is unable to make use of available cores/CPU time

    distccd is unable to make use of available cores/CPU time

    When compiling a "big" C project (Linux kernel) compilation nodes never use 100% of CPU time (although there are a plenty of compilation tasks available). Instead a system is 20 -- 30% idle (despite --jobs is 3x the number of the cores).

    opened by asheplyakov 0
  • make deb fails

    make deb fails

    Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/demetris/rpmbuild/BUILDROOT/distcc-3.3.5-1.x86_64 error: Installed (but unpackaged) file(s) found: /usr/sbin/update-distcc-symlinks

    RPM build errors: Macro expanded in comment on line 6: %define _docdir %{_datadir}/doc/%{name}-%{version}

    Macro expanded in comment on line 109: %{_sysconfdir}/init.d
    
    bogus date in %changelog: Sat Mar 12 2008 Craig Silverstein <[email protected]> 3.0-1
    Installed (but unpackaged) file(s) found:
    

    /usr/sbin/update-distcc-symlinks cd packaging && ./deb.sh distcc 3.3.5 .rpm File ".rpm" not found. make: *** [Makefile:1001: deb] Error 2

    opened by Ntemis 0
  • Improved cross-compilation with clang

    Improved cross-compilation with clang

    With this patch I can cross-compile Linux kernel with clang and distcc. Otherwise both remote compilation and local fallback fail like this:

    cat > foo.c <<-EOF
    int main(int argc, char **argv) { return 0; }
    EOF
    env DISTCC_HOSTS=127.0.0.1 distcc clang -c --target=aarch64-linux-gnu- foo.c
    
    error: unknown target triple 'unknown', please use -triple or -arch
    distcc[304773] ERROR: compile foo.c on 127.0.0.1 failed
    distcc[304773] (dcc_build_somewhere) Warning: remote compilation of 'foo.c' failed, retrying locally
    distcc[304773] Warning: failed to distribute foo.c to 127.0.0.1, running locally instead
    error: unknown target triple 'unknown', please use -triple or -arch
    distcc[304773] ERROR: compile foo.c on localhost failed
    

    Linux' kernel makefiles specify the target arch with --target=foo, and distcc expects -target foo, hence the problem.

    Closes: #416

    opened by asheplyakov 0
  • cross-compilation with clang fails

    cross-compilation with clang fails

    $ cat > foo.c <<-EOF
    int main(int argc, char **argv) { return 0; }
    EOF
    $ env DISTCC_HOSTS=127.0.0.1 distcc clang --target=aarch64-linux-gnu- -c foo.c
    error: unknown target triple 'unknown', please use -triple or -arch
    distcc[304936] ERROR: compile foo.c on 127.0.0.1 failed
    distcc[304936] (dcc_build_somewhere) Warning: remote compilation of 'foo.c' failed, retrying locally
    distcc[304936] Warning: failed to distribute foo.c to 127.0.0.1, running locally instead
    error: unknown target triple 'unknown', please use -triple or -arch
    distcc[304936] ERROR: compile foo.c on localhost failed
    

    Linux' kernel makefiles specify target arch with --target=foo rather than -target foo, hence cross-compilation with distcc and clang fails.

    opened by asheplyakov 0
  • DISTCC_NO_CROSS_REWRITE not working?

    DISTCC_NO_CROSS_REWRITE not working?

    Either I don't understand how DISTCC_NO_CROSS_REWRITE should work, or perhaps DISTCC_NO_CROSS_REWRITE is broken on Debian. I've got a setup where my fast x86_64 machine is supposed to compile for my rather slow Raspberry Pi. On the x86_64 box I've got the cross compiler installed (aarch64-linux-gnu-gcc and aarch64-linux-gnu-g++). On the Pi I've got /usr/lib/distcc first in my PATH so which gcc gives me /usr/lib/distcc/gcc. On the fast box I've only got aarch64-linux-gnu-gcc and aarch64-linux-gnu-g++ in /usr/lib/distcc, both which are symlinks which points to /usr/lib/distcc.

    However, when I compile on the Pi, the compilation fails due to the fact that gcc/g++ doesn't exist in /usr/lib/distcc on the fast box. If I understand the manual correctly distcc should've rewritten them as aarch64-linux-gnu-gcc/aarch64-linux-gnu-g++ on the fast box. I've tried NOT having DISTCC_NO_CROSS_REWRITE defined, I've tried it set to 1, and even 0. Still no dice.

    If I on the Pi set CC to "distcc aarch64-linux-gnu-gcc" I can compile without any trouble.

    opened by solskogen 0
  • Titlebar has issues with gtk scaling

    Titlebar has issues with gtk scaling

    I am having a minor issue where the title is half-size, if I launch distccmon-gnome when I have 200% scaling enabled (I have a 4K screen, but you can enable scaling without a hidpi screen). If I launch distccmon-gnome with 100% scaling, and change to 200% then the title expands with the change.

    Captura de pantalla de 2021-01-04 21-20-51

    From #407

    opened by shawnl 8
  • failed to distribute build task to other machine.

    failed to distribute build task to other machine.

    -------error info--------- distcc[3873] (dcc_readx) ERROR: unexpected eof on fd6 distcc[3873] (dcc_r_token_int) ERROR: read failed while waiting for token "DONE" distcc[3873] (dcc_r_result_header) ERROR: server provided no answer. Is the server configured to allow access from your IP address? Is the server performing authentication and your client isn't? Does the server have the compiler installed? Is the server configured to access the compiler?

    ------environment-------

    machine1(192.168.0.97): ubuntu 16.04 python 3.5.2 ./autogen.sh ./configure make make check sudo make install export DISTCC_HOSTS='192.168.0.97 192.168.0.144' distccd --daemon --allow 192.168.0.144

    machine2(192.168.0.144): ubuntu 16.04 python 3.5.2 ./autogen.sh ./configure make make check sudo make install export DISTCC_HOSTS='192.168.0.144 192.168.0.97' distccd --daemon --allow 192.168.0.97

    ------usage---- on machine1: step1:cd to a C project step2:make -j32 CC='distcc gcc'

    opened by Master-Cao 3
Releases(v3.3.5)
  • v3.3.5(Jan 4, 2021)

    Bugfix release.

    -Fix build on OSX -Fix build when using optional features AND those optional libraries decided to build against libsystemd (not sure which one, but it doesn't matter). -Python 3.8 compatibility issues

    (Packagers: The .tar.gz file is to make it easier to build from source, as it doesn't require autoconf. It is hand-made so please use the autogenerated from git version instead.)

    Source code(tar.gz)
    Source code(zip)
    distcc-3.3.5.tar.gz(1.14 MB)
  • v3.3.3(Aug 14, 2019)

    • small fixes, such as fixing the build on some non-Linux systems

    Remember, for those upgrading from pre-3.3: you must run update-distcc-symlinks on every server machine, and add manually (see MASQUERADING of distcc(1)) those compilers it does not detect.

    Source code(tar.gz)
    Source code(zip)
    distcc-3.3.3.tar.gz(1.14 MB)
  • v3.3.2(Jul 26, 2018)

    • Fixes a regression where ssh mode did not work in most circumstances. Bug #291

    • Misc smaller fixes

    Remember, for those upgrading from pre-3.3: you must run update-distcc-symlinks on every server machine, and add manually (see MASQUERADING of distcc(1)) those compilers it does not detect.

    Source code(tar.gz)
    Source code(zip)
    distcc-3.3.2.tar.gz(985.29 KB)
  • v3.3(Mar 7, 2018)

    • Use masquerade as compiler white-list. Bug #155 d849ca2. (Shawn Landden)

    • New --allow-private (the default) which allows non-global IP and IPv6 addresses. PR #240 (Shawn Landden)

    • Cross-compilation support. PR #244. (Shawn Landden)

    • Fix parsing of IPv6 addresses. PR #175 (Bing Sun)

    • Python 3, not python 2.

    • Can build without python (and without pump mode or tests).

    For those upgrading: you must run update-distcc-symlinks on every server machine, and add manually (see MASQUERADING of distcc(1)) those compilers it does not detect.

    Source code(tar.gz)
    Source code(zip)
    distcc-3.3.tar.gz(1.11 MB)
  • v3.2rc1.2(Feb 26, 2018)

  • v3.2rc1(Nov 10, 2016)

    Tagged based on the notes in issue #159

    distcc 3.2rc1 was the last release candidate issued on the old Google Code site in 2011.


    Changelog was updated as follows:

    2011-10-26 02:49 Fergus Henderson [email protected]

    • Makefile.in:

      After my change to gzip the man pages before installing them, I had to make a couple more changes to get "make distcheck" to pass.

      Reviewed by Craig Silverstein. 2011-10-25 01:49 Fergus Henderson [email protected]

      • Makefile.in, man:

        Gzip the man pages before installing them.

      This is required by the Debian policy manual http://www.debian.org/doc/debian-policy/ch-docs.html and is also assumed by our packaging/RedHat/rpm.spec file which we use for building both RPM and Debian packages.

      Also some whitespaces changes; only the first of the four segments in this patch has non-whitespace changes.

    2011-10-25 00:42 Fergus Henderson [email protected] * ChangeLog, NEWS, configure.ac:

    Update the NEWS and ChangeLog files, and set the version number to 3.2rc1, in preparation for releasing distcc version 3.2.

    Reviewed by Craig Silverstein.

    Source code(tar.gz)
    Source code(zip)
    distcc-3.2rc1.tar.bz2(595.60 KB)
    distcc-3.2rc1.tar.gz(914.63 KB)
  • distcc-3.1(Nov 10, 2016)

  • distcc-3.0(Nov 10, 2016)

  • distcc-3.0rc3(Nov 10, 2016)

  • distcc-3.0rc2(Nov 10, 2016)

  • distcc-3.0-rc1(Nov 10, 2016)

Owner
distcc
Developers of distcc. Mailing list at https://lists.samba.org/mailman/listinfo/distcc.
distcc
distributed builds for C, C++ and Objective C

distcc -- a free distributed C/C++ compiler system by Martin Pool Current Documents: https://distcc.github.io/ Formally http://distcc.org/ "pump" func

distcc 1.3k Feb 17, 2021
A C compiler for LLVM. Supports C++11/14/1z C11

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies

LLVM 7.7k Feb 19, 2021
GNU Prolog is a native Prolog compiler

GNU Prolog is a native Prolog compiler with constraint solving over finite domains (FD)

Daniel Diaz 11 Jan 22, 2021
GTA: SA Vita

GTA: SA Vita This is a wrapper/port of Grand Theft Auto: San Andreas Android for the PS Vita with lots of custom patches such as: Fixed camera control

null 318 Mar 2, 2021
Spectral warping wavetable synth

Vital Vital is a spectral warping wavetable synthesizer. This is the source. Code Licensing If you are making a proprietary or closed source app and w

Matt Tytel 410 Mar 1, 2021
NCC is an ANSI/ISO-compliant optimizing C compiler.

The compiler is retargetable by design, but, at present, it only produces binaries for Linux/x86_64. As the compiler ABI differs somewhat from the System V ABI used by Linux, its code cannot be linked against Linux system libraries. It does, however, provide its own (incomplete) standard ANSI/Posix C library.

Charles E. Youse 60 Apr 24, 2021
Multi-format archive and compression library

Welcome to libarchive! The libarchive project develops a portable, efficient C library that can read and write streaming archives in a variety of form

null 1.5k Feb 19, 2021
Superfast compression library

DENSITY Superfast compression library DENSITY is a free C99, open-source, BSD licensed compression library. It is focused on high-speed compression, a

Centaurean 941 Feb 11, 2021
A Small C Compiler

8cc C Compiler Note: 8cc is no longer an active project. The successor is chibicc. 8cc is a compiler for the C programming language. It's intended to

Rui Ueyama 5.1k Feb 19, 2021
zlib replacement with optimizations for "next generation" systems.

zlib-ng zlib data compression library for the next generation systems Maintained by Hans Kristian Rosbach aka Dead2 (zlib-ng àt circlestorm dót org) C

zlib-ng 723 Feb 18, 2021
A portable, simple zip library written in C

A portable (OSX/Linux/Windows), simple zip library written in C This is done by hacking awesome miniz library and layering functions on top of the min

Kuba Podgórski 577 Feb 18, 2021
Minimal Huffman coder/decoder

huffandpuff This is an extremely minimal huffman encoder/decoder. It uses no calls at all, not even stdlib/stdio, making it suitable for embedded appl

Adam Ierymenko 76 Feb 6, 2021
data compression library for embedded/real-time systems

heatshrink A data compression/decompression library for embedded/real-time systems. Key Features: Low memory usage (as low as 50 bytes) It is useful f

Atomic Object 669 Feb 17, 2021
nanoc is a tiny subset of C and a tiny compiler that targets 32-bit x86 machines.

nanoc is a tiny subset of C and a tiny compiler that targets 32-bit x86 machines. Tiny? The only types are: int (32-bit signed integer) char (8-

Ajay Tatachar 10 May 3, 2021