[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