Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
up vote 14 down vote accepted

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.

share|improve this answer
I've read also, what the package performance could be different, when it's compiled, kind of better compatibility with current kernel. Didn't benchmarked it personally. – Fedir Jul 2 '12 at 14:42
@Fedir: I'm not sure kernel has anything to do with this, it's rather processor architecture - for example, in the old days many distributions contained packages compiled with 80386 instruction set for maximum compatibility while manually compiling a program for Pentium would enable it to use more efficient instructions. There are whole distributions, such as Gentoo, which are compiled from source on the host machine for this reason. The difference, however, is usually minimal and can only be noticed in very specific applications. – Sergey Jul 2 '12 at 20:59
Note that using checkinstall in place of make install alleviates a lot of the mentioned disadvantages. See – ndemou Jun 12 at 15:40

I was arguing on this just yesterday. I think it is extremely important to not build anything fragile, as it is known that there is no such as up to date and good documentation, especially when you are working with a fragile system, there will be no time to fight the fire and write documentation, and where everything is robust the documentation is not needed that much. So you should never ever compile from source, find another solution, use another software, change your architecture, but do not use something that will break after update. And yes it has no anything to do with kernel version, it is about the architecture of your machine, and in nowadays you hardly can get significant difference with compiling from the source code, I bet you will not get any.

share|improve this answer

It's certainly much easier to install the .deb, although if you can, the best bet is to find it in a repo or a ppa, so that you can be provided updates.

AFAIK there's no real benefit to compiling it yourself unless you plan to alter it first. If you just want the software as is, then install the .deb

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.