I am running distcc on my system. I have it configured and it works file to build packages. I initiate the build on the Pi and it distributes to the x86 machine. Been doing this for years and every so often I run into a problem and it stops working. Usually a bit of search and I get it resolved. Today, I am stumped. It builds using 'makepkg' fine. I can build HelloWorld.c with gcc cc=DISTCC . I can even use make to build things and it distributes. I cannot do this with the kernel.
I ran into this problem a while back and was able to fix it with this:make_clickable_callback(MAGIC_URL_FULL, '
', 'https://wiki.archlinux.org/title/Distcc#Quirks_compiling_the_Arch_Linux_kernel_package', '', ' class="postlink"')
My old MAKEPKGs for the kernel builds have this as a sed command for arch/arm and arch/arm64, so I am pretty sure it is correct.
Even with this edit, I cannot build the kernel using make when I git clone the kernel and try to build it.
I get this on the Pi:
[code]distcc[174501] ERROR: compile net/bluetooth/rfcomm/rfcomm.mod.c on 192.168.2.77:3636 failed
distcc[174501] (dcc_build_somewhere) Warning: remote compilation of 'net/bluetooth/rfcomm/rfcomm.mod.c' failed, retrying locally[/code]
and this on the x86 machine:
[code]distccd[6082] gcc net/bluetooth/rfcomm/rfcomm.mod.c on localhost failed
distccd[6082] job complete
distccd[6082] (dcc_job_summary) client: 192.168.2.199:47912 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:1447ms gcc net/bluetooth/rfcomm/rfcomm.mod.c
distccd[6076] (dcc_r_file_timed) 2015073 bytes received in 0.017700s, rate 111178kB/s
distccd[6076] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt[/code]
When I use makepkg it works fine for 'non kernel' packages.
For example, when I clone and make llmnrd, it works fine with 'make'make_clickable_callback(MAGIC_URL_FULL, '
', 'https://github.com/tklauser/llmnrd.git', '', ' class="postlink"')
clone it then:
[code]$ make -j4
CC llmnr.c
CC iface.c
CC socket.c
CC util.c
CC log.c
CC llmnrd.c
CC llmnr-query.c
LD llmnrd
LD llmnr-query[/code]
on the x86 machine, I get what I expect:
[code]distccd[26906] (dcc_job_summary) client: 192.168.2.199:45598 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:164ms gcc llmnrd.c
distccd[26907] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
distccd[26907] gcc llmnr-query.c on localhost completed ok
distccd[26907] job complete
...[/code]
What do I need to do about the kernel source code to get it to build 6.6.x and distribute via distcc?