[distcc] Missing Files: Kernel Compile

Steve Hay hays at rpi.edu
Sat Jan 18 14:55:01 GMT 2003


I have compiled the 1.0 release of distcc on my slack box and got an 
error about the multiline printf in dopt.c (line 113-114) (using gcc 3.2.)

gcc -g -O2 -W -Wall -Wshadow -Wpointer-arith -Wcast-align 
-DHAVE_CONFIG_H -I./popt -I./src  -c -o src/dopt.o src/dopt.c
In file included from src/dopt.c:45:
popt/popt.h:444: warning: type qualifiers ignored on function return type
src/dopt.c:114:1: directives may not be used inside a macro argument
src/dopt.c:113:1: unterminated argument list invoking macro "printf"
src/dopt.c: In function `distccd_show_usage':
src/dopt.c:117: parse error before string constant

So, I commented out this printf and got it to compile, since it did was 
print help.

Then I tried to compile distcc with distcc.  It worked. (using 
$DISTCC_HOSTS='localhost').

Then, I tried the vanilla linux kernel with "make -j2 CC='distcc' ".. 
 This error persists (I am doing the proper make mrproper oldconfig dep 
&& make) [ same error with simpler make CC='distcc' ]

distcc -D__KERNEL__ -I/usr/src/linux-2.4.20/include -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon    
-nostdinc -iwithprefix include -DKBUILD_BASENAME=sched  
-fno-omit-frame-pointer -c -o sched.o sched.c
In file included from /usr/src/linux-2.4.20/include/linux/wait.h:13,
                 from /usr/src/linux-2.4.20/include/linux/fs.h:12,
                 from /usr/src/linux-2.4.20/include/linux/capability.h:17,
                 from /usr/src/linux-2.4.20/include/linux/binfmts.h:5,
                 from /usr/src/linux-2.4.20/include/linux/sched.h:9,
                 from /usr/src/linux-2.4.20/include/linux/mm.h:4,
                 from sched.c:23:
/usr/src/linux-2.4.20/include/linux/kernel.h:10:20: stdarg.h: No such 
file or directory
In file included from /usr/src/linux-2.4.20/include/linux/wait.h:13,
                 from /usr/src/linux-2.4.20/include/linux/fs.h:12,
                 from /usr/src/linux-2.4.20/include/linux/capability.h:17,
                 from /usr/src/linux-2.4.20/include/linux/binfmts.h:5,
                 from /usr/src/linux-2.4.20/include/linux/sched.h:9,
                 from /usr/src/linux-2.4.20/include/linux/mm.h:4,
                 from sched.c:23:
/usr/src/linux-2.4.20/include/linux/kernel.h:74: parse error before 
"va_list"
/usr/src/linux-2.4.20/include/linux/kernel.h:74: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.20/include/linux/kernel.h:77: parse error before 
"va_list"
/usr/src/linux-2.4.20/include/linux/kernel.h:77: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.20/include/linux/kernel.h:81: parse error before 
"va_list"
/usr/src/linux-2.4.20/include/linux/kernel.h:81: warning: function 
declaration isn't a prototype
make[2]: *** [sched.o] Error 1

It still compiles with just the regular CC.

It should be noted that I compiled my own gcc 3.2 so I have two versions 
of compilers on the system.  Still this should not be a problem in 
principle but it worth mentioning.

It should also be noted that I can use this node from another computer. 
 So on my gentoo box I can run distcc, using the slack box as one of the 
nodes, and everything seems to work perfectly.  I've tried compiling 
distcc with both versions of compilers and get the same behaviour 
(except only 3.2 that complains about the multiline printf initially 
mentioned).





More information about the distcc mailing list