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).