[distcc] ICC 7.0 and distcc

Akim Demaille akim at epita.fr
Wed Jun 25 17:23:32 GMT 2003

| But when I used distcc, all is lost with the -MD flags
| | /tmp % distcc /home/lrde/lrde/usr/bin/icc -Kc++ error.cc  -c     nostromo 18:58
| | error.cc(2): error: function "foo" has already been defined
| |   int foo () { return 1;}
| |       ^
| | 
| | compilation aborted for /tmp/distcc_106/server_0000031068.ii (code 2)
| | distcc[31066] ERROR: compile on nostromo failed with exit code 2
| | /tmp % distcc /home/lrde/lrde/usr/bin/icc -Kc++ error.cc  -c -MD -MF foo.Po   
| | /tmp %
| If someone has an idea...

Actually, I'm not sure one can get both a CPP output together with
dependencies.  Distcc wants -E, and Automake wants -MD -MF:

-M         generate makefile dependency information
-MM        similar to -M, but do not include system header files
-MG        similar to -M, but treat missing header files as generated files
-MD        preprocess and compile, generating output file containing
           dependency information ending with extension .d
-MMD       similar to -MD, but do not include system header files
-MF<file>  generate makefile dependency information in file (must specify -M
           or -MM)

It results in:

/tmp % cat correct.cc                                            nostromo 19:21
int foo () { return 1;}
/tmp % /home/lrde/lrde/usr/bin/icc -Kc++ -E correct.cc           nostromo 19:22
#line 1 "correct.cc"
int foo () { return 1;}
/tmp % /home/lrde/lrde/usr/bin/icc -Kc++ -E -MD -MFoutput.d correct.cc
/tmp % cat output.d                                              nostromo 19:22
correct.o: correct.cc

I did not find a means to get the -E part...

/tmp % /home/lrde/lrde/usr/bin/icc -Kc++ -MD -MFoutput.d -E -o output.i correct.cc                                                                             
/tmp % cat output.i                                              nostromo 19:23
cat: output.i: No such file or directory

More information about the distcc mailing list