# Compiling everything myself?



## XMLove (Mar 17, 2009)

Hi forum

This may be a basic question, but a question non the less.

I have been using Debian for some years and have gotten tired by system freezes, having a slow system, and having a package system that _requires_ that I install every skin of KDE to get KDE up and running.

I hope FreeBSD will be better! 

What I want to know is the following: Do I get the option of fetching sources and running through a guided compilation; or do I get binaries (like Debian) only?

Thanks in advanced.


----------



## ph0enix (Mar 17, 2009)

Maybe you need Gentoo


----------



## Djn (Mar 17, 2009)

You can compile absolutely everything. 
FreeBSD has a base system / installed software split, and the tools for recompiling these are different.

On the base system side, you'd typically install a binary system, then recompile and reinstall if you so desire (essentially make buildworld / buildkernel / installkernel / installworld).
On the added software side, you can use ports to install any- and everything; that will compile it. This is also the default method, so it's well supported. (Binary packages are built from the ports system, and are a sort of added bonus.)


----------



## Erratus (Mar 17, 2009)

XMLove said:
			
		

> What I want to know is the following: Do I get the option of fetching sources and running through a guided compilation; or do I get binaries (like Debian) only?
> 
> Thanks in advanced.


You can get packages (binaries) as well as ports (source) which will be compiled. It's up to you what you like.

If you want to build everything youself, then do a minimal installation and then fetch source and build.

Maybe this helps.


----------



## SirDice (Mar 17, 2009)

XMLove said:
			
		

> What I want to know is the following: Do I get the option of fetching sources and running through a guided compilation; or do I get binaries (like Debian) only?


The handbook explains it pretty well:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html


----------

