compiled on RPI4B-4G with 5.10.77-piCore-v8 Compile Flags: CFLAGS='-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -flto -fuse-linker-plugin -fno-exceptions' CXXFLAGS='-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -flto -fuse-linker-plugin -fno-exceptions -fno-rtti' LDFLAGS='-Wl,-O1' Dependencies: compiletc coreutils procps-ng python3.8-dev gtk3-dev # I use copy mode for this particular build # tce-load -ci deps... Commands: tar xf distcc-3.4.tar.gz cd distcc-3.4 ./configure --prefix=/usr/local --without-libiberty time make -j4 real 0m 17.39s user 0m 47.03s sys 0m 8.63s ====================================================== Run some checks: # require coreutils.tcz and procps-ng.tcz time make check real 3m 36.39s user 0m 36.88s sys 0m 19.73s sudo make install # add . to PATH export PATH=".:$PATH" # add user temporarily for installcheck sudo adduser -DH distcc time make installcheck real 3m 21.65s user 0m 23.87s sys 0m 16.88s ====================================================== Packing: make DESTDIR=/tmp/dcc install # gnome monitor mkdir -p /tmp/mon/usr/local/share /tmp/mon/usr/local/bin mv /tmp/dcc/usr/local/share/*i* /tmp/mon/usr/local/share mv /tmp/dcc/usr/local/bin/distccmon-gnome /tmp/mon/usr/local/bin echo X-FullPathIcon=/usr/local/share/pixmaps/distccmon-gnome.png >> \ /tmp/mon/usr/local/share/applications/distccmon-gnome.desktop # MASQUERADING # https://www.freebsd.org/cgi/man.cgi?distcc#MASQUERADING # remove this useless file rm -f /tmp/dcc/usr/local/sbin/update-distcc-symlinks rmdir /tmp/dcc/usr/local/sbin # add symbolic links (better be relative) mkdir -p /tmp/dcc/usr/lib/distcc cd /tmp/dcc/usr/lib/distcc for C in aarch64-unknown-linux-gnu-c++ aarch64-unknown-linux-gnu-g++ c++ cc g++ gcc; do ln -s ../../local/bin/distcc $C done mkdir -p /tmp/dcc/usr/lib/distcc cd /tmp/dcc/usr/local/lib/distcc for C in aarch64-unknown-linux-gnu-c++ aarch64-unknown-linux-gnu-g++ c++ cc g++ gcc; do ln -s ../../bin/distcc $C done # tce.installed ============================================================================ #!/bin/sh # reset path just in case export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin # create log file touch /var/log/distccd.log chmod 666 /var/log/distccd.log # gfortran if [ -f /usr/local/tce.installed/gfortran ]; then cd /usr/lib/distcc ln -sf ../../local/bin/distcc gfortran ln -sf ../../local/bin/distcc aarch64-unknown-linux-gnu-gfortran cd /usr/local/lib/distcc ln -sf ../../bin/distcc gfortran ln -sf ../../bin/distcc aarch64-unknown-linux-gnu-gfortran fi # clang if [ -f /usr/local/tce.installed/clang ]; then cd /usr/lib/distcc ln -sf ../../local/bin/distcc clang ln -sf ../../local/bin/distcc clang++ cd /usr/local/lib/distcc ln -sf ../../bin/distcc clang ln -sf ../../bin/distcc clang++ fi # daemon and custom commands # export compile flags and start the daemon TCUSER=$(cat /etc/sysconfig/tcuser) if [ -f /home/${TCUSER}/.distcc/tc.sh ]; then . /home/${TCUSER}/.distcc/tc.sh else # default compile flags CFLAGS='-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe' CXXFLAGS='-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe' LDFLAGS='-Wl,-O1' export CFLAGS CXXFLAGS LDFLAGS # start the daemon # --allow-private doesn't work # assign them manually distccd --daemon --user $TCUSER \ --allow 192.168.0.0/16 \ --allow 172.16.0.0/12 \ --allow 10.0.0.0/8 \ --allow 127.0.0.0/8 \ --verbose --log-file=/var/log/distccd.log fi