# distcc on different machines with different architectures



## michaelmichael (Feb 14, 2014)

Hi,

I have one machine running FreeBSD 9.2 amd64 as dedicated server with lots of CPU power and RAM and a small netbook running FreeBSD 10.0 i386. Now I want to build some ports on the netbook - with the help of the big machine, but somehow I could not manage to actually distribute builds from the netbook to the big machine. Now I have some doubts:

Is it possible to use devel/distcc with one machine running amd64 and another one running the i386 version of FreeBSD? Also, will it matter if one machine has FreeBSD Release 9.2 and the other one 10.0? I have not found anything explicit in the manuals or forums stating this.

If not, can I have two distcc "networks" on the same LAN with those machines for amd64 listening on the standard port and all i386 machines listening on some other?

cheers,
Michael


----------



## SirDice (Feb 14, 2014)

*Re: distcc on different machines with different architecture*

I would try to build a 9.2-i386 jail on the 10.0-amd64 machine, then run distcc in there. That should work and both systems will run the same version and architecture.

Oh, I misread that. The smaller machine is running 10.0. In that case it's probably easier to upgrade the big machine to 10.0-amd64. You can run an older version on a new release but not the other way around. So it''s not a problem building packages for 9.2 on 10.0 but the other way around isn't going to work.


----------



## michaelmichael (Feb 14, 2014)

*Re: distcc on different machines with different architecture*

Ok, I intended to upgrade the 9.2 amd64 machine anyway, so I will do that next.
There is still a different problem with compiling to solve which I ran into when trying to set up distcc for the big machine. As long as this is not solved I do not dare to upgrade. Here is the topic: https://forums.freebsd.org/viewtopic.php?f=5&t=44905

Regarding the i386 jail as a build server; I like the idea, so I could actually create build jails for more architectures like ARM as well?
However, the ARM build jail would be a cross-compiler setup (which I have no clue of), but would the i386 build jail?


----------



## SirDice (Feb 16, 2014)

*Re: distcc on different machines with different architecture*



			
				michaelmichael said:
			
		

> Regarding the i386 jail as a build server; I like the idea, so I could actually create build jails for more architectures like ARM as well?
> However, the ARM build jail would be a cross-compiler setup (which I have no clue of), but would the i386 build jail?


For building packages for i386 or other versions I suggest looking at ports-mgmt/poudriere, there are some tutorials for it in the howto section. I'm using it both at home and at work to build repositories for both i386 and amd64. and for different FreeBSD versions. 

Building for ARM is tricky. I've been looking for a good solution but only found a complicated one that uses QEMU to emulate FreeBSD-ARM and do the building there. https://wiki.freebsd.org/QemuUserModeHowTo


----------

