1 |
On Sat, 2 Jan 2016 10:42:31 +0000 Neil Bothwick wrote: |
2 |
> On Fri, 1 Jan 2016 22:11:34 -0500, waltdnes@××××××××.org wrote: |
3 |
> |
4 |
> > I'm trying to run a distccserver in a 32-bit VM on a 64-bit host, for |
5 |
> > the benefit of my ancient 32-bit-only netbook. Yeah, "it'll work" using |
6 |
> > the native 64-bit host OS. But any stuff that links against 32-bit |
7 |
> > libraries is going to be sent back to the netbook to compile locally. |
8 |
> > That defeats the whole purpose of distcc. This is why I want the 32-bit |
9 |
> > VM to compile for the 32-bit Atom. Here's the launch script for the |
10 |
> > 32-bit VM on the i3 machine... |
11 |
> |
12 |
> I used to take a different approach. Instead of a VM I used a chroot |
13 |
> that was a clone of the netbook, except that make.conf in the chroot |
14 |
> included buildpkg in FEATURES and the netbook's make.conf have --usepkg in |
15 |
> DEFAULT_OPTs. PKGDIR was an NFS share accessible to both. |
16 |
|
17 |
Similar solution here, but instead of cloning, I NFS-mount root |
18 |
from slow system using filescached to speedup I/O process and |
19 |
placing all volatile data (/tmp, /var/tmp) either in local memory |
20 |
or on fast local storage. This way there is no need to make manual |
21 |
modifications twice or synchronize them somehow (e.g. when |
22 |
modification of package.use or package.license during update is |
23 |
needed). |
24 |
|
25 |
I must warn that such approach should not be used for packages |
26 |
using build-time profiling, like sci-libs/atlas or any ebuild with |
27 |
USE="pgo" enabled; otherwise profiling will be wrong and targeted |
28 |
on helper system instead of target box. In such cases distcc may be |
29 |
used. |
30 |
|
31 |
For 32-bit distcc on 64-bit host there is no need to chroot or |
32 |
create VM (hey, they're hellishly slow!). Just add -m32 to your |
33 |
*FLAGS to force 32-bit arch. (In some rare cases ebuild ignores |
34 |
{C,CXX,F,FC}FLAGS, while this is a bug and should be fixed, this |
35 |
can be worked around on distcc server by forcing -m32 for each |
36 |
gcc call. |
37 |
|
38 |
Best regards, |
39 |
Andrew Savchenko |