[CMake] Re: CMake and distcc
Rodolfo Lima
rodolfo at rodsoft.org
Wed Jan 16 16:41:47 EST 2008
Eric Noulard escreveu:
> Could you explain a little more
> 0) Which version of CMake do you use?
cmake-cvs as of 2008/01/16
> 1) How did you invoke CMake with distcc?
>
> Is it something like:
> CC="distcc gcc" CXX="distcc g++" cmake
> or something different?
usually there's a directory /usr/lib/distcc/bin with symlinks to
/usr/bin/distcc, for instance:
rodolfo at home /usr/lib/distcc/bin $ ls -l
total 0
(...) c++ -> /usr/bin/distcc
(...) cc -> /usr/bin/distcc
(...) g++ -> /usr/bin/distcc
(...) gcc -> /usr/bin/distcc
(...) i686-pc-linux-gnu-c++ -> /usr/bin/distcc
(...) i686-pc-linux-gnu-g++ -> /usr/bin/distcc
(...) i686-pc-linux-gnu-gcc -> /usr/bin/distcc
One should add /usr/lib/distcc/bin as the first path in PATH environment
variable, and it's all done. distcc knows which compiler to call in each
machine looking at argv[0]. After this setup, make -jX would do the
trick, distcc would try to balance the compiler tasks to the computers
at hand.
> 2) What you are trying to do?
> Shouldn't all boxes used by distcc share their architecture?
> I mean can you use distcc with 2 boxes one being i686 and
> the other one being amd64?
> How should this work?
No, you can even use a Windows box, as long as there is a cross-compiler
to the target architecture in it. For instance, in each computer here
there's a i686-pc-linux-gcc, even if it's an amd64 box. By using the
complete compiler name, distcc will only call i686-pc-linux-gcc in every
box.
> Do you mean you CANNOT use "gcc" but a gcc cross compiler
> named like "i686-pc-linux-gnu-gcc", if yes then may be you can try
> invoking CMake like this:
>
> CC="distcc i686-pc-linux-gnu-gcc" cmake
Well, if the above setup is made, one might call:
CC="i686-pc-linux-gnu-gcc" cmake . and it'll work, but this is
suboptimal IMHO. I can't see any other bad side effect of using the
complete compiler name instead of the short one.
Regards,
rod
More information about the CMake
mailing list