When using distcc in a cross platform environment the remote machines can use the incorrect gcc if they are a different architecture. Distcc uses the same name for the compiler on the remote machine as it does on the local machine. Emerge currently uses gcc as the compiler name. The remote gcc is not always for the same arch. If the full name is used for gcc (eg sparc-unknown-linux-gnu) the remote machine will then use the correct gcc even if it is a different arch. Reproducible: Always Steps to Reproduce: 1. local machine sparc-unknown-linux-gnu, remote machine i686-pc-linux-gnu 2. emerge <package> 3. Actual Results: The build will fail because the i686 machine used gcc instead of sparc-unknown-linux-gnu. Expected Results: If the emerge line is changed to CC=sparc-unknown-linux-gnu emerge <package> this will force the use of the full compiler name and the package should now compile because the remote machine gets handed the correct compiler name to use. If the full compiler name was used by portage (in this case sparc-unknown-linux-gnu-gcc instead of gcc) then emerge <pakcage> should then work because the remote machine now uses the correct compiler with out the user having to know the full compiler name.
Apparently, the correct form is to specify CC=$CHOST-gcc when you give emerge. (Yes, it's a little annoying) Ref: http://bugs.gentoo.org/show_bug.cgi?id=17237 and others... Jesu
What I had done was modify my /etc/env.d/gcc/i686-pc-linux-gnu-3.2.2 I put the fully qualified gcc name for CC and CXX. Followed by gcc-config i686-pc-linux-gnu-3.2.2 && . /etc/profile This way the use of the full name was automatic. Distcc cross platform now works transparently for me.
I'm stealing this bug because 1) Nick has enough on his plate and 2) this is a bug that can be fixed with the new version of gcc-config I am working on. I am blocking this bug with that one and I'll add some functionality to address this directly.
is this a dead bug?
comment #2 covers it all i believe which leads us to Bug 29558