Casey Bralla via plug on 4 Oct 2020 00:59:26 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Distcc


I had a "brilliant" idea tonight.   I'll try creating a virtualbox machine with the same CFLAGS, CHOST, CPUFLAGS, and ACCEPT_KEYWORDS that the client uses.  But the virtual box will be given all the host cores and lots of RAM.  Then this virtualbox will be set as the volunteer.  Like you said, I cannot use the "-march=native" flag in the volunteer.

In my case, I'm trying to install Gentoo on a Pentium III with only 512 MBytes RAM (which is a pretty ridiculous thing to try anyway),  Compiling the kernel takes 4+ hours.

I'll report on my progress (or lack thereof).

Casey


On 10/3/20 9:16 PM, Soren Harward via plug wrote:
I feel your pain.  I have a 8-core Xeon E desktop, and a 2-core Core2 laptop, both running Gentoo.  I used distcc from the laptop to the desktop for a couple months, but eventually gave up because of too many random compile or runtime errors.

If you use the '-march=native' flag in GCC, which you probably do, then your build may fail and/or the program may crash because part of it has been compiled with CPU features for the Ryzen that don't exist on the laptops.  There are some kludges where you can replace the '-march=native' flag with the explicit flags for the "client" machine.  But even when I tried that, I still got some unexpected crashes that went away after a non-distcc recompile.

I've gotten distcc to work reliably only in two use cases: (1) offloading *all* compiles from one machine to a machine of a completely different architecture (cross-compiling for a RPi on a x86-64 desktop), and (2) completely homogeneous systems (a lab with identical computers).


On Sat, Oct 3, 2020 at 8:13 PM Casey Bralla via plug <plug@lists.phillylinux.org> wrote:
Has anyone on this list tried distributed cross compiling?

I'm a die-hard Gentoo user and I've got several old laptops that I want
to run Gentoo on.  I've (mostly) been successful installing Gentoo on
them, but things would go a LOT faster if I could cross compile using my
Ryzen 7 system to help.

Gentoo has a reasonably good wiki on distributed compiling, but it's
gets a little fuzzy when the server (or "volunteer") machine has a
different processor than the "client".  Based on what I've been able to
determine, cross compiling tends to be something of black art anyway.

For example, I'm confused by building a Gentoo toolchain on the
volunteer for the client, and how to set it up.

If anyone on this list has done this, would you mind giving me a hand
off-list?

TIA!

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug


--
Soren Harward

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug