distcc(1) General Commands Manual distcc(1) NAME () distcc - C/C++/ObjC distcc-pump SYNOPSIS ( ) distcc [COMPILER OPTIONS] distcc [COMPILER OPTIONS] [COMPILER OPTIONS] distcc [DISTCC OPTIONS] DESCRIPTION () distcc C . distcc . distcc (pump mode) distcc-pump . distcc . distcc (header) ( ) . ( ) distcc . (workstation) . distcc make ( distcc ) (linker) . distccd(1) C . distcc TCP ( ) ssh(1) . TCP distccd(1) inetd . SSH distccd (listening) . TCP . SSH . distcc -j GNU Make . distcc . distcc . -j . / . distcc SCons . -j -j . . . . --localslots_cpp . distcc ( ) . -j . C distcc . -j80 . . . QUICKSTART ( ) 1 distcc . 2 distccd --daemon --allow . 3 : $ export DISTCC_HOSTS='localhost red green blue' 4 ! $ make -j8 CC=distcc QUICKSTART FOR DISTCC-PUMP MODE ( DISTCC-PUMP) : $ export DISTCC_HOSTS='--randomize localhost red,cpp,lzo green,cpp,lzo blue,cpp,lzo' --randomize . distcc ( !) . pump : $ pump make -j20 CC=distcc DISTCC-GSSAPI (QUICKSTART FOR DISTCC-GSSAPI MODE) QUICKSTART : $ export DISTCC_HOSTS='--randomize localhost red,auth green,auth blue,auth' distccd principal : export DISTCC_PRINICIPAL= DISTCC ( PUMP) (HOW PLAIN (NON-PUMP) DISTCC WORKS) distcc . distcc . (linker) (object files) . ( ) ( ). distcc / . . distcc . DISTCC-PUMP (HOW DISTCC-PUMP MODE WORKS) pump distcc . . pump distcc . distcc-pump (symbolic links) . . pump include . include . pump include include distcc . include include . include include ( -I) ( ) . include . distcc-pump . include (memoize) . distcc . distcc pump distcc . PUMP (RESTRICTIONS FOR PUMP MODE) pump ( ) 3.0 distcc distccd . include distcc-pump . 2.6 . include include_server(1) . include . . GNU /usr/include /usr/local/include/ . . distcc-pump . (TODO) . include (cross-compiler) . distcc-pump include_server(1) . DISTCC-GSSAPI (HOW DISTCC-GSSAPI MODE WORKS) distcc GSS- API (daemon) . (OPTION SUMMARY) distcc . distcc . distcc . --help . --version distcc . --show-hosts distcc . (Host Specifications) . --scan-includes distcc include . ( ) C . pump . << DISTCC- PUMP>> . distcc --scan-includes . . FILE SYMLINK DIRECTORY SYSTEMDIR : FILE distcc . SYMLINK distcc . DIRECTORY . "foo" include #include "foo/../bar.h" . distcc . SYSTEMDIR include include "/usr/include" distcc distcc . -j distcc . /LIMIT . (Host Specifications) . --show-principal security principal distccd . distcc --with-auth . DISTCC (INSTALLING DISTCC) distcc : distcc . << >> (masqueraded) distcc . distcc makefile . distcc "distcc cc -c hello.c" CC="distcc gcc". distcc makefile libtool $CC . distcc . <<>> (implicit) "cc" . <<>> (explicit) . distcc . (masquerade) CC / CXX PATH . masquerade CC / CXX makefile() distcc . (MASQUERADING) << >> (masquerade directory) distcc . PATH distcc . distcc PATH . : # mkdir /usr/lib/distcc/bin # cd /usr/lib/distcc/bin # ln -s ../../../bin/distcc gcc # ln -s ../../../bin/distcc cc # ln -s ../../../bin/distcc g++ # ln -s ../../../bin/distcc c++ distcc /usr/lib/distcc/bin PATH DISTCC_HOSTS . distcc . update-distcc-symlinks . PATH ( as ld) PATH distcc PATH . << >> (recursion error) masquerade distcc . PATH distcc . << >> (masqueraded) <<>> (explicit) . . /usr/lib/distcc/bin cc : #!/bin/sh distcc /usr/bin/gcc "$@" distcc PATH gcc . . DISTCC CCACHE (USING DISTCC WITH CCACHE) ccache . ccache distcc . makefile . : CCACHE_PREFIX="distcc" ccache distcc (wrapper) . ccache . ccache CC="ccache gcc" . 2.2 ccache distccd distcc (cache hit) . distcc . pump distcc ccache . (HOST SPECIFICATIONS) << >> distcc . distcc $DISTCC_HOSTS $DISTCC_DIR/hosts . distcc . (whitespace) . localhost red green blue distcc . ( configure) ( --randomize ). localhost . localhost . distcc . . . . --randomize . . : --localslots --localslots_cpp . --localslots --localslots_cpp . . (linking) . swap swap . make . makefile . -j . : DISTCC_HOSTS = HOSTSPEC ... HOSTSPEC = LOCAL_HOST | SSH_HOST | TCP_HOST | OLDSTYLE_TCP_HOST | GLOBAL_OPTION | ZEROCONF LOCAL_HOST = localhost[/LIMIT] | --localslots= | --localslots_cpp= SSH_HOST = [USER]@HOSTID[/LIMIT][:COMMAND][OPTIONS] TCP_HOST = HOSTID[:PORT][/LIMIT][OPTIONS] OLDSTYLE_TCP_HOST = HOSTID[/LIMIT][:PORT][OPTIONS] HOSTID = HOSTNAME | IPV4 | IPV6 OPTIONS = ,OPTION[OPTIONS] OPTION = lzo | cpp | auth[=AUTH_NAME] GLOBAL_OPTION = --randomize ZEROCONF = +zeroconf : localhost "localhost" . IP . ( .) IPV6 IPv6 [::1] IPV4 IPv4 10.0.0.1 HOSTNAME (resolver) . :PORT . @HOSTID SSH TCP. SSH ~/.ssh/config . USER@ SSH . :COMMAND SSH distccd. distccd PATH SSH . SSH "distccd: command not found" . /LIMIT . ( localhost) . . ,lzo LZO TCP SSH . ,cpp distcc-pump . : pump include . ,auth GSSAPI . AUTH_NAME (canonical) (service principal name) HOSTNAME ( fqdn ). ssh HOSTNAME 127.0.0.1 . --randomize . +zeroconf distcc Avahi . distcc Avahi Zeroconf DNS (DNS-SD) distccd . IP distcc . distccd "--zeroconf" distccd . pump ( ",cpp") ( ",lzo") zeroconf . : localhost/2 @bigman/16:/opt/bin/distccd oldmachine:4200/1 # cartman is down distant/3,lzo () . / (#) . distcc . (COMPRESSION) lzo LZO (object code) . 100Mbps . distcc CPU . pump . : : . 2.9 distcc . : . pump lzo . (SEARCH PATHS) . : distcc /usr/local/bin/gcc-3.1415 -c hello.c PATH distccd . distcc (masquerade) . PATH . (TIMEOUTS) distcc . . . . DISTCC_IO_TIMEOUT . (DIAGNOSTICS) . distcc verbose . DISTCC_VERBOSE --verbose . . (EXIT CODES) distcc : . distcc <<>> <<>> . distcc DISTCC_FALLBACK . distcc . distcc : 100 distcc. 101 . 102 bind. 103 (Connect). 104 (Compiler crashed). 105 . 106 (Bad Host SPEC). 107 I/O. 108 (Truncated). 109 (Protocol Error). 110 . $CC (search path) distccd . 111 distcc. 112 (Failed to discard privileges). 113 (Network access denied). 114 . 115 (No such file). 116 (fallbacks) . 118 (Timeout). 119 GSS-API - GSS-API. 120 . (FILES) $DISTCC_HOSTS distcc $DISTCC_DIR/hosts . distcc --help . distcc . (ENVIRONMENT VARIABLES) distcc . . DISTCC_HOSTS . DISTCC_VERBOSE 1 distcc . . (verbose) . DISTCC_LOG distcc stderr. DISTCC_FALLBACK distcc . 0 . (linking) . DISTCC_NO_CROSS_REWRITE distcc gcc ( x86_64-linux-gnu-gcc) clang -target . . DISTCC_BACKOFF_PERIOD distcc ( ) . 60 . 0 . DISTCC_IO_TIMEOUT distcc ( ) . . 300 . DISTCC_PAUSE_TIME_MSEC distcc ( ) . 1000 ( ) . ( 10 ) distcc. DISTCC_SAVE_TEMPS 1 . . DISTCC_TCP_CORK 0 <> . cork . . DISTCC_SSH SSH . "ssh" "lsh" "tsocks-ssh" . . DISTCC_SKIP_LOCAL_RETRY distcc . DISTCC_DIR . ~/.distcc/ . TMPDIR . /tmp/ . UNCACHED_ERR_FD DISTCC_LOG distcc . ccache (caching) . DISTCC_ENABLE_DISCREPANCY_EMAIL distcc . . DISTCC_MAX_DISCREPANCY pump distcc distcc . 1 . DCC_EMAILLOG_WHOM_TO_BLAME "distcc-pump-errors" . DISTCC_PRINCIPAL principal distccd . distcc --with-auth ,auth . (CROSS COMPILING) . distcc . distcc (object file) . distcc cc . .o . gcc . gcc --program-suffix gcc . gcc TARGET-gcc-VERSION i686-linux-gcc-3.2 . . GCC TARGET-gcc gcc-VERSION gcc . . (BUGS) distcc reporting-bugs.txt . makefile . make . ( Recursive Make Considered Harmful Peter Miller .) Makefile distcc . Make SCons . gcc . distcc . (link) . -MD gcc -MF . gcc . -MF . TCP . . distcc ccache NFS no_subtree_check (export) . gcc hello.c . distcc . distcc-pump include ( include) distcc . gcc gdb distcc . directory gdb . ( pump) distcc gcc 3.4 . pump gcc 3.4 gcc gcc ELF . .o distcc pump : ELF . . ELF distcc .o . .o ( ) . distcc-pump include include ( Boost ) . include (timeout) distcc . distcc-pump . DISTCC DISCREPANCY SYMPTOMS include_server(1(). . http://code.google.com/p/distcc/ . (AUTHOR) distcc Martin Pool Wayne Davison Frerich Raabe Dimitri Papadopoulos NEWS . . pump(1) . (LICENCE) distcc . distcc ( ) << >> (GNU General Public Licence) . distcc . GPL COPYING . (SEE ALSO) distccd(1) pump(1) include_server(1) gcc(1) make(1) ccache(1). http://code.google.com/p/distcc/ https://ccache.dev/ 9 June 2008 distcc(1)