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
.