When compiling from source, is this safe?

I'm a very new BSD user, and I am not used to compiling from source very well. I know the traditional way, but not with using the ports. Every now and then, when I am compiling, I get some compilation flags to enable or disable in an ncurses window. Is it safe to not change those? Half the time I don't understand how they affect compilation, and I find them pretty confusing for a new guy like me.
 
When I first installed FreeBSD, I changed a bunch of them and ran into problems later on that were hard to track down for a new user. You're better off leaving defaults and only enabling stuff you need, until you get how your system is coming together and what those flags are doing as far as dependencies and performance etc. Some flags will break compiles, or pull 500mb of dependencies, or enable less stable "features".

You can always recompile later! Make sure to use portmaster so you can resume builds and manage upgrades easily. It's in /usr/ports/ports-mgmt/portmaster
 
that ncurses screens let you change compilation options automatically. unsecure or buggy options, are, almost all, clearly notified(theoretically, if not, mailing lists, the handbook and this forums can guide you). some options are very useful. take a moment to think what of those you really need. a good feature of this port tree is
Code:
# make config-recursive
; allows you to configure all(almost) port dependencies, before start building;
Code:
#make package
is fabulous too. you can compile and make packages automatically for use with pkg_add, and it's possible to make several packages of your ports with various config options, or you can save time storing this packages for a further installation/reinstallation or when you are maintaining several machines with same configs/features. you can also use portaudit for get security information about ports

http://www.freebsd.org/doc/es/books/handbook/security-portaudit.html
 
ColdfireMC said:
that ncurses screens let you change compilation options automatically. unsecure or buggy options, are, almost all, clearly notified(theoretically, if not, mailing lists, the handbook and this forums can guide you). some options are very useful. take a moment to think what of those you really need. a good feature of this port tree is
Code:
# make config-recursive
; allows you to configure all(almost) port dependencies, before start building;
Code:
#make package
is fabulous too. you can compile and make packages automatically for use with pkg_add, and it's possible to make several packages of your ports with various config options, or you can save time storing this packages for a further installation/reinstallation or when you are maintaining several machines with same configs/features. you can also use portaudit for get security information about ports

http://www.freebsd.org/doc/es/books/handbook/security-portaudit.html

I use config-recursive as well and second it's usage to the op. portaudit (as well as setting up periodic() is also essential for new users to grok.

As far as port specific knobs and flags are concerned the best way to learn is to leave the defaults as wblock suggested.

As new users become familiar with what they need and what the flags and knobs to use they within a specific within each port they install then customization is essential.

Some flags I always removed where X11 related flags as well as ipv6 ones. Though ipv6 is something of a preference at this point as it's becoming more common.

Of course if you want X11 (because your on a desktop running x-windows) then of course you'll want some ports to support that. There are many ports which make it easier though a sort of a meta port (example: editors/vim allows x11 to be toggled to support gvim through x-windows whereas editors/vim-lite acts as a meta ports saving the step of specifically telling editors/vim to build without x11 support --- This can be viewed in the editors/vim-lite Makefile whereas it actually includes the Makefile for editors/vim via the code:
Code:
MASTERDIR=      ${.CURDIR}/../vim
 
Back
Top