# How to avoid compiling orgies for new packages



## YtterbiumYAG (Feb 16, 2014)

Hello,

I´m a very beginner in using FreeBSD and I have problems to understand the package installation guidelines.
I´m using FreeBSD 10 and installed the portstree und made an update an so on and I´m ready to install ports, but the main problem ist to get control over the installation process of ports? Typing "make install clean" is easy, but how can I figure out what settings to set in the blue configuration popups, that appear for the port and all the following dependencies? I dont know how to get some information on what I need and what not. For example I only want to install a small samba server nothing more, so I changed to to the /usr/ports/net/samba41 and startet the installation. There are about 15 properties I can configure on samba so where can I get the information about what every single enrty means? To find it out on the internet I pressed the "cancel" button the installation started anyway. Thats the first thing. At least for me "cancel" means "cancel" not "start the installation"  x(. And from now on it seems the portinstaller is installing everything it can find followed by tens of new popups with new configuration settings for every damned lib which is supposedly needed. Even if I would know where to get the configuration information of every lib from the dependecies it is impossible to read everthing to find out what is needed and what not?! While I´m writing this post the portmanager installed exactly 72! libs and tools just to get samba working? I really cannot belive that. Python for example is a script language, what for is that needed to get samba working?

Here is the list of what "samba" would like to use to get working

```
http://www.samba.org/
===>  Cleaning for p5-Parse-Pidl-4.0.13
===>  Cleaning for talloc-2.0.8
===>  Cleaning for tevent-0.9.18
===>  Cleaning for tdb-1.2.12,1
===>  Cleaning for ldb-1.1.16
===>  Cleaning for python27-2.7.6_2
===>  Cleaning for pkgconf-0.9.4
===>  Cleaning for popt-1.16
===>  Cleaning for libinotify-20110829
===>  Cleaning for cyrus-sasl-2.1.26_4
===>  Cleaning for libgcrypt-1.5.3
===>  Cleaning for gnutls-2.12.23_3
===>  Cleaning for libsunacl-1.0
===>  Cleaning for avahi-app-0.6.31_1
===>  Cleaning for cups-client-1.5.4_1
===>  Cleaning for gamin-0.1.10_6
===>  Cleaning for openldap-client-2.4.38
===>  Cleaning for samba-nsupdate-9.8.6
===>  Cleaning for p5-Parse-Yapp-1.05
===>  Cleaning for python2-2_2
===>  Cleaning for libtool-2.4.2_2
===>  Cleaning for libgpg-error-1.12
===>  Cleaning for nettle-2.7.1
===>  Cleaning for p11-kit-0.20.1
===>  Cleaning for libtasn1-3.3
===>  Cleaning for intltool-0.50.2
===>  Cleaning for expat-2.1.0
===>  Cleaning for libdaemon-0.14
===>  Cleaning for dbus-glib-0.100.2
===>  Cleaning for gdbm-1.11
===>  Cleaning for glib-2.36.3_1
===>  Cleaning for pcre-8.34
===>  Cleaning for gobject-introspection-1.36.0_2
===>  Cleaning for gnome_subr-1.0
===>  Cleaning for gmp-5.1.3
===>  Cleaning for ca_root_nss-3.15.4
===>  Cleaning for p5-XML-Parser-2.41_1
===>  Cleaning for dbus-1.6.18
===>  Cleaning for cairo-1.10.2_7,2
===>  Cleaning for bison-2.7.1,1
===>  Cleaning for gnomehier-3.0
===>  Cleaning for libICE-1.0.8,1
===>  Cleaning for libSM-1.2.2,1
===>  Cleaning for libX11-1.6.2,1
===>  Cleaning for libxml2-2.8.0_3
===>  Cleaning for xcb-util-renderutil-0.3.8
===>  Cleaning for pixman-0.32.4
===>  Cleaning for libXrender-0.9.8
===>  Cleaning for freetype2-2.5.2
===>  Cleaning for png-1.5.18
===>  Cleaning for fontconfig-2.11.0_1,1
===>  Cleaning for xtrans-1.3.2
===>  Cleaning for xorg-macros-1.18.0
===>  Cleaning for xproto-7.0.25
===>  Cleaning for bigreqsproto-1.1.2
===>  Cleaning for xcmiscproto-1.2.2
===>  Cleaning for xextproto-7.2.1
===>  Cleaning for kbproto-1.0.6
===>  Cleaning for inputproto-2.3
===>  Cleaning for xf86bigfontproto-1.2.0
===>  Cleaning for libXau-1.0.8
===>  Cleaning for libXdmcp-1.1.1
===>  Cleaning for libxcb-1.9.3
===>  Cleaning for xcb-util-0.3.9_1,1
===>  Cleaning for renderproto-0.11.1
===>  Cleaning for cmake-2.8.12.1
===>  Cleaning for libcheck-0.9.12
===>  Cleaning for xcb-proto-1.9
===>  Cleaning for libpthread-stubs-0.3_4
===>  Cleaning for libxslt-1.1.28_1
===>  Cleaning for cmake-modules-2.8.12.1_1
===>  Cleaning for samba41-4.1.4_1
```

OK, so the main questions are:
1. Where can I get some information about configuring ports an properties?
2. How can I avoid this compilation orgies and find out what I really need and what not?
3. Why does the cancel-Button in the configuration menu does not its job?
4. I would like to keep my system as clean as possible. How can I ensure that? See Q.2 also.
5. Can somebody help me to find the right settings for the samba installation and configuration?
   (Only a small thin server installation for simple read write operation in a small home network windows 7/8 to 
    freebsd server)

So as you can see in the end everything is about how and where to get information, and to find out where to start reading. Maybe one of the experts here can help a little bit. Please be patient with me. I am not an english native speaker and a very beginner in freebsd and unix-like OS  .

Thnak you
yyag


----------



## ondra_knezour (Feb 16, 2014)

What you need and what not depends on your usage and given software, so here probably does not exist proper general advice better than check manual, the Samba one in this case.

Regarding configuration
- Cancel cancels only configuration dialog, if you want to cancel whole build/install, pres Control+C 
- You can configure everything before build with command `make config-recursive` or accept given default settings with `make BATCH=yes`

About dependencies - you are going to build/compile Samba, so you need to have requisited tools installed, which will be also compiled, which may need another tools installed etc. Here you can install and use the ports-mgmt/portmaster tool, which have options to download the build-only dependencies and optionally remove them after installation. Or just start with precompiled package (if exists) `pkg search samba` and if you find what you want then `pkg install samba41`.


----------



## wblock@ (Feb 16, 2014)

Leave the options at their defaults unless you have a specific reason to change them.  If the short descriptions are not enough, a web search on the abbreviation or description is probably the quickest way to get more information.


----------

