-   Gentoo (
-   -   distcc to compile Gentoo on the laptop (

fakie_flip 06-13-2012 02:06 AM

distcc to compile Gentoo on the laptop
Hello Gentoo users, I have one of the higher end pentium 3s running at 1ghz
on a laptop. I have started to install Gentoo on it. Once Stage 3
(Hardened) and Portage were installed, the first things I installed
were vim and distcc. My desktop is a amd quad core at 2.8 ghz stock.
When I had Gentoo on it once before, compiling went really fast using
MAKEOPT=-j5. My desktop is now running Fedora 16 and it's 64-bit,
LUKS, RAID0. I looked up from the Gentoo Handbook and the Gentoo Wiki
documentation about distcc. It all seems to assume that all the other
computers are also running Gentoo. Also because the desktop is running
64-bit Fedora, and the laptop can only run 32 bit, there is the need
for cross compiling. Here's all the issues I am running into that I'm
asking for help to solve.

1. Both systems are not Gentoo.

2. Fedora has distcc and distccd available in the repos, but both
packages are 64 bit.

3. The need for cross-compiling between architectures. The Gentoo Wiki
says use crossdev. That package is available in the Gentoo
repositories through emerge, but when I checked with my Fedora system,
it was not.

4. According to what I read, gcc version a.b.c where a, b, and c are
numbers, a and b need to be the same on both systems. It is ok for c
to be different. My Gentoo has gcc 4.5.x while Fedora has gcc 4.6.x.

So my question is if this is do-able and if anybody has experience
doing this. I want to do the distcc both for the learning experience
and because just emerging distcc on the laptop alone took at least 2

i92guboj 06-14-2012 04:03 AM

In addition to the regular distcc handbook, you will need the distcc crosscompilation guide.

The thing is that, all the involved hosts must have a valid toolchain for the relevant architecture. That is easy to do in gentoo. For example, if you have a 32 bits machine and you want to compile for amd64 on it, you can probably generate a toolchain for it by emerging crossdev, and running "crossdev -pv x86_64-pc-linux-gnu" to build that toolchain, then just setup distcc to use it.

In fedora, surely there's a way to properly install and setup foreign toolchains, else you will have to do it yourself, which might be a bit complicated in some situations. Having different gcc and glibc versions never helps, certainly, but note that the gcc version that really matters to distcc is the one you'll be using for the target, which is not necessarily the one that your system brings by default.

I can't help you with fedora, because I know nothing about it.

One alternative could be to compile the given toolchain into gentoo, the quickpkg it, and then take it to your fedora machine. This might or might not work depending on a number of factors.

All times are GMT -5. The time now is 02:16 AM.