[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ICC 7.0 and distcc
From: |
Akim Demaille |
Subject: |
ICC 7.0 and distcc |
Date: |
Wed, 25 Jun 2003 19:00:48 +0200 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) |
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...