Hello,
I have a laptop and a desktop both using Manjaro. My systems have a few AUR packages, and as you know many of them build packages from source much like Gentoo. My laptop is pretty old (2017 i7) with a dual core processor, and certain packages take a very long time to build. Updates in particular are very time-consuming. So I decided to try using distcc to try and speed things up by utilizing my desktop with its 7800X3D CPU which has 16 cores.
After setting things up in pump mode, it does seem to work, but I’m getting the following warning repeatedly
distcc[64283] (dcc_talk_to_include_server) Warning: include server gave up analyzing
distcc[64283] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally
This indicates to me that pump mode and preprocessing is not happening properly on the remote server and much of the work is happening on the local machine. I’m not sure if this is because of misconfiguration, or if it’s because of the package I’m trying to build. As a result I feel that I’m not getting a proper speedup.
This is an excerpt of my laptop’s makepkg.conf
BUILDENV=(distcc color !ccache check !sign)
DISTCC_HOSTS="localhost/4 9a3eedi-linux/16,cpp,lzo"
MAKEFLAGS="-j32"
Note I’m using a hostname here, but I made sure that it’s resolvable.
On my desktop (the volunteer) I have the following in /etc/conf.d/distccd
DISTCC_ARGS="--allow 127.0.0.1 --allow-private --log-file /tmp/distccd.log --jobs 32"
Looking at distccmon-text on my laptop (the client), it seems that most of the compilation work is happening on my local machine (the laptop). Some work is happening on the remote machine, but it’s utilizing only like 3-4 of the 16 cores that it can handle. I can also see on the remote machine that cc1plus processes are running, but I expected around 16 processes running at a time, but I only see around 4 or less.
Unforutnately I really couldn’t find much information online on how to diagnose this problem, particularly with Manjaro and pamac, so I was wondering if anyone else had experience with using distcc with Manjaro.