Package Management – Compile from Source vs Install from .deb Package

compilingdebpackage-management

Sometimes, when downloading software from the Internet, I find that there is a .deb package ready for either my Debian/Ubuntu and also a tarball to be compiled. In the beginning I would simply use the package for its ease of installation, and wouldn't even dare attempting to compile. Even the sound of it scared me a bit. Nowadays, however, when I have the option I sometimes find myself in a dilemma: is there an unpopular advantage to compiling from source compared with the .deb package? I hope to find out here, thank you.

Best Answer

The advantage of compiling from source is that you can compile packages with certain flags/options which may be missing/disabled in stock-standard Ubuntu packages. Also, it makes it easy to have multiple versions of the same program installed. Also, you can choose an exact version of a package which may be already removed from or not yet present in Ubuntu repositories (example: I have several versions of Python 2.4.x in my /opt/ directory as I need it to run some older software).

The disadvantage of compiling from source is that, unless you build a .deb and then install it, the normal "./configure; make; sudo make install" procedure keeps Ubuntu's package manager completely unaware of the changes you're making, so you're not going to get any updates for the manually-compiled software; and it's possible that package manager will later override/break your package if you're not careful to install it in a separate location.

In short: Always consider installing from standard Ubuntu repositories first, next consider installing a .deb; only compile from sources if you know exactly why you need to do this.

Related Question