# DistCC client-side configuration.



## freebsdinator (Oct 29, 2018)

I have an older client machine that installing large ports on is becoming less desirable. I believe I properly setup the server to use clang to compile ports following the below sources:

https://kukunotes.wordpress.com/2011/09/05/freebsd-installing-ports-via-distcc/
http://nix-addict.blogspot.com/2011/03/freebsd-distcc-ccache.html
https://forums.freebsd.org/threads/ld-complains-about-wrong-arch-when-build-ports-with-distcc.44905/

However, the client-side configuration details appear lacking. I suspect it's trivial like some sort of /etc/make.conf entry, but for the life of me, I can't figure it out. Also, I'm aware of the man page for DistCC, but i'd rather not create a "masquerade directory" if there is a better approach.

Also, what about ports that are set to compile with GCC? How would I update that on the client side? 

The last time I worked with distcc was with GCC on Gentoo a over decade ago, so please bear with me.


----------



## SirDice (Oct 29, 2018)

freebsdinator said:


> I have an older client machine that installing large ports on is becoming less desirable.


Why don't you set up one of your bigger machines with Synth or Poudriere and create a local package repository on there?


----------



## freebsdinator (Oct 31, 2018)

SirDice said:


> Why don't you set up one of your bigger machines with Synth or Poudriere and create a local package repository on there?



I finally managed to get the client configured. I'll post what I did before I mark this as solved. The Gentoo documentation was invaluable for testing (to be cited later.) Your recommendation stuck in my mind, however. Especially, since it seems Chromium does not play nice with DistCC.

Part of the reason I compile is that I have certain applications that I like stripping out pieces I don't use. IE: The classic server where I have no need for X components. However, I also have desktops which I would like to have X. Would either of those solutions allow me to have a separate Server and Desktop profile?


----------



## freebsdinator (Nov 1, 2018)

Disregard my question. 
Apparently, Synth will more than get me where I need to be. I suspect it's overkill, but it's interesting enough to look into nonetheless.

My last piece of research before committing will be looking into space requirements as it appears it builds the entire ports tree.


----------



## SirDice (Nov 1, 2018)

freebsdinator said:


> Part of the reason I compile is that I have certain applications that I like stripping out pieces I don't use. IE: The classic server where I have no need for X components. However, I also have desktops which I would like to have X. Would either of those solutions allow me to have a separate Server and Desktop profile?


Yes, definitely. I've used a very simple structure with Poudriere:

```
root@molly:~ # poudriere jail -l
JAILNAME    VERSION         ARCH  METHOD                                    TIMESTAMP           PATH
112R-server 11.2-RELEASE-p4 amd64 ftp                                       2018-10-28 16:50:06 /usr/local/poudriere/jails/112R-server
11-desktop  11.2-STABLE     amd64 url=file:///storage/release/11-stable/ftp 2018-09-17 00:43:33 /usr/local/poudriere/jails/11-desktop
11-server   11.2-STABLE     amd64 url=file:///storage/release/11-stable/ftp 2018-09-17 00:44:21 /usr/local/poudriere/jails/11-server
12-server   12.0-BETA1      amd64 url=file:///storage/release/12-stable/ftp 2018-10-21 20:57:36 /usr/local/poudriere/jails/12-server
```
The "server" jails only build specific "server" type applications like Apache, MariaDB, etc. Those packages are also built with X11 turned off. The "desktop" jails build typical desktop applications I often use.


----------

