Ubuntu – update software installed from source code directly

backportinstallationpackagingsource codeupdates

Though its nearly a year since I started using Ubuntu, I have not attempted installing software from source. I didn't actually find the need to do so. But now I am working on a software which is at the release candidate stage in the repositories but the latest stable version's source code is available at the software home page.

I learnt that installing from source code may be difficult if the software has many dependencies. However if I tackle that, I can be happy with the latest version. But I keep wondering if such a software can automatically update itself or will I have to run some scripts to update the package. Or still worse will I have to reinstall each update from scratch?

Also I am eager to know if there is any specific advantage of installing from source other than the above.

Best Answer

It is best to note that a software's dependencies rarely change. If you have successfully compiled the software once, any subsequent versions should be easy to compile - all dependencies should be satisfied already.

If you compiled from source, there is no .deb or similar package that you would be able to use to update, unless you wait for the distribution to include that software into their repositories, or wait until the developers' PPA is updated.

Simply put, someone has to compile it first to make it into a deb. Compiling an old version would not give you the ability to update automatically, you still have to go through the whole "download-configure-compile-install" process.

However, if you want to install the same version on multiple computers, it would make sense to package your compiled version as a .deb (or similar) and distribute it to those computers. If done right, the dependencies would be pulled into automatically.

As to the advantages of installing from source, the only two I can think of are:

  • You get access to the latest revision of the code, and you have a choice of a stable version or the cutting-edge version (usually called nightly builds, latest revision, etc.)
  • Ubuntu/other-distribution might not want to include the software into their repositories. In that case, you're stuck with the source code or packages provided by the developers or the community. That is, you have no choice but to use the sources.
Related Question