On Sat, 2 Jan 2016 10:42:31 +0000 Neil Bothwick wrote:
> On Fri, 1 Jan 2016 22:11:34 -0500, waltd...@waltdnes.org wrote:
> 
> >   I'm trying to run a distccserver in a 32-bit VM on a 64-bit host, for
> > the benefit of my ancient 32-bit-only netbook.  Yeah, "it'll work" using
> > the native 64-bit host OS.  But any stuff that links against 32-bit
> > libraries is going to be sent back to the netbook to compile locally.
> > That defeats the whole purpose of distcc.  This is why I want the 32-bit
> > VM to compile for the 32-bit Atom.  Here's the launch script for the
> > 32-bit VM on the i3 machine...
> 
> I used to take a different approach. Instead of a VM I used a chroot
> that was a clone of the netbook, except that make.conf in the chroot
> included buildpkg in FEATURES and the netbook's make.conf have --usepkg in
> DEFAULT_OPTs. PKGDIR was an NFS share accessible to both.

Similar solution here, but instead of cloning, I NFS-mount root
from slow system using filescached to speedup I/O process and
placing all volatile data (/tmp, /var/tmp) either in local memory
or on fast local storage. This way there is no need to make manual
modifications twice or synchronize them somehow (e.g. when
modification of package.use or package.license during update is
needed).

I must warn that such approach should not be used for packages
using build-time profiling, like sci-libs/atlas or any ebuild with
USE="pgo" enabled; otherwise profiling will be wrong and targeted
on helper system instead of target box. In such cases distcc may be
used.

For 32-bit distcc on 64-bit host there is no need to chroot or
create VM (hey, they're hellishly slow!). Just add -m32 to your
*FLAGS to force 32-bit arch. (In some rare cases ebuild ignores
{C,CXX,F,FC}FLAGS, while this is a bug and should be fixed, this
can be worked around on distcc server by forcing -m32 for each
gcc call.

Best regards,
Andrew Savchenko

Attachment: pgpDx8p1e6tpV.pgp
Description: PGP signature

Reply via email to