[distcc] ICC 7.0 and distcc
Akim Demaille
akim at epita.fr
Wed Jun 25 17:00:48 GMT 2003
I make some progress understanding why I find it hard to use Icc with
distcc. I face several problems, some of them might be already known.
Currently, I use the following wrapper to make sure Icc understands
what .ii is about:
/tmp % cat =icc nostromo 18:54
#! /bin/sh
# ICC needs to be taught that *.ii is C++.
# The wonderful news is that:
#
# % /home/lrde/lrde/usr/bin/icc I-dont-exist
# ld: cannot open I-dont-exist: No such file or directory
# % /home/lrde/lrde/usr/bin/icc -c I-dont-exist
#
# icc per se does not complain about missing files... That's
# why understanding the problems takes so long....
case "$@" in
*.cc*|*.cpp*) set -- -Kc++ "$@" ;;
esac
exec /usr/bin/distcc /home/lrde/lrde/usr/bin/icc "$@"
But I face another problem, related to Automake's depcomp. I don't
know if the issue is known:
| /tmp % cat error.cc nostromo 18:55
| int foo () { return 1;}
| int foo () { return 1;}
A broken source.
| /tmp % /home/lrde/lrde/usr/bin/icc error.cc -c nostromo 18:55
| error.cc(2): error: function "foo" has already been defined
| int foo () { return 1;}
| ^
An expected failure when attacking directly the compiler.
| /tmp % /home/lrde/lrde/usr/bin/icc error.cc -c -MD -MF foo.Po nostromo Err 2
| error.cc(2): error: function "foo" has already been defined
| int foo () { return 1;}
| ^
Likewise with Automake's flags to compute the dependencies.
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...
More information about the distcc
mailing list