You are not logged in.

#1 2010-06-01 00:09:33

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Cross Compiling with distcc

I have a 64-bit server and a 32-bit desktop.  I would like to run a distcc server on the 64-bit machine to cross-compile 32-bit software so my 32-bit machine can step up its guns.  I noticed that there are cross32-binutils and cross32-gcc packages in the AUR, so I assume that I can use them with distcc, but can I and how?  I want to avoid running a 32-bit chroot as much as possible (I think it's silly).

Offline

#2 2010-06-01 00:23:00

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: Cross Compiling with distcc

There's some chicanery involved in fooling distcc into using the right compiler (lots of info on google about this), but at the core of it you need either:

- a multilib toolchain (which isn't provided in arch by default)
or
- a 32-bit chroot

the 32-bit chroot is a lot easier to build and maintain.

Offline

#3 2010-06-01 00:48:48

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Cross Compiling with distcc

gaaaah, okay, I'll made a 32-bit chroot for nooooow tongue

Offline

#4 2010-06-01 02:27:35

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Cross Compiling with distcc

Okay, I got it up and running ... I have two problems though, one I posted here (not trying to double-post).

I am having the same issue.  I want to start distccd, but when I run schroot /etc/rc.d/distccd start, it says [DONE] as usual, but the daemon doesn't come up in ps -A.  if I manually chroot into /opt/arch32, I can issue the same command and it'll stay running.  I'm assuming that schroot sandboxes the environment, and when the command releases the terminal, it kills all the processes associated to it.

How can I keep daemons running when they are started by schroot?

My other issue is that dictccd only uses one core.  I have a hyperthreaded dual-core system on my server that constitutes as four cores, and when I'm in the 32-bit chroot, htop does in fact see four cores and appears to be using them.  The client machine is set to -j7 also, so it should be utilizing the 2+4(+1) cpus, but it isn't and I'm not sure why.

Offline

#5 2010-06-01 03:23:22

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Cross Compiling with distcc

Just did a test ... compiling software in the 32-bit chroot while monitoring htop does show that the 32-bit chroot is using all the cores, so the problem lies with a distcc configuration somewhere.

Offline

#6 2010-06-01 05:07:17

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Cross Compiling with distcc

Looking into it more, it looks like the client end only distributes one operation to the server, then does the rest itself.  Straaaange ...

Offline

#7 2010-06-01 06:10:44

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Cross Compiling with distcc

I manually started distccd and watched it create 6 kids, so the processes are there and ready, but the client is not giving the server work (or so it seems).  Stange though, because the client has -j7 set ...

Offline

Board footer

Powered by FluxBB