Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
As no one seems to be able to help me with this, pls can somebody tell me what is "execvp" and where is it normally located so I can check permissions etc. thx.
Last edited by jules_fraser; 04-08-2004 at 04:44 PM.
Thanks for this LL, but the doc does not tell me where this exe is located. I need to know why http does not start and reports error: Starting httpd: execvp: Permission denied.
Distribution: OpenBSD 4.6, OS X 10.6.2, CentOS 4 & 5
Posts: 3,660
Rep:
No no no, execvp is not a file, it's a function. It's trying to replace a running process with another, but failing because it doesn't have permission.
If you would look in the Errors section of the document that is linked, you would see (among other things):
Quote:
EACCESS
The calling process doesn't have permission to search a directory listed in file, or it doesn't have permission to execute file, or file's filesystem was mounted with the ST_NOEXEC flag.
I have just installed Apache2 and have just looked in both /etc/httpd/conf and /usr/local/apache2/conf and cannot find this file. But the error is "permissions denied" and so I am assuming that httpd must be calling it from somewhere. I have attached my /etc/init.d/httpd file to see if you can see where I may be going wrong. I changed the path for the modules and /etc/httpd, but this has not worked:
# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/local/apache2/bin/apachectl
httpd=/etc/httpd
prog=httpd
RETVAL=0
# Find the installed modules and convert their names into arguments httpd
# can use.
moduleargs() {
moduledir=/usr/local/apache2/modules
moduleargs=`
Should I change the path of: /etc/httpd to /usr/local/apache2?
Distribution: OpenBSD 4.6, OS X 10.6.2, CentOS 4 & 5
Posts: 3,660
Rep:
The Apache binary is usually not located in /etc (that's not for binaries!) Probably the error you're getting is the result of the file you're trying to execute not being executable, or the file system is mounted with noexec (see above). Usually if /etc mounted from it's own partition, noexec is set. Additionally I highly doubt /etc/httpd is the actual binary (it should be in /usr/local/bin, or some place very similar).
Pls advise exactly what directories, bar /usr/local/apache2 and files that I should scrap in order to do a complete new install of Apache? Whenever I just get shot of Apache2, I always have this same problem.
I have done a very basic install this time around and cannot understand what exactly this execvp process is calling. Best to start afresh because we are just going around in circles here and I am none the better for it.
The last entry in /var/log/httpd/error_log was dated January 13, there has been nothing since then. I have also checked out/usr/sbin/httpd but the directory does not exist!
This is not something that I have to add in myself is it?
Am using Apache v 2.0.47.
./configure (default options)
make
make install
No i dont think u ahve to add it but at the red hat mailing list i read some time back, this fellow also had the same problem as u do, but he could start apache by issuing the command.
Distribution: OpenBSD 4.6, OS X 10.6.2, CentOS 4 & 5
Posts: 3,660
Rep:
Some how you lost the binary file (perhaps you moved things around incorrectly?). Next time you want to know where something is, try
# find / -name "httpd"
(or substitute the file you're trying to find in place of "httpd")
You'll probably want to output that to a file with >/tmp/findresults.txt or something like that, or pipe it to less with |less. If you think you found the right file, do an ls -l /path/file and see if it has 'x' set in it's permissions, i.e. execute. That's not a sure-fire way to determine if it's the right file, but it will get you started in the right direction.
BTW there are more sophisticated ways to do the above, but that's the 30 second off-the-top-of-my-head version.
Basically what I think was happening was you were trying to execute either a plain text file or a directory.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.