# Building Xorg + KDE4 in BATCH mode



## vist (Dec 30, 2012)

Hi, colleagues!

I have installed FreeBSD on my laptop and I am going to build Xorg + KDE4 on it. I spent several days analyzing lots of build options for Xorg, KDE and their dependencies and unserstood that it is almost impossible to learn them all...

Could you share you experience and say what will cause this type of installation for KDE4:


```
make BATCH="YES" install clean
```

I wonder if that will biuld KDE with all components, or will only biuld it with default options? So, I am trying to understand if I can easily use BATCH or it is better to learn the options and configure them all manually?


----------



## SirDice (Dec 31, 2012)

It will be build using previously set options or the defaults.


----------



## vist (Jan 1, 2013)

SirDice said:
			
		

> It will be build using previously set options or the defaults.



So, it just tells "make" utitily not to request me for options?

Is there way of automatic dependencies resolution? E.g. I enable an option in one port and I also have to enable some option in other dependent port. If I won't do it, port make will fail.


----------



## SirDice (Jan 2, 2013)

vist said:
			
		

> So, it just tells "make" utility not to request me for options?


Exactly.



> Is there way of automatic dependencies resolution? E.g. I enable an option in one port and I also have to enable some option in other dependent port. If I won't do it, port make will fail.


No, unfortunately you have to keep an eye on this yourself. Although there are a few KNOBS that are standard and work on all ports that support it, prime example of that is WITHOUT_X11.

You can set all options by running make config-recursive a number of times until it doesn't request any options anymore. You have to run it multiple times as some options may pull in additional ports. A tool like ports-mgmt/portmaster does this automatically.


----------



## vist (Jan 3, 2013)

> until it doesn't request any options anymore



Ok, so if I tick all the options for each port, will that mean, I will install, e.g. KDE4 with maximum set of options?

I mean, how can I recognize potentials conflicts? Are there options incompatible with each other? E.g. I saw PulseAudio and JET audio servers there. Sometimes I had errors during biulding ports, but I could not troubleshoot the issue because of large number of dependencies. I just reconfigured the port and built it again...


----------



## SirDice (Jan 3, 2013)

vist said:
			
		

> Ok, so if I tick all the options for each port, will that mean, I will install, e.g. KDE4 with maximum set of options?


Don't. Not all options are compatible with each other. Only enable options if you know what they do (or you need that functionality).



> I mean, how can I recognize potentials conflicts?


It will crash and burn halfway through the build 



> Are there options incompatible with each other?


Yes, that's very possible. Although the new option framework tried to improve this by adding "radiobuttons" so only one option is allowed to be selected. Unfortunately not all ports have been updated in this regard.



> E.g. I saw PulseAudio and JET audio servers there. Sometimes I had errors during biulding ports, but I could not troubleshoot the issue because of large number of dependencies. I just reconfigured the port and built it again...


When in doubt always revert to the default options. You can clear them with *make rmconfig* or *make rmconfig-recursive*, the latter will also remove the options for all dependencies.

Unfortunately a lot of the options are more or less undocumented (or quite vague). You will need to experiment a little to get the best results for what you want to do. Try not to set too many options in one go, that'll make troubleshooting difficult. Add one or two options and see what happens, if it works add some more etc. It's going to be time consuming that's for certain.


----------

