The crosscc package installs a small wrapper and diverts gcc/g++, so the wrapper is called instead. The wrapper simply calls distcc with the correct fallback path, so that many packages can be compiled with the help of a remote host without any changes to source package itself. crosscc already assumes a working cross distcc setup. Here some instructions on how to set this up. First the remote host needs a cross compiler, so a number of extra packages need to be installed. 1. Install libc and kernel development packages: $ wget http://ftp.debian.org/debian/dists/unstable/main/binary-m68k/Packages.bz2 $ bzcat Packages.bz2 | grep '^Filename:.*\(linux-libc-dev\|libc6\|libc6-dev\|libgcc2\)_' This will print the paths to current m68k binary packages, download them and install them with: # dpkg-cross -a m68k -X gcc-4.3-base -i *.deb 2. Compile cross binutils: If you're running unstable, an 'apt-get source binutils' is enough to get the sources, otherwise you have to get them from http://ftp.debian.org/debian/pool/main/b/binutils/ and unpack them using dpkg-source. $ cd binutils-2.18.1~cvs20080103 $ TARGET=m68k fakeroot debian/rules binary-cross This produces the binutils, which can be installed normally with dpkg. 3. Compile cross compiler: Again if you're running unstable, an 'apt-get source gcc-4.1' is enough to get the sources, otherwise you have to get them from http://ftp.debian.org/debian/pool/main/g/gcc-4.1/ and unpack them using dpkg-source. $ cd gcc-4.3-4.3.1 $ GCC_TARGET=m68k DEB_CROSS_INDEPENDENT=yes WITH_LANG=objc debian/rules control $ GCC_TARGET=m68k DEB_CROSS_INDEPENDENT=yes WITH_LANG=objc dpkg-buildpackage -rfakeroot -b This produces a few more packages, simply install all of them. All that is left now is to setup distcc and both machines. On the remote host you need to enable the distcc server in /etc/default/distcc and on the m68k host, you need to configure the location of remote host, simply add the ip number of remote host to /etc/distcc/hosts. Now everything should be ready for the first test: $ touch /tmp/foo.c $ DISTCC_VERBOSE=1 distcc m68k-linux-gcc-4.1 -c /tmp/foo.c Once the crosscc package is installed, this should also work with the standard compiler: $ DISTCC_VERBOSE=1 gcc -c /tmp/foo.c $ DISTCC_VERBOSE=1 gcc -c -x c /tmp/foo.c In the first case the file should be compiled on the remote host and in the second case, distcc should properly fall back to the local host. If there are problems you also might want to check /var/log/distccd.log on the remote host. Have fun!