#575306 distcc breaks some out-of-tree kernel module builds

Package:
distcc
Source:
distcc
Description:
simple distributed compiler client and server
Submitter:
Matthew Gabeler-Lee
Date:
2010-03-24 20:18:08 UTC
Severity:
normal
#575306#5
Date:
2010-03-24 20:14:44 UTC
From:
To:
When trying to build the nvidia kernel module using make-kpkg, I found some
errors that magically go away if I take distcc out of the path.

Excerpt of failing make-kpkg output (sorry about horrible line wrapping):

make -f scripts/Makefile.build obj=/usr/src/modules/nvidia-kernel
  gcc -I/usr/src/modules/nvidia-kernel -Wp,-MD,/usr/src/modules/nvidia-kernel/.nv.o.d  -nostdinc -isystem /usr
/lib/gcc/x86_64-linux-gnu/4.4.3/include -Iinclude  -I/usr/src/kernels/linux-2.6.32.5/arch/x86/include -include
 include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -
fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64
 -march=k8 -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-stack-protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm -fconserve-stack -I/usr/src/modules/nvidia-kernel -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -mcmodel=kernel -mno-red-zone -fno-defer-pop -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"190.53\" -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)"  -c -o /usr/src/modules/nvidia-kernel/nv.o /
<snip bunch of compiler warnings>
fixdep: /usr/src/modules/nvidia-kernel/.nv.o.d: No such file or directory
make[5]: *** [/usr/src/modules/nvidia-kernel/nv.o] Error 2
make[4]: *** [_module_/usr/src/modules/nvidia-kernel] Error 2
make[4]: Leaving directory `/usr/src/kernels/linux-2.6.32.5'

A distcc client verbose log is attached, the server verbose log didn't have
anything other than startup messages, I guess it never got to the point
where it was farming jobs off, just doing local compiles.

NB: I also use ccache, in the path before distcc.  Leaving it in or taking it
out doesn't have any impact on this problem for me.