Skip to content
Advertisement

Why do I get permission denied when I try use “make” to install something?

I’m trying to install something and it’s throwing me an error: Permission denied when I try to run make on it.

I’m not too fond of the universal rules of unix/linux and not too fond of user rights either. My best guess is that the user I’m logged in as does not have the privileges to run make commands, but hopefully it’s something else that’s not permitting me to install.

Why do I get Permission denied and what should I check or configure in order to attempt permission be granted?

EDIT

Error Message:

gcc -I. -O3 -o pp-inspector  pp-inspector.c
make: execvp: gcc: Permission denied
make: [pp-inspector] Error 127 (ignored)
gcc -I. -O3 -c tis-vnc.c -DLIBOPENSSL -DLIBOPENSSLNEW -DLIBIDN -DHAVE_PR29_H -DLIBMYSQLCLIENT -DLIBPOSTGRES -DHAVE_MATH_H -I/usr/include/mysql
make: execvp: gcc: Permission denied
make: *** [tis-vnc.o] Error 127

Advertisement

Answer

On many source packages (e.g. for most GNU software), the building system may know about the DESTDIR make variable, so you can often do:

 make install DESTDIR=/tmp/myinst/
 sudo cp -va /tmp/myinst/ /

The advantage of this approach is that make install don’t need to run as root, so you cannot end up with files compiled as root (or root-owned files in your build tree).

Advertisement