Imagine you have to install an important package on a remote server to finish your project with deadline around the corner. What do you do? Just the good old sudo apt-get install ... does the magic but only if you have root access; something that system admins are unlikely to provide you with.

Recently, this was literally the problem that was rather rampart in our group as students required many different frameworks to be installed on the HPC of the university. Ofcourse it is easier to install everything from the source but this increases the risk of being needlessly stuck in the dependency hell.

A good example of this is the framework Theano which needs python which needs openssl and so on…

Solution

Linuxbrew which is based on the the same concepts. The biggest advantage of Linuxbrew (and homebrew as well) is that you do not need root access to install the packages.

So case-closed?

Not exactly…the Linuxbrew has some dependencies of its own which unfortunately needs to be tackled manually. This post intends to tackle this issue in detail.

Linuxbrew, thankfully, has only few dependencies, namely: Ruby, GCC and Git. Most of the linux based servers and systems should already satisfy these dependencies. To be on the safe side, check that they are above the minimal version that are currently required by Linuxbrew i.e.

  • GCC 4.4 or newer
  • Linux 2.6.16 or newer
  • Normal Git

That should more or less the life more simpler without having the root access :)