How to build application without sudo privileges?

If your users use

./configure --prefix=/home/user/opt/

Or for cmake projects

cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/

This will install the program in that prefix (instead of the default /usr/local/) and your users should then be able to run the program like this:

/home/user/opt/bin/program

If you want them to be able to run the programs by simply using the name (without full path) you need add /home/user/opt/bin to the path environment variable, edit the users .profile and add the following line:

export PATH=/home/user/opt/bin:$PATH

Note that programs installed in this way will be private to the specific user, but it's a way to do it


Users can build applications without sudo rights. The only time you need sudo rights is when you want to install something into the system directories.

./configure and make work always without sudo rights. make install usually needs sudo rights because it will install the application to /usr/local or /usr (sometimes /opt).

However, if you change the prefix for the installation path (i.e. ./configure --prefix=~/usr/local) in a way that the installation will be perform inside the user's home directory tree, no sudo rights are needed for make install.