1 |
First, basic definitions. |
2 |
|
3 |
distcc ==> compile on machine A for machine B. No mention of whether |
4 |
the processors are different architectures. |
5 |
|
6 |
cross-compile ==> compile under architecture A for architecture B |
7 |
|
8 |
I'm trying to run a distccserver in a 32-bit VM on a 64-bit host, for |
9 |
the benefit of my ancient 32-bit-only netbook. Yeah, "it'll work" using |
10 |
the native 64-bit host OS. But any stuff that links against 32-bit |
11 |
libraries is going to be sent back to the netbook to compile locally. |
12 |
That defeats the whole purpose of distcc. This is why I want the 32-bit |
13 |
VM to compile for the 32-bit Atom. Here's the launch script for the |
14 |
32-bit VM on the i3 machine... |
15 |
|
16 |
#!/bin/bash |
17 |
qemu-system-i386 -enable-kvm \ |
18 |
-cpu host -display gtk \ |
19 |
-drive file=gentoo32.img,format=raw \ |
20 |
-drive file=linuxswap.img,format=raw \ |
21 |
-net nic,model=virtio \ |
22 |
-rtc base=localtime,clock=host \ |
23 |
-net user,hostname=gentoovm,hostfwd=tcp::2022-:22,hostfwd=tcp::3632-:3632,hostfwd=udp::3632-:3632 \ |
24 |
-m 3G -name "Gentoo VM" \ |
25 |
-parallel none \ |
26 |
${@} |
27 |
|
28 |
Amongst other things, it forwards port 3632 destined for the host, to |
29 |
the VM. "ssh -p 2022 root@192.168.123.249" works from the Atom to the |
30 |
VM. I get an ssh teminal. There's no iptables blocking things, and |
31 |
distccd is running on the VM (it's in the default rc-update level). Yet |
32 |
the Atom spits out stuff like... |
33 |
|
34 |
distcc[8248] (dcc_pump_sendfile) ERROR: sendfile failed: Broken pipe |
35 |
distcc[8248] (dcc_writex) ERROR: failed to write: Broken pipe |
36 |
distcc[8248] Warning: failed to distribute shell.c to 192.168.123.249/6,lzo,cpp, running locally instead |
37 |
|
38 |
...when trying to outsource the compile. What am I doing wrong? |
39 |
|
40 |
-- |
41 |
Walter Dnes <waltdnes@××××××××.org> |
42 |
I don't run "desktop environments"; I run useful applications |