While the basic Ubuntu installation already includes the GNU C/C++ compiler, it's not nearly complete. Missing are important header files which fall under the
sudo apt-get install build-essential
build-essentialis actually just a list of additional packages that Ubuntu pulls down from the repositories, not the files themselves. In total, the packages come out to around 30MB.
The files are:
libc6-dev | libc0.3-dev | libc6.1-dev | libc-dev
g++, but we'll ignore it since
libc6-devis used for non-C++ programs too.
gcc (>= 4:4.1.1)
g++ (>= 4:4.1.1)
dpkg-dev, but make does warrant its own dependency since debian/rules will need it even if dpkg-dev stopped depending on it
dpkg-dev (>= 1.13.5)